From: Eduardo San Martin Morote Date: Thu, 30 Nov 2023 08:39:40 +0000 (+0100) Subject: feat(compiler-core): support accessing Error as global in template expressions (... X-Git-Tag: v3.4.0-alpha.4~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bcca475dbc58d76434cd8120b94929758cee2825;p=thirdparty%2Fvuejs%2Fcore.git feat(compiler-core): support accessing Error as global in template expressions (#7018) --- diff --git a/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts b/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts index 0d18c1bebe..a9697930c9 100644 --- a/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts +++ b/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts @@ -161,6 +161,14 @@ describe('compiler: expression transform', () => { type: NodeTypes.COMPOUND_EXPRESSION, children: [{ content: `Math` }, `.`, { content: `max` }, `(1, 2)`] }) + + expect( + (parseWithExpressionTransform(`{{ new Error() }}`) as InterpolationNode) + .content + ).toMatchObject({ + type: NodeTypes.COMPOUND_EXPRESSION, + children: ['new ', { content: 'Error' }, '()'] + }) }) test('should not prefix reserved literals', () => { diff --git a/packages/shared/src/globalsAllowList.ts b/packages/shared/src/globalsAllowList.ts index 4af518c22f..210650e3e2 100644 --- a/packages/shared/src/globalsAllowList.ts +++ b/packages/shared/src/globalsAllowList.ts @@ -3,7 +3,7 @@ import { makeMap } from './makeMap' const GLOBALS_ALLOWED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' + 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' + - 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console' + 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error' export const isGloballyAllowed = /*#__PURE__*/ makeMap(GLOBALS_ALLOWED)