feat: refactor name and enable within tests

This commit is contained in:
Julien Huang 2024-08-29 21:55:56 +02:00
parent 1e0176bbf4
commit 8fe83934af
2 changed files with 5 additions and 5 deletions

View File

@ -15,7 +15,7 @@ interface LoaderOptions {
sourcemap?: boolean
transform?: ComponentsOptions['transform']
experimentalComponentIslands?: boolean
isDev: boolean
defaultToAutoImportName: boolean
}
export const loaderPlugin = createUnplugin((options: LoaderOptions) => {
@ -75,10 +75,10 @@ export const loaderPlugin = createUnplugin((options: LoaderOptions) => {
if (lazy) {
imports.add(genImport('vue', [{ name: 'defineAsyncComponent', as: '__defineAsyncComponent' }]))
identifier += '_lazy'
imports.add(`const ${identifier} = __defineAsyncComponent(${genDynamicImport(component.filePath, { interopDefault: false })}.then(c => ${options.isDev ? `Object.assign(c.${component.export ?? 'default'} || c, {name: (c.${component.export ?? 'default'} || c)?.name ?? ${JSON.stringify(component.pascalName)}})` : `c.${component.export ?? 'default'} || c`})${isClientOnly ? '.then(c => createClientOnly(c))' : ''})`)
imports.add(`const ${identifier} = __defineAsyncComponent(${genDynamicImport(component.filePath, { interopDefault: false })}.then(c => ${options.defaultToAutoImportName ? `Object.assign(c.${component.export ?? 'default'} || c, {name: (c.${component.export ?? 'default'} || c)?.name ?? ${JSON.stringify(component.pascalName)}})` : `c.${component.export ?? 'default'} || c`})${isClientOnly ? '.then(c => createClientOnly(c))' : ''})`)
} else {
imports.add(genImport(component.filePath, [{ name: component._raw ? 'default' : component.export, as: identifier }]))
if (options.isDev) {
if (options.defaultToAutoImportName) {
imports.add(`const ${identifier}_dev = Object.assign(${identifier}, { name: ${JSON.stringify(component.pascalName)} })`)
identifier += '_dev'
}

View File

@ -230,7 +230,7 @@ export default defineNuxtModule<ComponentsOptions>({
mode,
transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined,
experimentalComponentIslands: !!nuxt.options.experimental.componentIslands,
isDev: nuxt.options.dev,
defaultToAutoImportName: nuxt.options.dev || nuxt.options.test,
}))
if (nuxt.options.experimental.componentIslands) {
@ -300,7 +300,7 @@ export default defineNuxtModule<ComponentsOptions>({
mode,
transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined,
experimentalComponentIslands: !!nuxt.options.experimental.componentIslands,
isDev: nuxt.options.dev,
defaultToAutoImportName: nuxt.options.dev || nuxt.options.test,
}))
if (nuxt.options.experimental.componentIslands) {