chore: upgrade astro to 7.2 - #222
Merged
Merged
Conversation
Also picks up @iconify-json/octicon 1.2.30 -> 1.2.32. No breaking changes in 7.2.0, and nothing in astro.config.mjs needed migrating. The built dist/ is byte-for-byte identical. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades
astroto 7.2.0 and@iconify-json/octiconto 1.2.32.Worth noting up front that this is a smaller step than the version ranges suggest:
^7.0.3was already resolving forward to 7.1.6, so the real move is 7.1.6 → 7.2.0, one minor. Same for octicon —^1.2.29was on 1.2.30.The lockfile delta
Only two packages change version, and two transitive ones drop out:
astro@iconify-json/octicon@rollup/pluginutilsestree-walkervitestays at 8.2.0 — 7.2.0 asks for^8.0.13and the tree was already above that. Astro'sengines.nodeis unchanged at>=22.12.0, so the>=22inpackage.jsonand the 22.x/24.x CI matrix are both still fine.Nothing to migrate
7.2.0 has no breaking changes and no deprecations. Its minor entries are all opt-in and none apply here: a
session: falseswitch for trimming session code out of SSR bundles,experimental.incrementalBuild, adigestproperty for content-layer loaders, relative-path resolution for the logger entrypoint, and a widenedAstroPrerenderer.render()return type. This site is static with no sessions, no content collections, and no custom logger or prerenderer, soastro.config.mjsis untouched.The patch fixes are more relevant on paper — one of them corrects
Astro.url.pathnameformatting — but nothing here read that value, and the build output confirms nothing moved.@shikijs/themes is deliberately left alone
4.4.3 is out and
^4.4.1would have taken it, but taking it is a regression. Astro 7.2.0 pinsshiki@4.4.1, which carries its own@shikijs/themes— so at^4.4.1the two dedupe to one copy, and at^4.4.3they split:That is 1.8M duplicated, and it hands 4.4.3 theme objects to a 4.4.1 highlighter.
CodeSnippet.astroalready notes thatshikiresolves only through astro, and this is the other half of that: the theme range wants to track whatever shiki version astro ships, not run ahead of it. I built it both ways — the output is identical either way, so the newer themes buy nothing to offset the skew. It picks up 4.4.3 on its own once astro bumps shiki.Checked
npm run checkis clean across 26 files, andnpm run buildemits the same 10 pages plus the sitemap.Beyond that, the whole of
dist/diffs byte-for-byte identical against a build from before the upgrade — so the one octicon in use (octicon:graph-24, on/documentation) and the light-plus/dark-plus highlighting both render exactly as they did. The dev server was smoke-tested separately:/,/faq/,/vscode/,/blog/,/get-started/and/principles/all 200.Not addressed here
Two things I found and left:
nanoidGHSA-2v37-7h3g-55p8 (high), reached throughastro -> vite -> postcss. It is pre-existing — 3.3.16 is in the lockfile onmastertoday — and unrelated to this upgrade, which neither caused nor fixed it.npm audit fixresolves it as a nested bump.🤖 Generated with Claude Code