Skip to content
Best Practiceswarn by default recommended preset astro-doctor/no-legacy-astro-7-experimental-flags

no-legacy-astro-7-experimental-flags

Migrate experimental configuration fields removed or stabilized in Astro 7.

Why

Astro 7 removed the experimental wrappers for advanced routing, caching, logging, route rules, queued rendering, and the Rust compiler. Leaving these fields under experimental can make an upgrade fail validation or silently miss the intended configuration.

Examples

Incorrect

Astro 6 experimental configuration

typescript
export default defineConfig({
  experimental: {
    advancedRouting: true,
    cache: { provider: memoryCache() },
    routeRules: {},
    rustCompiler: true,
  },
})

Correct

Astro 7 stable configuration

typescript
export default defineConfig({
  cache: { provider: memoryCache() },
  routeRules: {},
})

Configuration

Project audits are configured in doctor.config.ts:

typescriptdoctor.config.ts
export default {
            rules: {
              'astro-doctor/no-legacy-astro-7-experimental-flags': 'error', // or 'warn' or 'off'
            },
          }

All rules