Closed Stupidism closed 5 years ago
I suspect this is caused by the additional newline, not the /
in commit scopes
The errors you see and the diverging behaviour if direct CLI / stdin usage are consistent with the newline showing up in the commitlint output of your failing example - the commit parser we use assigns special meaning to the first line of a commit.
I don't see any way how commitlint could cause this, any idea what might add the newline on your side?
@marionebl Did you try my repo?
same behavior with #
Do you have a workarround ?
@aguacongas I could only use dot instead of hash or slash or comma
Ran into the same issue and tried to dig into it a bit.
If I understood correctly, commitlint
falls back to conventional-changelog-angular's presetOpts when none are provided.
The headerPatterns
specified there would allow special chars to be used in scopes: /^(\w*)(?:\((.*)\))?: (.*)$/
However, presetOpts does not appear to be empty, because it already contains { commentChar: '#' }
, hence the angular fallback is not used. Instead it seems that conventional-commits-parser default headerPattern
is used, which does not allow special chars in scopes. /^(\w*)(?:\(([\w$.\-* ]*)\))?: (.*)$/
Thanks for reporting and the analysis, folks.
The appropriate is to be more granular about defaulting to conventional-changelog-angular
and fall back to the angular preset values for all keys (if missing in parserOpts), e.g.
const changelogOpts = await defaultChangelogOpts;
parserOpts = merge(changelogOpts, parserOpts);
Want to lend a hand @robin-drexler?
All of this "stuff" should make its way into the documentation as well. It is very confusing to figure out what options are available. Even if the docs just have links pointing to other repo options.
Expected Behavior
without slash:
Cli-test:
Current Behavior
Looks like there's an extra new-line before my commit message:
Affected packages
Possible Solution
Steps to Reproduce (for bugs)
https://github.com/Stupidism/cra-rewired-starter/tree/3a1c47cdcda5f585c529f78b246bc470ce64c526
commitlint.config.js
```js ```Context
Your Environment
commitlint --version
git --version
node --version