Skip to content
HomePagesHomePages template kit
Menu

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.

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:

Terminal window
npm update @homepages/template-kit
npm run check

Minor (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:

Terminal window
npm install @homepages/template-kit@^0.5.0
npm run check

check 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:

Terminal window
npm update @homepages/template-cli
npm update @homepages/eslint-plugin-template

Both 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.

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.

Terminal window
npm ls @homepages/template-kit # what you have installed
npm view @homepages/template-kit version # the current release

The 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>).