Skip to content

Commit

Permalink
fix(nuxt): register/scan plugins with jsx/tsx extensions (#26230)
Browse files Browse the repository at this point in the history
  • Loading branch information
toyi committed Mar 13, 2024
1 parent e889a7d commit 2baaab9
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions packages/nuxt/src/core/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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)))
Expand Down
2 changes: 1 addition & 1 deletion packages/nuxt/src/core/plugins/plugin-metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
4 changes: 2 additions & 2 deletions packages/nuxt/test/plugin-metadata.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ describe('plugin-metadata', () => {
name: 'test',
enforce: 'post',
hooks: { 'app:mounted': () => {} },
setup: () => {},
setup: () => { return { provide: { jsx: '[JSX]' } } },
order: 1
})

Expand All @@ -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'))

Expand Down

0 comments on commit 2baaab9

Please sign in to comment.