@commitlint/cz-commitlint
Version:
Commitizen adapter using the commitlint.config.js
42 lines • 1.54 kB
JavaScript
import isPlainObject from "lodash.isplainobject";
import defaultPromptConfigs from "./defaultPromptConfigs.js";
const storeKey = Symbol("promptConfig");
const store = {
[storeKey]: defaultPromptConfigs,
};
export function setPromptConfig(newPromptConfig) {
const { settings, messages, questions } = newPromptConfig;
if (messages) {
const requiredMessageKeys = Object.keys(defaultPromptConfigs.messages);
requiredMessageKeys.forEach((key) => {
const message = messages[key];
if (typeof message === "string") {
store[storeKey]["messages"][key] = message;
}
});
}
if (questions && isPlainObject(questions)) {
store[storeKey]["questions"] = questions;
}
if (settings && isPlainObject(settings)) {
if (settings["scopeEnumSeparator"] &&
!/^\/|\\|,$/.test(settings["scopeEnumSeparator"])) {
console.log(`prompt.settings.scopeEnumSeparator must be one of ',', '\\', '/'.`);
process.exit(1);
}
store[storeKey]["settings"] = {
...defaultPromptConfigs.settings,
...settings,
};
}
}
export function getPromptMessages() {
return (store[storeKey] && store[storeKey]["messages"]) ?? {};
}
export function getPromptQuestions() {
return (store[storeKey] && store[storeKey]["questions"]) ?? {};
}
export function getPromptSettings() {
return (store[storeKey] && store[storeKey]["settings"]) ?? {};
}
//# sourceMappingURL=prompts.js.map