mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 08:33:53 +00:00
fix(nuxt): register/scan plugins with jsx/tsx extensions (#26230)
This commit is contained in:
parent
e889a7df59
commit
2baaab9893
@ -150,8 +150,8 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) {
|
||||
...(config.plugins || []),
|
||||
...config.srcDir
|
||||
? await resolveFiles(config.srcDir, [
|
||||
`${pluginDir}/*.{ts,js,mjs,cjs,mts,cts}`,
|
||||
`${pluginDir}/*/index.*{ts,js,mjs,cjs,mts,cts}` // TODO: remove, only scan top-level plugins #18418
|
||||
`${pluginDir}/*{${nuxt.options.extensions.join(',')}}`,
|
||||
`${pluginDir}/*/index{${nuxt.options.extensions.join(',')}}` // TODO: remove, only scan top-level plugins #18418
|
||||
])
|
||||
: []
|
||||
].map(plugin => normalizePlugin(plugin as NuxtPlugin)))
|
||||
|
@ -47,7 +47,7 @@ export async function extractMetadata (code: string) {
|
||||
if (metaCache[code]) {
|
||||
return metaCache[code]
|
||||
}
|
||||
const js = await transform(code, { loader: 'ts' })
|
||||
const js = await transform(code, { loader: 'tsx' })
|
||||
walk(parse(js.code, {
|
||||
sourceType: 'module',
|
||||
ecmaVersion: 'latest'
|
||||
|
@ -10,7 +10,7 @@ describe('plugin-metadata', () => {
|
||||
name: 'test',
|
||||
enforce: 'post',
|
||||
hooks: { 'app:mounted': () => {} },
|
||||
setup: () => {},
|
||||
setup: () => { return { provide: { jsx: '[JSX]' } } },
|
||||
order: 1
|
||||
})
|
||||
|
||||
@ -19,7 +19,7 @@ describe('plugin-metadata', () => {
|
||||
|
||||
const meta = await extractMetadata([
|
||||
'export default defineNuxtPlugin({',
|
||||
...obj.map(([key, value]) => `${key}: ${typeof value === 'function' ? value.toString() : JSON.stringify(value)},`),
|
||||
...obj.map(([key, value]) => `${key}: ${typeof value === 'function' ? value.toString().replace('"[JSX]"', '() => <span>JSX</span>') : JSON.stringify(value)},`),
|
||||
'})'
|
||||
].join('\n'))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user