cz-cli
cz-cli copied to clipboard
Can I pass the adapter config from node but not read from then package.json
Hi, thanks you for the great work.
I am trying write a new command to call the cz-cli
like the doc said.
However, I will get some error as below when I run the command if the pakcage.json
does not have the config
propery.
\node_modules\commitizen\node_modules\cz-conventional-changelog\index.js:10
defaultType: process.env.CZ_TYPE || config.defaultType,
^
TypeError: Cannot read property 'defaultType' of undefined
I want the user can just run a commit command and do not need to add package.json config. Is that possible?Someways like:
const bootstrap = require('commitizen/dist/cli/git-cz').bootstrap
const path = require('path')
bootstrap({
cliPath: path.join(__dirname, '../node_modules/commitizen'),
config: {
"path": 'cz-conventional-changelog'
},
adapter: {
"commitizen": {
"path": "cz-conventional-changelog"
}
}
})
I had same problem, I solve like this:
const bootstrap = require('commitizen/dist/cli/git-cz').bootstrap
// Set the global constant
Object.assign(process.env, {
'CZ_TYPE': ' ',
'CZ_SCOPE': ' ',
'CZ_SUBJECT': ' ',
'CZ_BODY': ' ',
'CZ_ISSUES': ' ',
'CZ_MAX_HEADER_WIDTH': 100,
'CZ_MAX_LINE_WIDTH': 100
})
bootstrap({
cliPath: path.join(__dirname, '../../node_modules/commitizen'),
// this is new
config: {
path: 'cz-conventional-changelog'
}
})
Hope to help you
@yuerbaby Thanks very much. After set the global constant, the prompt show,but it will throw a new error as below after I complete all the questions
error: pathspec 'commit' did not match any file(s) known to git.
Do you have any ideas?Thank you again.
@fancyboynet I have the same error, Do you have any fix?