fix(compiler-sfc): fix parsing of mts, d.mts, and mtsx files

This commit is contained in:
Evan You 2024-06-14 16:47:24 +02:00
parent 4ec387b100
commit a476692ed2
No known key found for this signature in database
GPG Key ID: B9D421896CA450FB
2 changed files with 4 additions and 4 deletions

View File

@ -175,14 +175,14 @@ export function resolveParserPlugins(
) { ) {
plugins.push('importAttributes') plugins.push('importAttributes')
} }
if (lang === 'jsx' || lang === 'tsx') { if (lang === 'jsx' || lang === 'tsx' || lang === 'mtsx') {
plugins.push('jsx') plugins.push('jsx')
} else if (userPlugins) { } else if (userPlugins) {
// If don't match the case of adding jsx // If don't match the case of adding jsx
// should remove the jsx from user options // should remove the jsx from user options
userPlugins = userPlugins.filter(p => p !== 'jsx') userPlugins = userPlugins.filter(p => p !== 'jsx')
} }
if (lang === 'ts' || lang === 'tsx') { if (lang === 'ts' || lang === 'mts' || lang === 'tsx' || lang === 'mtsx') {
plugins.push(['typescript', { dts }], 'explicitResourceManagement') plugins.push(['typescript', { dts }], 'explicitResourceManagement')
if (!userPlugins || !userPlugins.includes('decorators')) { if (!userPlugins || !userPlugins.includes('decorators')) {
plugins.push('decorators-legacy') plugins.push('decorators-legacy')

View File

@ -1139,12 +1139,12 @@ function parseFile(
parserPlugins?: SFCScriptCompileOptions['babelParserPlugins'], parserPlugins?: SFCScriptCompileOptions['babelParserPlugins'],
): Statement[] { ): Statement[] {
const ext = extname(filename) const ext = extname(filename)
if (ext === '.ts' || ext === '.tsx') { if (ext === '.ts' || ext === '.mts' || ext === '.tsx' || ext === '.mtsx') {
return babelParse(content, { return babelParse(content, {
plugins: resolveParserPlugins( plugins: resolveParserPlugins(
ext.slice(1), ext.slice(1),
parserPlugins, parserPlugins,
filename.endsWith('.d.ts'), /\.d\.m?ts$/.test(filename),
), ),
sourceType: 'module', sourceType: 'module',
}).program.body }).program.body