Skip to content

Commit e781ef3

Browse files
authoredJan 18, 2023
feat: add experimental option to skip SSR transform (#11411)
1 parent 00919bb commit e781ef3

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed
 

‎packages/vite/src/node/config.ts

+8
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,14 @@ export interface ExperimentalOptions {
292292
* @default false
293293
*/
294294
hmrPartialAccept?: boolean
295+
/**
296+
* Skips SSR transform to make it easier to use Vite with Node ESM loaders.
297+
* @warning Enabling this will break normal operation of Vite's SSR in development mode.
298+
*
299+
* @experimental
300+
* @default false
301+
*/
302+
skipSsrTransform?: boolean
295303
}
296304

297305
export interface LegacyOptions {

‎packages/vite/src/node/server/transformRequest.ts

+8-7
Original file line numberDiff line numberDiff line change
@@ -266,13 +266,14 @@ async function loadAndTransform(
266266
}
267267
}
268268

269-
const result = ssr
270-
? await server.ssrTransform(code, map as SourceMap, url, originalCode)
271-
: ({
272-
code,
273-
map,
274-
etag: getEtag(code, { weak: true }),
275-
} as TransformResult)
269+
const result =
270+
ssr && !server.config.experimental.skipSsrTransform
271+
? await server.ssrTransform(code, map as SourceMap, url, originalCode)
272+
: ({
273+
code,
274+
map,
275+
etag: getEtag(code, { weak: true }),
276+
} as TransformResult)
276277

277278
// Only cache the result if the module wasn't invalidated while it was
278279
// being processed, so it is re-processed next time if it is stale

0 commit comments

Comments
 (0)
Please sign in to comment.