@@ -122,10 +122,22 @@ export async function compileFile(
122122 ssrCode += code
123123 }
124124
125+ const ceFilter = store . sfcOptions . script ?. customElement || / \. c e \. v u e $ /
126+ function isCustomElement ( filters : typeof ceFilter ) : boolean {
127+ if ( typeof filters === 'boolean' ) {
128+ return filters
129+ }
130+ if ( typeof filters === 'function' ) {
131+ return filters ( filename )
132+ }
133+ return filters . test ( filename )
134+ }
135+ let isCE = isCustomElement ( ceFilter )
136+
125137 let clientScript : string
126138 let bindings : BindingMetadata | undefined
127139 try {
128- const res = await doCompileScript ( store , descriptor , id , false , isTS , isJSX )
140+ const res = await doCompileScript ( store , descriptor , id , false , isTS , isJSX , isCE )
129141 clientScript = res . code
130142 bindings = res . bindings
131143 clientScriptMap = res . map
@@ -147,6 +159,7 @@ export async function compileFile(
147159 true ,
148160 isTS ,
149161 isJSX ,
162+ isCE
150163 )
151164 ssrScript = ssrScriptResult . code
152165 ssrCode += ssrScript
@@ -212,18 +225,6 @@ export async function compileFile(
212225 }
213226
214227 // styles
215- const ceFilter = store . sfcOptions . script ?. customElement || / \. c e \. v u e $ /
216- function isCustomElement ( filters : typeof ceFilter ) : boolean {
217- if ( typeof filters === 'boolean' ) {
218- return filters
219- }
220- if ( typeof filters === 'function' ) {
221- return filters ( filename )
222- }
223- return filters . test ( filename )
224- }
225- let isCE = isCustomElement ( ceFilter )
226-
227228 let css = ''
228229 let styles : string [ ] = [ ]
229230 for ( const style of descriptor . styles ) {
@@ -295,6 +296,7 @@ async function doCompileScript(
295296 ssr : boolean ,
296297 isTS : boolean ,
297298 isJSX : boolean ,
299+ isCustomElement : boolean ,
298300) : Promise < { code : string ; bindings : BindingMetadata | undefined ; map ?: any } > {
299301 if ( descriptor . script || descriptor . scriptSetup ) {
300302 const expressionPlugins : CompilerOptions [ 'expressionPlugins' ] = [ ]
@@ -318,6 +320,7 @@ async function doCompileScript(
318320 expressionPlugins,
319321 } ,
320322 } ,
323+ customElement : isCustomElement ,
321324 } )
322325 let code = compiledScript . content
323326 if ( isTS ) {
0 commit comments