Upgrading the kit
How to move a workspace to a new template-kit version, and what each kind of release means for you.
Your workspace declares the kit like this:
"dependencies": { "@homepages/template-kit": "^0.4.0"}The kit is pre-1.0, and at 0.x that caret means >=0.4.0 <0.5.0. That is
deliberate: it gives you every safe update automatically and never a breaking one
without you asking.
Two kinds of release
Section titled “Two kinds of release”Patch (0.4.0 → 0.4.1) — features and fixes. While the kit is pre-1.0, both land as patches. Your caret already allows them:
npm update @homepages/template-kitnpm run checkMinor (0.4.x → 0.5.0) — breaking. At 0.x the minor is the breaking axis, so a
minor bump means something you author against changed. npm update will not
move you: a 0.x caret never crosses a minor. That is the caret doing its job.
To take it, ask for it:
npm install @homepages/template-kit@^0.5.0npm run checkcheck is your migration list — it reports what the new version rejects. Read the
CHANGELOG in the package (node_modules/@homepages/template-kit/CHANGELOG.md) for
what changed and why.
The CLI and the lint preset upgrade separately
Section titled “The CLI and the lint preset upgrade separately”@homepages/template-cli (which provides the template-kit command) and
@homepages/eslint-plugin-template (the lint preset) are each their own package on
their own version line, so the kit’s number tells you nothing about them and npm update @homepages/template-kit never moves them. Update each on its own:
npm update @homepages/template-clinpm update @homepages/eslint-plugin-templateBoth declare the kit as a peer dependency, so each one’s range says which kit
line it supports. If npm install reports a peer conflict after a kit minor, the
package to bump is the one reporting it — not the kit to hold back.
How long you have
Section titled “How long you have”Submissions are accepted against the current kit line and the one before it. So when 0.5.0 ships, a template packed on 0.4.x still submits fine — you have a full release cycle to migrate, and you are never blocked mid-template.
Once a third line ships, the oldest drops out: template-kit pack still succeeds
on it, but submitting that pack is refused, with the exact range to set in the
message.
Checking where you are
Section titled “Checking where you are”npm ls @homepages/template-kit # what you have installednpm view @homepages/template-kit version # the current releaseThe same two commands work for @homepages/template-cli and
@homepages/eslint-plugin-template. template-kit --version prints the pair the
command is actually running as <cli> (kit <kit>).