From cc624f7fe1a8da716e3cb8500eddefed9908c237 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Mon, 7 Nov 2022 09:40:24 +0800 Subject: [PATCH] fix(compiler-sfc): allow export default substring --- packages/compiler-sfc/__tests__/rewriteDefault.spec.ts | 8 ++++++++ packages/compiler-sfc/src/rewriteDefault.ts | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/compiler-sfc/__tests__/rewriteDefault.spec.ts b/packages/compiler-sfc/__tests__/rewriteDefault.spec.ts index 40561da17db..27ab5f5d6e3 100644 --- a/packages/compiler-sfc/__tests__/rewriteDefault.spec.ts +++ b/packages/compiler-sfc/__tests__/rewriteDefault.spec.ts @@ -14,6 +14,14 @@ describe('compiler sfc: rewriteDefault', () => { ).toMatchInlineSnapshot(`"const script = {}"`) }) + test('rewrite variable value default', () => { + expect(rewriteDefault(`export const foo = 'default'`, 'script')) + .toMatchInlineSnapshot(` + "export const foo = 'default' + const script = {}" + `) + }) + test('rewrite export named default', () => { expect( rewriteDefault( diff --git a/packages/compiler-sfc/src/rewriteDefault.ts b/packages/compiler-sfc/src/rewriteDefault.ts index b3f57a0bc4b..795e7c3819e 100644 --- a/packages/compiler-sfc/src/rewriteDefault.ts +++ b/packages/compiler-sfc/src/rewriteDefault.ts @@ -2,7 +2,7 @@ import { parse, ParserPlugin } from '@babel/parser' import MagicString from 'magic-string' const defaultExportRE = /((?:^|\n|;)\s*)export(\s*)default/ -const namedDefaultExportRE = /((?:^|\n|;)\s*)export(.+)(?:as)?(\s*)default/s +const namedDefaultExportRE = /((?:^|\n|;)\s*)export([^'"]+)(?:as)?(\s*)default/s const exportDefaultClassRE = /((?:^|\n|;)\s*)export\s+default\s+class\s+([\w$]+)/