@@ -40,6 +40,7 @@ import {
4040import { cjsModuleRunnerPlugin } from './plugins/cjs'
4141import { evalValue , parseIdQuery } from './plugins/utils'
4242import { createDebug } from '@hiogawa/utils'
43+ import { transformScanBuildStrip } from './plugins/scan'
4344
4445// state for build orchestration
4546let serverReferences : Record < string , string > = { }
@@ -901,9 +902,6 @@ globalThis.AsyncLocalStorage = __viteRscAyncHooks.AsyncLocalStorage;
901902 ]
902903}
903904
904- // https://github.com/vitejs/vite/blob/86d2e8be50be535494734f9f5f5236c61626b308/packages/vite/src/node/plugins/importMetaGlob.ts#L113
905- const importGlobRE = / \b i m p o r t \. m e t a \. g l o b (?: < \w + > ) ? \s * \( / g
906-
907905// During scan build, we strip all code but imports to
908906// traverse module graph faster and just discover client/server references.
909907function scanBuildStripPlugin ( ) : Plugin {
@@ -914,17 +912,10 @@ function scanBuildStripPlugin(): Plugin {
914912 transform ( code , _id , _options ) {
915913 if ( ! isScanBuild ) return
916914
917- // bail out if import.meta.glob
918- // https://github.com/vitejs/rolldown-vite/issues/373
919- if ( importGlobRE . test ( code ) ) return
920-
921- const [ imports ] = esModuleLexer . parse ( code )
922- let output = imports
923- . map ( ( e ) => e . n && `import ${ JSON . stringify ( e . n ) } ;\n` )
924- . filter ( Boolean )
925- . join ( '' )
926- output += 'module.exports = {};\n'
927- return { code : output , map : { mappings : '' } }
915+ const output = transformScanBuildStrip ( code )
916+ if ( output ) {
917+ return { code : output , map : { mappings : '' } }
918+ }
928919 } ,
929920 }
930921}
0 commit comments