Skip to main content

Migrations & Upgrades

How Archibald versions reach your project, and what to run when you move between them.

Versions and dist-tags

Which version you get depends on the npm dist-tag you install from: latest is the current stable, next is the version to upgrade to next, rc is the release candidate being stabilized, and latest-<N> is the newest release of an older, still-maintained major. See Releasing and dist-tags for the full contract.

Codemods

Each major version ships automated migrations through the @archibald/codemod package. Run the interactive catalog from your project root:

pnpx @archibald/codemod .

Codemods come in three kinds — transform (rewrites source), config (rewrites JSON config), and detect (report-only; flags call sites that need manual migration, never writes). See Codemods.

Diffing against the template

The CLI's archibald upgrade-diff command (alias ud) shows what changed in the project template between two versions. It bootstraps two throwaway projects in your temp directory — one at --base (default latest), one at --target (default next), from the shop or basic template — commits the base into a git repository, overlays the target on top, and shows the result as a git status diff (optionally opened in VS Code). Unix/WSL only.

Guides in this section