diff options
-rw-r--r-- | .changeset/sour-games-burn.md | 11 | ||||
-rw-r--r-- | packages/astro/client.d.ts | 20 | ||||
-rw-r--r-- | packages/astro/components/ViewTransitions.astro | 4 | ||||
-rw-r--r-- | packages/astro/package.json | 14 | ||||
-rw-r--r-- | packages/astro/src/core/create-vite.ts | 2 | ||||
-rw-r--r-- | packages/astro/src/core/middleware/namespace.ts | 1 | ||||
-rw-r--r-- | packages/astro/src/i18n/vite-plugin-i18n.ts | 2 | ||||
-rw-r--r-- | packages/astro/src/prefetch/vite-plugin-prefetch.ts | 6 | ||||
-rw-r--r-- | packages/astro/src/transitions/vite-plugin-transitions.ts | 4 | ||||
-rw-r--r-- | packages/astro/src/virtual-modules/README.md | 3 | ||||
-rw-r--r-- | packages/astro/src/virtual-modules/i18n.ts | 1 | ||||
-rw-r--r-- | packages/astro/src/virtual-modules/middleware.ts | 1 | ||||
-rw-r--r-- | packages/astro/src/virtual-modules/prefetch.ts | 1 | ||||
-rw-r--r-- | packages/astro/src/virtual-modules/transitions-router.ts | 1 | ||||
-rw-r--r-- | packages/astro/src/virtual-modules/transitions.ts | 1 |
15 files changed, 40 insertions, 32 deletions
diff --git a/.changeset/sour-games-burn.md b/.changeset/sour-games-burn.md new file mode 100644 index 000000000..64203dbd4 --- /dev/null +++ b/.changeset/sour-games-burn.md @@ -0,0 +1,11 @@ +--- +"astro": patch +--- + +Refactors virtual modules exports. This should not break your project unless you import Astro's internal modules, including: + +- `astro/middleware/namespace` +- `astro/transitions` +- `astro/transitions/router` +- `astro/prefetch` +- `astro/i18n` diff --git a/packages/astro/client.d.ts b/packages/astro/client.d.ts index f1cb0ff11..ee4c9df7e 100644 --- a/packages/astro/client.d.ts +++ b/packages/astro/client.d.ts @@ -106,7 +106,7 @@ declare module '*.avif' { } declare module 'astro:transitions' { - type TransitionModule = typeof import('./dist/transitions/index.js'); + type TransitionModule = typeof import('./dist/virtual-modules/transitions.js'); export const slide: TransitionModule['slide']; export const fade: TransitionModule['fade']; @@ -115,24 +115,24 @@ declare module 'astro:transitions' { } declare module 'astro:transitions/client' { - type TransitionRouterModule = typeof import('./dist/transitions/router.js'); + type TransitionRouterModule = typeof import('./dist/virtual-modules/transitions-router.js'); export const supportsViewTransitions: TransitionRouterModule['supportsViewTransitions']; export const transitionEnabledOnThisPage: TransitionRouterModule['transitionEnabledOnThisPage']; export const navigate: TransitionRouterModule['navigate']; - export type Options = import('./dist/transitions/router.js').Options; + export type Options = import('./dist/virtual-modules/transitions-router.js').Options; } declare module 'astro:prefetch' { - export { prefetch, PrefetchOptions } from 'astro/prefetch'; + export { prefetch, PrefetchOptions } from 'astro/virtual-modules/prefetch.js'; } declare module 'astro:i18n' { - export type GetLocaleOptions = import('./dist/i18n/index.js').GetLocaleOptions; + export type GetLocaleOptions = import('./dist/virtual-modules/i18n.js').GetLocaleOptions; /** * @param {string} locale A locale * @param {string} [path=""] An optional path to add after the `locale`. - * @param {import('./dist/i18n/index.js').GetLocaleOptions} options Customise the generated path + * @param {import('./dist/virtual-modules/i18n.js').GetLocaleOptions} options Customise the generated path * @return {string} * * Returns a _relative_ path with passed locale. @@ -161,7 +161,7 @@ declare module 'astro:i18n' { * * @param {string} locale A locale * @param {string} [path=""] An optional path to add after the `locale`. - * @param {import('./dist/i18n/index.js').GetLocaleOptions} options Customise the generated path + * @param {import('./dist/virtual-modules/i18n.js').GetLocaleOptions} options Customise the generated path * @return {string} * * Returns an absolute path with the passed locale. The behaviour is subject to change based on `site` configuration. @@ -191,7 +191,7 @@ declare module 'astro:i18n' { /** * @param {string} [path=""] An optional path to add after the `locale`. - * @param {import('./dist/i18n/index.js').GetLocaleOptions} options Customise the generated path + * @param {import('./dist/virtual-modules/i18n.js').GetLocaleOptions} options Customise the generated path * @return {string[]} * * Works like `getRelativeLocaleUrl` but it emits the relative URLs for ALL locales: @@ -199,7 +199,7 @@ declare module 'astro:i18n' { export const getRelativeLocaleUrlList: (path?: string, options?: GetLocaleOptions) => string[]; /** * @param {string} [path=""] An optional path to add after the `locale`. - * @param {import('./dist/i18n/index.js').GetLocaleOptions} options Customise the generated path + * @param {import('./dist/virtual-modules/i18n.js').GetLocaleOptions} options Customise the generated path * @return {string[]} * * Works like `getAbsoluteLocaleUrl` but it emits the absolute URLs for ALL locales: @@ -208,7 +208,7 @@ declare module 'astro:i18n' { } declare module 'astro:middleware' { - export * from 'astro/middleware/namespace'; + export * from 'astro/virtual-modules/middleware.js'; } declare module 'astro:components' { diff --git a/packages/astro/components/ViewTransitions.astro b/packages/astro/components/ViewTransitions.astro index 089d8d8e5..1d2d72d8a 100644 --- a/packages/astro/components/ViewTransitions.astro +++ b/packages/astro/components/ViewTransitions.astro @@ -29,8 +29,8 @@ const { fallback = 'animate', handleForms } = Astro.props; <script> import type { Options } from 'astro:transitions/client'; import { supportsViewTransitions, navigate } from 'astro:transitions/client'; - // NOTE: import from `astro/prefetch` as `astro:prefetch` requires the `prefetch` config to be enabled - import { init } from 'astro/prefetch'; + // NOTE: import from `astro/virtual-modules/prefetch.js` as `astro:prefetch` requires the `prefetch` config to be enabled + import { init } from 'astro/virtual-modules/prefetch.js'; export type Fallback = 'none' | 'animate' | 'swap'; diff --git a/packages/astro/package.json b/packages/astro/package.json index 751c511b2..4cd290206 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -22,10 +22,7 @@ "./dist/core/app/*" ], "middleware": [ - "./dist/core/middleware/index.d.ts" - ], - "middleware/namespace": [ - "./dist/core/middleware/namespace.d.ts" + "./dist/virtual-modules/middleware.d.ts" ] } }, @@ -73,14 +70,7 @@ "types": "./dist/core/middleware/index.d.ts", "default": "./dist/core/middleware/index.js" }, - "./middleware/namespace": { - "types": "./dist/core/middleware/namespace.d.ts", - "default": "./dist/core/middleware/namespace.js" - }, - "./transitions": "./dist/transitions/index.js", - "./transitions/router": "./dist/transitions/router.js", - "./prefetch": "./dist/prefetch/index.js", - "./i18n": "./dist/i18n/index.js" + "./virtual-modules/*": "./dist/virtual-modules/*" }, "imports": { "#astro/*": "./dist/*.js" diff --git a/packages/astro/src/core/create-vite.ts b/packages/astro/src/core/create-vite.ts index 2b677c1d9..c9716af89 100644 --- a/packages/astro/src/core/create-vite.ts +++ b/packages/astro/src/core/create-vite.ts @@ -192,7 +192,7 @@ export async function createVite( }, { find: 'astro:middleware', - replacement: 'astro/middleware/namespace', + replacement: 'astro/virtual-modules/middleware.js', }, { find: 'astro:components', diff --git a/packages/astro/src/core/middleware/namespace.ts b/packages/astro/src/core/middleware/namespace.ts deleted file mode 100644 index 55a84f666..000000000 --- a/packages/astro/src/core/middleware/namespace.ts +++ /dev/null @@ -1 +0,0 @@ -export { defineMiddleware, sequence } from './index.js'; diff --git a/packages/astro/src/i18n/vite-plugin-i18n.ts b/packages/astro/src/i18n/vite-plugin-i18n.ts index 4aa6ee42e..faba67da3 100644 --- a/packages/astro/src/i18n/vite-plugin-i18n.ts +++ b/packages/astro/src/i18n/vite-plugin-i18n.ts @@ -28,7 +28,7 @@ export default function astroInternationalization({ getLocaleAbsoluteUrl as _getLocaleAbsoluteUrl, getLocaleAbsoluteUrlList as _getLocaleAbsoluteUrlList, - } from "astro/i18n"; + } from "astro/virtual-modules/i18n.js"; const base = ${JSON.stringify(settings.config.base)}; const trailingSlash = ${JSON.stringify(settings.config.trailingSlash)}; diff --git a/packages/astro/src/prefetch/vite-plugin-prefetch.ts b/packages/astro/src/prefetch/vite-plugin-prefetch.ts index 73ae53f63..69714fd49 100644 --- a/packages/astro/src/prefetch/vite-plugin-prefetch.ts +++ b/packages/astro/src/prefetch/vite-plugin-prefetch.ts @@ -4,7 +4,7 @@ import type { AstroSettings } from '../@types/astro.js'; const virtualModuleId = 'astro:prefetch'; const resolvedVirtualModuleId = '\0' + virtualModuleId; const prefetchInternalModuleFsSubpath = 'astro/dist/prefetch/index.js'; -const prefetchCode = `import { init } from 'astro/prefetch';init()`; +const prefetchCode = `import { init } from 'astro/virtual-modules/prefetch.js';init()`; export default function astroPrefetch({ settings }: { settings: AstroSettings }): vite.Plugin { const prefetchOption = settings.config.prefetch; @@ -19,7 +19,7 @@ export default function astroPrefetch({ settings }: { settings: AstroSettings }) // Inject prefetch script to all pages settings.scripts.push({ stage: 'page', - content: `import { init } from 'astro/prefetch';init()`, + content: `import { init } from 'astro/virtual-modules/prefetch.js';init()`, }); } @@ -40,7 +40,7 @@ export default function astroPrefetch({ settings }: { settings: AstroSettings }) load(id) { if (id === resolvedVirtualModuleId) { if (!prefetch) throwPrefetchNotEnabledError(); - return `export { prefetch } from "astro/prefetch";`; + return `export { prefetch } from "astro/virtual-modules/prefetch.js";`; } }, transform(code, id) { diff --git a/packages/astro/src/transitions/vite-plugin-transitions.ts b/packages/astro/src/transitions/vite-plugin-transitions.ts index 8d5dbe553..cd5b0e616 100644 --- a/packages/astro/src/transitions/vite-plugin-transitions.ts +++ b/packages/astro/src/transitions/vite-plugin-transitions.ts @@ -21,13 +21,13 @@ export default function astroTransitions({ settings }: { settings: AstroSettings load(id) { if (id === resolvedVirtualModuleId) { return ` - export * from "astro/transitions"; + export * from "astro/virtual-modules/transitions.js"; export { default as ViewTransitions } from "astro/components/ViewTransitions.astro"; `; } if (id === resolvedVirtualClientModuleId) { return ` - export * from "astro/transitions/router"; + export * from "astro/virtual-modules/transitions-router.js"; `; } }, diff --git a/packages/astro/src/virtual-modules/README.md b/packages/astro/src/virtual-modules/README.md new file mode 100644 index 000000000..137e2e16f --- /dev/null +++ b/packages/astro/src/virtual-modules/README.md @@ -0,0 +1,3 @@ +# virtual-modules + +This directory contains the entry points for Astro virtual modules. For example, `astro:foobar` would re-export or use `astro/virtual-modules/foobar.js` which maps to the internal file `astro/dist/virtual-modules/foobar.js`. diff --git a/packages/astro/src/virtual-modules/i18n.ts b/packages/astro/src/virtual-modules/i18n.ts new file mode 100644 index 000000000..a55c1f6cf --- /dev/null +++ b/packages/astro/src/virtual-modules/i18n.ts @@ -0,0 +1 @@ +export * from '../i18n/index.js'; diff --git a/packages/astro/src/virtual-modules/middleware.ts b/packages/astro/src/virtual-modules/middleware.ts new file mode 100644 index 000000000..4874c88d0 --- /dev/null +++ b/packages/astro/src/virtual-modules/middleware.ts @@ -0,0 +1 @@ +export { defineMiddleware, sequence } from '../core/middleware/index.js'; diff --git a/packages/astro/src/virtual-modules/prefetch.ts b/packages/astro/src/virtual-modules/prefetch.ts new file mode 100644 index 000000000..72bc23e2d --- /dev/null +++ b/packages/astro/src/virtual-modules/prefetch.ts @@ -0,0 +1 @@ +export * from '../prefetch/index.js'; diff --git a/packages/astro/src/virtual-modules/transitions-router.ts b/packages/astro/src/virtual-modules/transitions-router.ts new file mode 100644 index 000000000..666089f3f --- /dev/null +++ b/packages/astro/src/virtual-modules/transitions-router.ts @@ -0,0 +1 @@ +export * from '../transitions/router.js'; diff --git a/packages/astro/src/virtual-modules/transitions.ts b/packages/astro/src/virtual-modules/transitions.ts new file mode 100644 index 000000000..84aeb3a2c --- /dev/null +++ b/packages/astro/src/virtual-modules/transitions.ts @@ -0,0 +1 @@ +export * from '../transitions/index.js'; |