diff --git a/.changeset/fix-cloudflare-style-propagation.md b/.changeset/fix-cloudflare-style-propagation.md new file mode 100644 index 000000000000..53f2c815d8b6 --- /dev/null +++ b/.changeset/fix-cloudflare-style-propagation.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Fixes styles from Markdoc/MDX custom components not being extracted to `
` in the dev server when using the Cloudflare adapter with `prerenderEnvironment: 'node'` and rendering content through a wrapper component. diff --git a/packages/astro/src/core/module-loader/vite.ts b/packages/astro/src/core/module-loader/vite.ts index a5a0e250c7d6..bd5be31e4d72 100644 --- a/packages/astro/src/core/module-loader/vite.ts +++ b/packages/astro/src/core/module-loader/vite.ts @@ -6,7 +6,6 @@ import type { RunnableDevEnvironment } from 'vite'; import { collectErrorMetadata } from '../errors/dev/utils.js'; import { getViteErrorPayload } from '../errors/dev/vite.js'; import type { ModuleLoader, ModuleLoaderEventEmitter } from './runner.js'; -import { ASTRO_VITE_ENVIRONMENT_NAMES } from '../constants.js'; export function createViteLoader( viteServer: vite.ViteDevServer, @@ -110,7 +109,7 @@ export function createViteLoader( return viteServer.environments.client.hot.send(msg); }, getSSREnvironment() { - return viteServer.environments[ASTRO_VITE_ENVIRONMENT_NAMES.ssr] as RunnableDevEnvironment; + return ssrEnvironment; }, isHttps() { return !!ssrEnvironment.config.server.https; diff --git a/packages/astro/test/units/dev/module-loader.test.ts b/packages/astro/test/units/dev/module-loader.test.ts new file mode 100644 index 000000000000..b6002be581b9 --- /dev/null +++ b/packages/astro/test/units/dev/module-loader.test.ts @@ -0,0 +1,74 @@ +import * as assert from 'node:assert/strict'; +import { EventEmitter } from 'node:events'; +import { describe, it } from 'node:test'; +import { createViteLoader } from '../../../dist/core/module-loader/vite.js'; + +/** + * Creates a minimal mock ViteDevServer with stub watcher and client hot. + */ +function createMockViteServer(environments: Record