From 8c24ee4b4fcfa16fdd8bb699643a92ee81f9c92b Mon Sep 17 00:00:00 2001 From: Vladimir Date: Thu, 23 Jan 2025 14:07:37 +0100 Subject: [PATCH] feat: expose createServerModuleRunnerTransport (#18730) --- packages/vite/index.cjs | 1 + packages/vite/rollup.dts.config.ts | 6 ++++++ packages/vite/src/node/index.ts | 8 +++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/vite/index.cjs b/packages/vite/index.cjs index c46eb3b7333e7d..823b11bc167e97 100644 --- a/packages/vite/index.cjs +++ b/packages/vite/index.cjs @@ -46,6 +46,7 @@ const disallowedVariables = [ // can be exposed, but doesn't make sense as it's Environment API related 'createServerHotChannel', 'createServerModuleRunner', + 'createServerModuleRunnerTransport', 'isRunnableDevEnvironment', ] disallowedVariables.forEach((name) => { diff --git a/packages/vite/rollup.dts.config.ts b/packages/vite/rollup.dts.config.ts index 39fe554311c81f..58c3f9e6b1edb4 100644 --- a/packages/vite/rollup.dts.config.ts +++ b/packages/vite/rollup.dts.config.ts @@ -95,6 +95,8 @@ function patchTypes(): Plugin { renderChunk(code, chunk) { if ( chunk.fileName.startsWith('module-runner') || + // index and moduleRunner have a common chunk "moduleRunnerTransport" + chunk.fileName.startsWith('moduleRunnerTransport') || chunk.fileName.startsWith('types.d-') ) { validateRunnerChunk.call(this, chunk) @@ -117,6 +119,8 @@ function validateRunnerChunk(this: PluginContext, chunk: RenderedChunk) { if ( !id.startsWith('./') && !id.startsWith('../') && + // index and moduleRunner have a common chunk "moduleRunnerTransport" + !id.startsWith('moduleRunnerTransport.d') && !id.startsWith('types.d') ) { this.warn( @@ -139,6 +143,8 @@ function validateChunkImports(this: PluginContext, chunk: RenderedChunk) { !id.startsWith('node:') && !id.startsWith('types.d') && !id.startsWith('vite/') && + // index and moduleRunner have a common chunk "moduleRunnerTransport" + !id.startsWith('moduleRunnerTransport.d') && !deps.includes(id) && !deps.some((name) => id.startsWith(name + '/')) ) { diff --git a/packages/vite/src/node/index.ts b/packages/vite/src/node/index.ts index f27b510da63358..ee5e4e9c820d28 100644 --- a/packages/vite/src/node/index.ts +++ b/packages/vite/src/node/index.ts @@ -35,7 +35,10 @@ export { runnerImport } from './ssr/runnerImport' export { BuildEnvironment } from './build' export { fetchModule, type FetchModuleOptions } from './ssr/fetchModule' -export { createServerModuleRunner } from './ssr/runtime/serverModuleRunner' +export { + createServerModuleRunner, + createServerModuleRunnerTransport, +} from './ssr/runtime/serverModuleRunner' export { createServerHotChannel } from './server/hmr' export { ssrTransform as moduleRunnerTransform } from './ssr/ssrTransform' export type { ModuleRunnerTransformOptions } from './ssr/ssrTransform' @@ -170,6 +173,9 @@ export type { HotChannel, ServerHotChannel, HotChannelClient, + NormalizedHotChannel, + NormalizedHotChannelClient, + NormalizedServerHotChannel, } from './server/hmr' export type { FetchFunction, FetchResult } from 'vite/module-runner'