diff --git a/packages/cz-git/src/generator/option.ts b/packages/cz-git/src/generator/option.ts index 6c0aa0da4..9712d6f6f 100644 --- a/packages/cz-git/src/generator/option.ts +++ b/packages/cz-git/src/generator/option.ts @@ -13,7 +13,7 @@ import { getMinLength, ruleIsWarning, } from '../shared' -import type { CommitizenGitOptions, UserConfig } from '../shared' +import type { Answers, CommitizenGitOptions, UserConfig } from '../shared' export function generateOptions(config: UserConfig): CommitizenGitOptions { const { emoji, checkbox, czai, no_czai, cz_ainum, ___X_CMD_THEME_COLOR_CODE } = process.env @@ -21,7 +21,10 @@ export function generateOptions(config: UserConfig): CommitizenGitOptions { return { alias: promptConfig.alias ?? defaultConfig.alias, - messages: promptConfig.messages ?? defaultConfig.messages, + messages: { + ...defaultConfig.messages, + ...promptConfig.messages, + } as Answers, themeColorCode: ___X_CMD_THEME_COLOR_CODE || promptConfig.themeColorCode || defaultConfig.themeColorCode, types: promptConfig.types ?? defaultConfig.types, typesAppend: promptConfig.typesAppend ?? defaultConfig.typesAppend, diff --git a/packages/cz-git/src/generator/question.ts b/packages/cz-git/src/generator/question.ts index d352fb4fd..7c45678bd 100644 --- a/packages/cz-git/src/generator/question.ts +++ b/packages/cz-git/src/generator/question.ts @@ -95,7 +95,7 @@ export function generateQuestions(options: CommitizenGitOptions, cz: any) { type: 'complete-input', name: 'customScope', message: options.messages?.customScope, - completeValue: options.defaultScope || undefined, + completeValue: (options.defaultScope && options.defaultScope !== '___CUSTOM___') ? options.defaultScope : undefined, validate: (input: string | Array) => { if (options.allowEmptyScopes) return true @@ -106,7 +106,7 @@ export function generateQuestions(options: CommitizenGitOptions, cz: any) { return input.length !== 0 ? true : style.red('[ERROR] scope is required') }, when: (answers: Answers) => { - return answers.scope === '___CUSTOM___' + return answers.scope === '___CUSTOM___' || options.defaultScope === '___CUSTOM___' }, transformer: (input: string) => useThemeCode(input, options.themeColorCode), },