A full version history of the @commitlint/cli package with size, number of distributed files and dependency evolution.
@commitlint/cli has undergone significant evolution, marked by numerous releases, showcasing its commitment to refining commit message linting. Early versions (3.0.0 - 5.2.8) established the core functionality, relying on dependencies like meow, chalk, and lodash, while gradually incorporating @commitlint/core and refining developer tooling like xo and ava.
Versions 6.0.0 to 7.6.1 introduced breaking changes, adopting lodash.pick and lodash.merge for enhanced configuration management. This era also witnessed the introduction of @commitlint/lint, @commitlint/load, @commitlint/read, and @commitlint/format signaling a modular approach.
The 8.x series focused on dependency updates (get-stdin, resolve-from, lodash) and transitioned to Chalk v2.4.2, improving terminal output styling. Versions 9.x – 11.x embraced core-js and Chalk v4, reflecting modern JavaScript practices.
Later releases, including the transition toward version 19, introduced Yargs for more robust command-line argument parsing, migrating entirely towards a dependency free codebase. This is visible in newer versions of the package.
The evolution continues with 17.0.0 and beyond as the authors added the tinyExec, and switched versions of the utils and tests. Through continuous updates, adding tests, refactoring dependencies and bug fixes @commitlint/cli remains a reliable tool by providing developers with a well tested and powerful tool.