commitizen / commitizen/cz-cli

Consider using npm module name instead of relative path in adapter config generated by commitizen init

Đang mở
#469 6 bình luận 1 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
JavaScript
Star
17.5k
Fork
566
Merge trung bình
8 giờ 16 phút
Pull request đã merge (30 ngày)
1

Mô tả

The setup instructions [in the readme][repo-commitizen-friendly] use the module name of the adapter (i.e. `cz-conventional-changelog`), but the actual config generated by `commitizen init` uses a relative path to the module:

https://github.com/commitizen/cz-cli/blob/d5e24245dda078464d8c964f5d052bcad1da14f5/src/commitizen/adapter.js#L35-L41

According to [the readme][repo-commitizen-friendly]:

> commitizen.path is resolved via require.resolve and supports
>
> - **npm modules**
> - directories relative to process.cwd() containing an index.js file
> - file base names relative to process.cwd() with js extension
> - full relative file names
> - absolute paths.

One downside of using a relative path is that developers cannot use their global commitizen install to create a commit if they have not yet run `npm install` in the repo, because this results in an error:
```
Error: Could not resolve /Users/mickdekkers/Projects/foo/node_modules/cz-conventional-changelog.
Cannot find module '/Users/mickdekkers/Projects/foo/node_modules/cz-conventional-changelog'
```

This change should fix the issue, although I'm not sure whether it would be considered breaking:

```diff js
let commitizenAdapterConfig = {
config: {
commitizen: {
- path: `./node_modules/${adapterNpmName}`
+ path: adapterNpmName
}
}
};
```

[repo-commitizen-friendly]: https://github.com/commitizen/cz-cli#making-your-repo-commitizen-friendly

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.