chore: dependency updates + Astro 6 / TypeScript 6 migration #1

Merged
fiatcode merged 3 commits from chore/dependency-updates into main 2026-06-17 12:50:42 +07:00
Owner

Summary

Updates all dependencies, migrating to Astro 6 and TypeScript 6. Verified at every step (build, tests, astro check, dev server) and re-verified all breaking changes against the official docs via Context7.

Commits

  1. In-major bumps — tailwindcss 4.1→4.3, sitemap, typography, prettier, vitest, etc.
  2. Astro 5→6 migration — astro 6.4.7 (Vite 7, Zod 4, Shiki 4), @astrojs/svelte 8, astro-expressive-code 0.43. Resolves 5 high-severity Astro XSS/SSRF advisories. One fix: astro-pagefind v2's export map change — see below.
  3. TypeScript 6.0.3 — type-checks clean.

Judgment calls

  • Kept astro-pagefind on v1.8.6 (not v2). v1 already supports Astro ^6; v2 is a full search-component rewrite (pagefind-uipagefind-searchbox) that would break the existing search-page CSS for no security/compat benefit. The v2 searchbox is an optional future task.
  • Left the residual esbuild audit notices. Both are Deno-install / Windows-dev-server only — inapplicable to this static Linux build. vite 7 pins esbuild ^0.27, so they clear on a future vite patch.

Verification

  • Build green · 79/79 tests pass · astro check 0 errors (TS 6) · dev server + home/search/tool routes all return 200
  • Custom expressive-code theme (ec.config.mjs) confirmed rendered into built CSS under Shiki 4
  • All breaking changes (Astro 6, @astrojs/svelte 8, expressive-code 0.43, TS 6) re-verified against official docs
## Summary Updates all dependencies, migrating to Astro 6 and TypeScript 6. Verified at every step (build, tests, `astro check`, dev server) and re-verified all breaking changes against the official docs via Context7. ## Commits 1. **In-major bumps** — tailwindcss 4.1→4.3, sitemap, typography, prettier, vitest, etc. 2. **Astro 5→6 migration** — astro 6.4.7 (Vite 7, Zod 4, Shiki 4), @astrojs/svelte 8, astro-expressive-code 0.43. Resolves 5 high-severity Astro XSS/SSRF advisories. One fix: astro-pagefind v2's export map change — see below. 3. **TypeScript 6.0.3** — type-checks clean. ## Judgment calls - **Kept astro-pagefind on v1.8.6** (not v2). v1 already supports Astro `^6`; v2 is a full search-component rewrite (`pagefind-ui` → `pagefind-searchbox`) that would break the existing search-page CSS for no security/compat benefit. The v2 searchbox is an optional future task. - **Left the residual esbuild audit notices.** Both are Deno-install / Windows-dev-server only — inapplicable to this static Linux build. vite 7 pins `esbuild ^0.27`, so they clear on a future vite patch. ## Verification - Build green · 79/79 tests pass · `astro check` 0 errors (TS 6) · dev server + home/search/tool routes all return 200 - Custom expressive-code theme (`ec.config.mjs`) confirmed rendered into built CSS under Shiki 4 - All breaking changes (Astro 6, @astrojs/svelte 8, expressive-code 0.43, TS 6) re-verified against official docs
Bump all packages within their current major versions:
- astro 5.16.10 -> 5.18.2
- tailwindcss + @tailwindcss/vite 4.1.18 -> 4.3.1
- @tailwindcss/typography 0.5.19 -> 0.5.20
- @astrojs/sitemap 3.7.2 -> 3.7.3
- astro-pagefind 1.8.5 -> 1.8.6
- astro-expressive-code 0.41.6 -> 0.41.7
- prettier 3.8.1 -> 3.8.4, prettier-plugin-svelte 4.1.0 -> 4.1.1
- vitest 4.1.8 -> 4.1.9

Build green, 79/79 tests pass.
- astro 5.18.2 -> 6.4.7 (Vite 7, Zod 4, Shiki 4)
- @astrojs/svelte 7.2.5 -> 8.1.2
- astro-pagefind 1.8.6 -> 2.0.0
- astro-expressive-code 0.41.7 -> 0.43.1

astro-pagefind v2 changed its export map to require the file
extension; updated the Search component import accordingly.

Codebase was already v6-ready: content.config.ts uses the content
layer glob loader (no `type`), rendering uses render(entry), and
no Astro.site/generator calls inside getStaticPaths().

Resolves the high-severity Astro XSS/SSRF advisories. Remaining
esbuild audit notices are dev/Deno/Windows-only and not applicable
to this static Linux build; vite 7 pins esbuild ^0.27 so they clear
on a future vite patch.

Build green, 79/79 tests pass, dev server + all routes verified.
typescript 5.9.3 -> 6.0.3. Type-checked clean (0 errors) via astro
check; build green; 79/79 tests pass.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
fiatcode/site!1
No description provided.