Skip to content

chore(deps): upgrade to Astro 7 and refresh dependencies - #39

Merged
misobadev merged 3 commits into
mainfrom
chore/upgrade-astro-7
Oct 15, 2026
Merged

misobadev merged 3 commits into
mainfrom
chore/upgrade-astro-7

Conversation

@misobadev

@misobadev misobadev commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Summary

Upgrades the Astro stack to the latest versions, fixes the peer dependency conflict that broke npm install, patches all open security advisories, and removes dependencies that are no longer used.

The original conflict: @astrojs/mdx@6.0.3 pinned @astrojs/markdown-satteri@0.3.0 exactly, which is incompatible with any newer Sätteri release.

Dependency upgrades

  • astro 6.4.8 -> 7.3.8
  • @astrojs/mdx 6.0.3 -> 8.0.3
  • @astrojs/markdown-remark 7.2.2 -> 7.3.2
  • @astrojs/markdown-satteri 0.3.x -> 0.4.3
  • @astrojs/sitemap 3.7.3 -> 3.7.4
  • @astrojs/check 0.9.8 -> 0.9.10
  • astro-expressive-code 0.44.1 -> 0.44.2
  • astro-icon 1.1.5 -> 1.2.0
  • vite override 7 -> 8 (Astro 7 ships Vite 8)

Security (npm audit: 0 vulnerabilities)

  • sharp forced to ^0.35.5 (libvips / libheif / librsvg CVEs)
  • postcss-selector-parser forced to ^7.1.6 (quadratic complexity in flat selector parsing)

Removed unused dependencies

  • @astrojs/rss (no RSS endpoint exists)
  • @fontsource-variable/jetbrains-mono, @fontsource-variable/sora (never imported)
  • cssnano, autoprefixer (no PostCSS config)
  • satori, satori-html, @resvg/resvg-js (no og-image route)
  • @pagefind/default-ui (no search UI)
  • dropped the resvg optimizeDeps exclude and the dead pagefind type declaration

Migration changes

  • Astro 7 defaults to the Sätteri markdown processor. The remark/rehype plugins are now passed to unified() from @astrojs/markdown-remark, replacing the deprecated markdown.remarkPlugins / rehypePlugins / remarkRehype options.
  • Set compressHTML: true to keep the previous whitespace behavior (Astro 7 changed the default to 'jsx').
  • Load the mdast-util-to-hast type augmentation explicitly, since it is no longer pulled in transitively.
  • Add the expected src/icons directory for astro-icon 1.2.0.

Test plan

  • rm -rf node_modules package-lock.json && npm install (no ERESOLVE)
  • npm ci
  • npm audit (0 vulnerabilities)
  • npm run lint
  • npm run check (0 errors)
  • npm run build (clean, no warnings)

- astro 6.4.8 -> 7.3.8 and @astrojs/mdx 6.0.3 -> 8.0.3
- @astrojs/markdown-remark 7.3.2, @astrojs/markdown-satteri 0.4.3
- @astrojs/sitemap 3.7.4, @astrojs/check 0.9.10
- astro-expressive-code 0.44.2, astro-icon 1.2.0
- bump vite override from 7 to 8 (Astro 7 ships Vite 8)

Astro 7 defaults to the Sätteri markdown processor, so move the
remark/rehype plugins into the unified() processor explicitly and
keep @astrojs/markdown-remark installed. Set compressHTML: true to
preserve the previous whitespace behavior.

Load the mdast-util-to-hast type augmentation explicitly since it is
no longer pulled in transitively, and add the expected src/icons
directory for astro-icon 1.2.0.
Security:
- override sharp to ^0.35.5 (libvips/libheif/librsvg CVEs)
- override postcss-selector-parser to ^7.1.6 (quadratic selector parsing)
- npm audit now reports 0 vulnerabilities

Cleanup of unused dependencies:
- @astrojs/rss (no RSS endpoint exists)
- @fontsource-variable/jetbrains-mono, @fontsource-variable/sora (never imported)
- cssnano, autoprefixer (no PostCSS config)
- satori, satori-html, @resvg/resvg-js (no og-image route)
- @pagefind/default-ui (no search UI)
- remove the resvg optimizeDeps exclude and the dead pagefind type declaration
prettier-plugin-astro and prettier-plugin-tailwindcss were never
loaded because the project has no Prettier config file, so prettier
(run with --ignore-unknown) silently skipped .astro files anyway.
Remove both plugins; the prettier binary stays for the format:code
script.
@misobadev
misobadev merged commit 6edac6e into main Oct 15, 2026
2 checks passed
@misobadev
misobadev deleted the chore/upgrade-astro-7 branch October 15, 2026 12:40
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