mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-21 21:25:11 +00:00
fix(nuxt): handle empty plugin files
This commit is contained in:
parent
93dacc0562
commit
45824edeee
@ -125,18 +125,26 @@ export const RemovePluginMetadataPlugin = (nuxt: Nuxt) => createUnplugin(() => {
|
||||
const plugin = nuxt.apps.default?.plugins.find(p => p.src === id)
|
||||
if (!plugin) { return }
|
||||
|
||||
const s = new MagicString(code)
|
||||
if (!code.trim()) {
|
||||
logger.warn(`Plugin \`${plugin.src}\` has no content.`)
|
||||
|
||||
return {
|
||||
code: 'export default () => {}',
|
||||
map: { mappings: '' },
|
||||
}
|
||||
}
|
||||
|
||||
const exports = findExports(code)
|
||||
const defaultExport = exports.find(e => e.type === 'default' || e.name === 'default')
|
||||
if (!defaultExport) {
|
||||
logger.warn(`Plugin \`${plugin.src}\` has no default export and will be ignored at build time. Add \`export default defineNuxtPlugin(() => {})\` to your plugin.`)
|
||||
s.overwrite(0, code.length, 'export default () => {}')
|
||||
return {
|
||||
code: s.toString(),
|
||||
map: nuxt.options.sourcemap.client || nuxt.options.sourcemap.server ? s.generateMap({ hires: true }) : null,
|
||||
code: 'export default () => {}',
|
||||
map: { mappings: '' },
|
||||
}
|
||||
}
|
||||
|
||||
const s = new MagicString(code)
|
||||
let wrapped = false
|
||||
const wrapperNames = new Set(['defineNuxtPlugin', 'definePayloadPlugin'])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user