mirror of https://github.com/nuxt/nuxt.git
feat: refactor name and enable within tests
This commit is contained in:
parent
1e0176bbf4
commit
8fe83934af
|
@ -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'
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue