commitizen / cz-cli

The commitizen command line utility. #BlackLivesMatter

Home Page:http://commitizen.github.io/cz-cli/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Config loader] check if config key is in package.json before accepting it as a config file

simrobin opened this issue · comments

Hello,

I'm working on a monorepo with backend and frontend and a .czrc at the directory's root to enforce commit rules with commitizen.

All frontend-related files are in a subdirectory, including the package.json file at different filesystem levels.

My issue: In a subdirectory with a package.json between pwd and git repository root, commitizen seems to acknowledge this file as a configuration file despite the lack of config.commitizen key.

Fix proposal: There seems to be a mechanism to check the package.json has a commitizen configuration, but it is commented:

findup(configs, { nocase: true, cwd: directory }, function (configPath) {
if (path.basename(configPath) === 'package.json') {
// return !!this.getContent(configPath);
}
return true;
})

I tried to uncomment it in a local version of commitizen, and it works as expected.
Would it be possible to uncomment it or does it have unwanted side effects?

For now, I'm bypassing this problem with a symlink of .czrc in my home directory, which prevails on repository config files:

ln -s /path/to/my/repository/.czrc ~/.czrc

But it's not perfect and it only works for me 🙂.