Skip to content

chore: evaluate Astro 7 migration readiness #189

Description

@JasonCust

Summary

Astro 7.0.0 has been released but the Starlight ecosystem does not yet support it. Dependabot PR #188 demonstrated the failure mode: @astrojs/starlight@0.40.0 declares peerDependencies: { astro: "^6.4.5" }, causing npm ci to fail with ERESOLVE.

The Dependabot config now ignores both semver-minor and semver-major for astro to prevent premature upgrade PRs. This issue tracks the prerequisites for a deliberate migration.

Prerequisites

All of the following must be satisfied before migration can proceed:

  • @astrojs/starlight releases a version with astro: ^7.0.0 in its peer dependency range
  • starlight-typedoc releases a compatible version (currently ^0.23.0, peer dep @astrojs/starlight: >=0.39.0)
  • starlight-changelogs releases a compatible version (currently ^0.5.0, peer dep @astrojs/starlight: >=0.38.0)
  • @ascorbic/loader-utils peer dep range includes Astro 7 — or starlight-changelogs drops the dependency (see chore: remove npm override for @ascorbic/loader-utils when upstream adds astro 7+ support #26)
  • GFM / Sätteri markdown processor evaluation: Astro 7 makes Sätteri the default processor. Determine whether the explicit markdown: { gfm: true } workaround can be removed or needs adaptation
  • Astro 7 breaking changes audit:
    • Rust-based compiler (stricter syntax — verify all .astro and .mdx files compile)
    • compressHTML default changed to 'jsx' (whitespace behavior change)
    • Vite 8 upgrade (verify build compatibility)
    • @astrojs/db removed (not used, but verify no transitive dependency)

How to Check

Periodically run npm info @astrojs/starlight peerDependencies and check if the astro range includes ^7.0.0. When all prerequisites are met, remove the semver-major ignore entry from .github/dependabot.yml and initiate the migration.

Context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

choredeferredIntentionally deferred — revisit post-launch

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions