Versions and releases
How Klorad packages are versioned, released and checked before they reach you.
Versioning
Every package follows semantic versioning and is versioned on its own:
a release of @klorad/notify does not bump @klorad/react. While a package is at 0.x, a minor
release may change its public API and a patch release only fixes; from 1.0 a breaking change
needs a major release.
Versions are decided by the commits, not by hand. Every change to the repository is a
Conventional Commit. Before 1.0, fix: and feat: make
a patch release and a breaking change a minor one; from 1.0, fix: makes a patch, feat: a
minor and a breaking change a major release.
Changelogs
Each package ships a CHANGELOG.md, written from those commits at release time. Read it in
node_modules/@klorad/<name>/CHANGELOG.md before you upgrade.
What every release passes
- type checking, lint and the package's unit tests, with coverage thresholds of 95% of lines, 90% of functions and 85% of branches;
publint, which checks the package'sexports, files and types are consistent;- Are the Types Wrong, which checks the types resolve for ESM consumers;
- publishing from CI through npm trusted publishing, so no long lived token can publish a Klorad package.
The packages are private; see Install for access.
Something wrong or unclear? Tell your contact at Prieston Technologies.