A full version history of the vitest package with size, number of distributed files and dependency evolution.
Vitest, a rapidly evolving unit testing framework for Vite projects, has undergone numerous iterations, as evidenced by its extensive version history in the npm registry. The initial versions, such as 0.0.1 through 0.0.4, laid the groundwork with core dependencies like chai, fast-glob, and vite-node, steadily incorporating essential testing utilities. As the project matured, versions like 0.0.9 and 0.0.10 introduced features like spinners (ora, elegant-spinner) alongside assertion libraries (sinon, sinon-chai), enhancing the developer experience.
Significant architectural shifts occurred around 0.0.15 with the addition of jsdom to enable browser-like testing environments. The "0.0.x" series culminated in the introduction of code coverage reporting with c8 and support for source maps to improve debugging, evident from version 0.0.32, and eventually became more stable and incorporated into the initial 0.x versions.
The "0.x" series continued with performance enhancements and new features. Notable additions included more sophisticated dependency resolution, parallel test execution using piscina, console output improvements, and compatibility with different browser environments (happy-dom). Version 0.0.47 also moved towards a more streamlined folder structure by utilizing rollup for the packaging, which became a standard in later version. This work transitioned into the stable version 0 and above series of package releases.
Vitest versions 0.1.23, 0.2.0, 0.5.0, 0.7.0, 1.0.0, 1.3.0, 1.5.0 and beyond focused on stabilization, peer dependency management, UI components integration (@vitest/ui), source map handling, and enhancements to code coverage, progressively optimizing for speed and developer convenience. While not always the largest, every version included significant updates and optimizations with later versions also bumping peer dependencies for broader support in the node ecosystem and increasing minimum versions for components like Vite, further cementing Vitest's place as a modern testing solution. These frequent releases indicate a dedication to innovation and performance tuning.