Open
Description
Hi,
I'm happy to meet this tool. While running
commitizen init cz-conventional-changelog --save --save-exact
I got package.json Not Found
, but you know, git is a generic version control system and has been applied to many non-node projects, so any suggestions of using this in non-node projects?
Cheers,
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
jimthedev commentedon Jan 8, 2016
Hmm good question. The init command needs to be improved to support this scenario. It is not currently a use-case that our tests cover. It certainly could be.
For now, as a manual workaround, you need to create an empty or boilerplate package.json in the root of your non-node project. If you want to do this using the cli then you can do something like
npm init --yes
followed bycommitizen init cz-conventional-changelog --save --save-exact
. The first command creates a boilerplate package.json and the second initializes commitizen.I do expect that init will be rewritten as soon as I have some more time to devote to this project. I would be willing to help on an PRs that people want to contribute to improve the init command.
Please note that you can still use the rest of commitizen on non-node projects once you get the package.json created. This is just a limitation of the current init command.
adoyle-h commentedon Apr 7, 2016
Maybe creating a
czfile
in the root of project is better, just likegulpfile.js
. The cz-cli could read both theconfig.commitizen
from package.json and the content of czfile.nmaggioni commentedon Nov 14, 2016
I'm seconding this, commitizen is the perfect fit for many non-Node projects as well.
jimthedev commentedon Nov 14, 2016
@adoyle-h You can use a .czrc file.
rochdev commentedon Nov 29, 2016
.czrc
file doesn't seem to work in the project root though. Even for node projects I would rather not pollute mypackage.json
freemo commentedon Jun 18, 2017
+1 (x100) :)
This feature worked 6 months ago, somehow however in the last 6 months this feature disappeared. I use the following versions and because it still had this feature I could run commitizen without needing a package.json file.
npm install -g commitizen@2.8.6 cz-customizable@4.0.0
with those versions all I needed was a local .cz.json.js and .cz-config.js file in the root of the project, no unsightly package.json, and it all works great. All my projects have been halted on that version waiting for this features to come back, we may have to drop commitizen soon if that doesnt happen.
husseinraoouf commentedon Jul 3, 2019
+1
jimthedev commentedon Jul 17, 2019
Hey all. Haven't forgotten about you. We did remove the ability to use a .czrc file because our adapters are node-based and thus you have a node project even if your project isn't actually a node project. I am trying to learn more about what we can do to
A) have a sane config loading strategy
B) support you all
Any chance you all can just create a package.json file with only the information we need. What are the downsides of this?
Thanks for helping me to understand more!
andriyor commentedon Aug 27, 2019
You can use https://github.com/Woile/commitizen
kerwanp commentedon Sep 27, 2023
To use commitizen without installing the
commitizen
in the repository or by usingnpm install -g commitizen
(for some developers global dependencies binaries are not in their path. You can usenpx --package=commitizen cz
which will run thecz
binary of thecommitizen
package.With the following
.czrc
at the root of the project:It works perfectly.
If you are looking to use commitizen with husky you can use the following hook: