Caution
This project has been superseded (and all of its useful bits subsumed) by the
@-xun/scripts/assets/config/conventional.config.js
import of the xscripts
package.
For example.
This preset is a fork of conventional-changelog-conventionalcommits built to work within the projector ecosystem.
For now, see the original conventional-changelog-conventionalcommits package for usage examples and related documentation.
npm install --save-dev @xunnamius/conventional-changelog-projector
If you're using
lernaPackage
or
tagPrefix
configuration options, consider installing the
fixed version of conventional-changelog
(see also).
For example:
npm install --save-dev https://xunn.at/conventional-changelog-cli
Along with several bug fixes (regex mangling, sorting problems, etc), what follows are the major differences versus upstream.
Specifically:
- The scope is bolded
- Scope-less subjects are made sentence case
- The first line of the subject of breaking changes are bolded and sentence cased (scope is excluded)
- Reverts are italicized; malformed reverts are normalized
- Better grammar from conventional-recommended-bump
Since this configuration is used primarily in
semantic-release
-based
flows, there is no reason to store release information in commit footers.
Calling conventional-changelog-conventionalcommits emits a Promise, making the result impossible to reference in synchronized code (babel plugins, semantic-release config files, some cli consumers, npm scripts, etc).
This fork avoids the pain, allowing one shared configuration to be consumed by
conventional-changelog-core
,
conventional-changelog-cli
via command line,
semantic-release
via release
configuration, projector
and
projector-pipeline
at various points in the CI/CD pipeline, and other sync and async tooling.
This also means
configOverrides
cannot be a Promise.
When configuring
conventional-changelog-conventionalcommits,
drilling down into the
config object
and altering something like
writerOpts.transform
is not so easy. This fork allows you to tweak and chain invocations rather than
completely overwrite these key functions via the various
config
keys.
See
the function docs
for more details.
"Simplified" the source code by concentrating default configuration to a single file with the all the configuration knobs easily accessible among the topmatter.
This fork uses a modern Babel-based build chain, is written in TypeScript, is fully typed, and supports modern debugging practices.
This will be true in the next minor version 😅
Further documentation can be found under docs/
.
New issues and pull requests are always welcome and greatly appreciated! 🤩 Just as well, you can star 🌟 this project to let me know you found it useful! ✊🏿 Thank you!
See CONTRIBUTING.md and SUPPORT.md for more information.