Felipe Cesar Assis
Felipe Cesar Assis

Reputation: 398

How to define Commitizen adapter when using "npx git-cz"?

I am trying to adopt a conventional commits like standard to my projects. While searching for linters and other automation tools I stumbled upon commitizen. I want to use it in my project without installing it locally neither globally using the NPX with the command npx git-cz.

Upvotes: 5

Views: 1856

Answers (2)

Jordan Caras
Jordan Caras

Reputation: 93

The closest I've come to making my repository "commitizen-friendly" without a local package.json is the following --

Define a .czrc file in the repository

{
  "path": "cz-conventional-changelog",
  "maxLineWidth": 72
}

And when using npx, explicitly set the commitizen package:

npx --package cz-conventional-changelog --package commitizen -- cz

Or if your users can install commitizen globally (e.g. npm install -g commitizen cz-conventional-changelog) then this becomes

git cz

This seems to work for me. Hopefully I'm not missing something.

EDIT I did miss something. Both recommendations require the adapters to also be specified or installed. Amended the above.

Upvotes: 1

flup
flup

Reputation: 27104

This is a known issue in commitizen.

If the repository is not commitizen friendly, running npx git-cz will install and use the streamich/git-cz adapter.

I think this works only because of package name collisions, and do not think you can configure a different adapter this way.

Upvotes: 3

Related Questions