Open levino opened 4 years ago
The best way to fix this is probably to use cosmiconfig (#773)
+1 for this! I'm just configuring a monorepo at the moment, and currently this restriction means I always have to run cz
from the monorepo root, rather than anywhere within the monorepo. Considering I'm often cd
'd into one of the packages/*
in my terminal, this is a minor inconvenience.
I have a .czrc
config in the monorepo root, so it'd be cool if Commitizen recognised that, or if the .czrc
file supported an extends
parameter so I could put a .czrc
file in each package directory that points back to the root ../../.czrc
for centralisation sake.
A cleaner solution would maybe be some magic in the CLI tool that looks for a .czrc
in root of the .git
folder though, maybe?
Support for this would be awesome 🙏🏻
In a monorepo setup (like with yarn workspaces) it is not possible to install
commitizen
at the root and then use it in the packages. Being in a folder likepackages/package-1
with its ownpackage.json
an runningyarn cz
will result in the fallback "just commit" mode, even though it it properly configured in the root. This is becausecz
looks for a configuration in the next availablepackage.json
or.czrc
. If it finds any of these files it seems to stop with an error and the defaulting to commit instead of going up the ladder to the next higherpackage.json
and finding its configuration.A workaround is to copy-paste the config in all the
package.json
s but there is no reason for this strange behaviour.