Repository navigation
build(web): upgrade Astro to 7 and Starlight to 0.42 - #4362
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
rev1-r3 review @ 0a67705: approve in substance. Per orch1, the final comes on the post-develop-merge head after #4360 lands.
|
# Conflicts: # web/packages/ui/package.json # web/sites/api/package.json # web/sites/blog/package.json # web/sites/guides/package.json # web/sites/landing/package.json # web/sites/packages/package.json
|
rev1-r3 @ 990ac25: merge verified; final held on
I compared the
None of it is a break. But (1) is a site-wide content-appearance change, so it should be decided rather than just baselined. Curly quotes are the typographic norm, but site search (Pagefind) indexes the rendered text, so a search typed with a straight apostrophe ( Either way, send me the head after the refresh (plus the human empty commit, so CI runs). I'll confirm the refresh commit touches only those four PNGs and give the final. |
Astro 7 changed the compressHTML default to 'jsx', which drops the space
between text and an element on the next line ("Install with<code>").
compressHTML: true restores the HTML-aware compression Astro 6 used.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Peter Amiri <peter@alurium.com>
Manually triggered baseline refresh via .github/workflows/refresh-visual-baselines.yml targeting branch peter/astro7-upgrade. Run when an intentional content/layout change makes the visual-regression check fail. The new PNG(s) under web/tests/visual-baselines/ are now the expected rendering.
Manually triggered baseline refresh via .github/workflows/refresh-visual-baselines.yml targeting branch peter/astro7-upgrade. Run when an intentional content/layout change makes the visual-regression check fail. The new PNG(s) under web/tests/visual-baselines/ are now the expected rendering.
|
rev1-r3 re-review @ 5fc85110c62a: content APPROVE; final once a human commit re-runs CI on this head The delta since
Code samples keep straight quotes. I fetched four built pages from this branch's guides preview (
So smart quotes apply only to prose. Code blocks and inline code are untouched, which matches the decision to keep smartypants on for consistency with the existing
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Peter Amiri <peter@alurium.com>
|
rev1-r3 review @ b4c8950: APPROVE (final) The content was approved earlier on this head. For a web PR the gate is PR CI, and it is now 21 pass / 0 fail / 0 pending, with 2 skipping. The one earlier red check, the infra Ready to merge. |
Summary
Moves the five static sites (
web/sites/{landing,blog,guides,api,packages}) from Astro 6 to Astro 7.3.5, and the two Starlight sites (guides, api) to Starlight 0.42.5. The lockfile is regenerated, so dependencies resolve fresh within their ranges.Changes
web/sites/*/package.json:astro→^7.3.5. guides and api:@astrojs/starlight→^0.42.5, and add@astrojs/markdown-remark@^7.3.1. Astro 7 no longer installs it by default (Sätteri is the default Markdown processor), but these two sites usemarkdown.remarkPlugins/rehypePlugins, and Starlight 0.42 lists it as a peer.web/packages/ui/package.json:astropeer range^5.0.0→^7.0.0.web/package.jsonpnpm.overrides:astro: ^6.3.1, which pinned every site to Astro 6;esbuild^0.27.3→^0.28.1;fast-uri^3.1.2→^3.1.8;yamlandfast-xml-builderunchanged.web/pnpm-lock.yaml: regenerated from scratch.No source or config code had to change for Astro 7 / Starlight 0.42. The
Head/Headeroverrides, sidebars, thellmsendpoints and the content collections build as they are.Supersedes the manifest-only alignment in #4360: once both merge, these specifiers win.
Rendering changes in Astro 7, and how they're handled
compressHTMLdefault fromtrueto'jsx', which drops the space between text and an element on the next line. The packages site rendered "Install withwheels packages add(in Wheels 4.2…" and "alias of it;add". All five sites now setcompressHTML: true, Astro 6's HTML-aware compression. With it, the visible text of landing and packages is identical to the Astro 6 build. Blog, guides and api differ only by extra whitespace between table cells and select options, which doesn't change how they look..mdpages but not.mdx, so the api site and the.mdguides already used curly quotes while the.mdxguides used straight ones. Astro 7 applies it to.mdxtoo, so prose quotes are now consistent site-wide. Code is unaffected: no<pre>or<code>element in the guides has a curly quote, and the api's code text is unchanged from Astro 6.guides.pngandapi.pngwere refreshed for the quotes and the TOC shift. Nothing else changed: the packages and landing baselines match again oncecompressHTMLis restored.Verification (develop + this branch)
pnpm install --frozen-lockfilepasses.pnpm build: all five sites, with the same page counts as on Astro 6:node scripts/check-llms.mjs: passes for guides and api (current version v4-1-0). Its fixture tests are 7/7.dist/): identical to the Astro 6 build:/blog/<slug>links are handled by the redirects in fix(web): return a real 404 for unknown paths on wheels.dev, blog and packages #4358.Visual baselines may change with Astro 7's rendering. I'll check the visual-regression diffs and refresh only what changed.
🤖 Generated with Claude Code