A full version history of the lint-staged package with size, number of distributed files and dependency evolution.
lint-staged has undergone significant evolution since its initial release, reflecting the changing landscape of JavaScript linting and development tooling.
Early versions (0.1.0 - 0.2.2, 2016) focused on basic linting for staged JS and CSS files, primarily relying on eslint and stylelint. Version 1.0.0 marked a shift, introducing new dependencies like ora, which, and minimatch for enhanced functionality and a more streamlined experience.
The 2.x and 3.x series (mid-2016) saw the addition of features like batch processing, configuration through cosmiconfig, and improvements to the task management using listr. These versions also started to introduce more robust development dependencies and testing frameworks.
Versions 4.x through 7.x (2017-2018) are where major improvements to the configuration and the usage of chalk were added.
The 8.x releases (late 2018) brought the introduction of del for cleaning up, along with g-status and a switch to execa for improved process execution. This series marked a greater focus on stability and configuration.
The 9.x and 10.x versions (2019-2020) began incorporating yup for configuration schema validation and cosmiconfig for flexible configuration file support. The 10.x series marked a large number of patches and refinement releases with upgrades to peer dependencies.
From 11 to 15 the project focused on improving the developer experience and the underlying dependencies. Listr2 becomes a major version and ESM support is added. These newer versions feature more modern dependencies, improved performance, and a more robust feature set, providing greater customization and flexibility for modern JavaScript projects.