forked from Mirrors/elk
45b6e39b6e
resolves 'Extraneous non-props attributes (class) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.'
28 lines
652 B
TypeScript
28 lines
652 B
TypeScript
import { addVitePlugin, defineNuxtModule } from '@nuxt/kit'
|
|
import MagicString from 'magic-string'
|
|
|
|
export default defineNuxtModule({
|
|
meta: {
|
|
name: 'purge-comments',
|
|
},
|
|
setup() {
|
|
addVitePlugin({
|
|
name: 'purge-comments',
|
|
enforce: 'pre',
|
|
transform: (code, id) => {
|
|
if (!id.endsWith('.vue') || !code.includes('<!--'))
|
|
return
|
|
|
|
const s = new MagicString(code)
|
|
s.replace(/<!--(?:.*?)-->/sg, '')
|
|
|
|
if (s.hasChanged()) {
|
|
return {
|
|
code: s.toString(),
|
|
map: s.generateMap({ source: id, includeContent: true }),
|
|
}
|
|
}
|
|
},
|
|
})
|
|
},
|
|
})
|