Skip to content

chore: upgrade Astro from 5 to 7 - #13

Merged
nicodes merged 1 commit into
mainfrom
chore/astro-7
Sep 21, 2026
Merged

nicodes merged 1 commit into
mainfrom
chore/astro-7

Conversation

@nicodes

@nicodes nicodes commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

What changed

astro ^5.18.1 → ^7.2.8 (resolved to 7.3.3). @astrojs/check ^0.9.10 and typescript 6 stay as-is (0.9.10 is confirmed compatible with astro 7 — ctcalc's PR #18 evidence). No source, config, or workflow changes were needed; bun.lock regenerated.

Migration-guide findings (v6 and v7 guides both read in full, checked per content area)

  • astro.config: empty defineConfig({}) — no experimental flags, no Vite config (v6 Vite 7 / v7 Vite 8 N/A), ESM .mjs (CJS-config removal N/A), no i18n.
  • Components/layout (Entry.astro, Full.astro): only Astro.url.pathname / Astro.generator in component frontmatter (unaffected), one <script type="application/ld+json"> (not a processed client script; v6 script-order change N/A). The v7 Rust compiler accepted every template — no unclosed-tag errors, and no previously auto-corrected invalid nesting (verified via rendered output, below).
  • Integrations: none. Adapters: none. Middleware/endpoints: none (no .ts/.tsx/.jsx in src at all).
  • getStaticPaths / dynamic routes: none — three static pages only.
  • md/mdx: none — Sätteri default processor and heading-ID changes N/A; no remark/rehype plugins.
  • Content collections: none (no src/content, no content.config.ts) — legacy-collections removal and Zod 4 N/A.
  • src/fetch.ts: does not exist — the v7 reserved-name collision does not apply.
  • Experimental flags: none used (v6: csp/fonts/preserveScriptOrder/staticImportMetaEnv/etc.; v7: logger/queuedRendering/rustCompiler/advancedRouting/cache).
  • Node version: v6 requires Node 22.12+; engines already says >=22.12.0.
  • compressHTML: 'jsx' (v7 default): verified by rendered-output comparison, below.

Local gates (bun 1.3.10)

  • bun run typecheck: 7 files, 0 errors, 0 warnings, 0 hints.
  • bun run build: 3 pages built; CI assertions replicated (index/devtools/games pages non-empty; no *.js in dist).
  • Rendered-output equivalence vs the astro-5 build (baseline diffed): visible text nodes identical on all three pages (same node counts; every differing node differs only by whitespace-run normalization — the compressHTML 'jsx' default). CSS verified equivalent: declaration multisets identical after normalizing the new scope-hash cids; remaining deltas are serializer cosmetics only (transparent→#0000, dropped calc() inside min() (implied), omitted default ease in transition shorthand, case-normalized keywords, *:before selector normalization). No shorthand/longhand overlaps that declaration reordering could flip.

@vercel

vercel Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
aviorstudio-web Ready Ready Preview Sep 21, 2026 10:18pm UTC

@nicodes
nicodes merged commit a264003 into main Sep 21, 2026
6 checks passed
@nicodes
nicodes deleted the chore/astro-7 branch September 21, 2026 22:20

This branch was successfully deployed

1 active deployment
Preview — 1f5398ef Deployed Sep 21, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant