How Updates Work
Components are distributed one way: from this library's catalog into your project, over HTTP. There is no lockfile, no verify command, and no registry client. What makes updates manageable anyway is git, and specifically the commit the starter's installer writes for every install:
component: install hero@1.3.2 from nunjucks-components.com
Component-Name: hero
Component-Version: 1.3.2
Content-Hash: a3f9c2e17b40d8e6That commit is the baseline. It records exactly which files arrived, and everything you changed afterward is onegit diffaway. The update recipes below are both built on it.
Start by finding out where you stand:
npm run components:status- outdated means canon moved and your copy did not. Reinstall the component by name and you are done:
node scripts/install-components.mjs hero. - modified means you changed it and canon did not. This needs nothing.
- diverged means both sides moved. That is the case the first recipe exists for.
The content hash covers the template, stylesheet, script and any modules. It deliberately excludesmanifest.json, so a manifest-only change on either side does not show up in the status report.diff -ruagainst a fresh download is how you see those.
Before editing a component at all, consider whether an override can do the job instead; see Customizing Components Without Editing Them. A component you never touch updates with a plain copy, forever.