From 40193696b3564202173ac0367e4b3ae48c4ffb84 Mon Sep 17 00:00:00 2001 From: Evan You Date: Wed, 4 Sep 2024 20:24:33 +0800 Subject: [PATCH] chore(build): use /*@__PURE__*/ annotation consistently --- .../__snapshots__/cacheStatic.spec.ts.snap | 2 +- packages/compiler-core/src/codegen.ts | 2 +- .../src/transforms/transformExpression.ts | 2 +- .../src/transforms/stringifyStatic.ts | 2 +- packages/compiler-dom/src/transforms/vOn.ts | 8 ++-- .../__snapshots__/compileScript.spec.ts.snap | 38 +++++++-------- .../__tests__/compileScript.spec.ts | 8 ++-- .../__snapshots__/defineEmits.spec.ts.snap | 32 ++++++------- .../__snapshots__/defineModel.spec.ts.snap | 24 +++++----- .../__snapshots__/defineOptions.spec.ts.snap | 2 +- .../__snapshots__/defineProps.spec.ts.snap | 48 +++++++++---------- .../definePropsDestructure.spec.ts.snap | 12 ++--- .../__snapshots__/defineSlots.spec.ts.snap | 4 +- .../__snapshots__/hoistStatic.spec.ts.snap | 2 +- .../importUsageCheck.spec.ts.snap | 26 +++++----- .../compileScript/defineEmits.spec.ts | 2 +- .../compileScript/defineModel.spec.ts | 4 +- .../compileScript/defineOptions.spec.ts | 2 +- .../compileScript/defineProps.spec.ts | 2 +- .../definePropsDestructure.spec.ts | 6 +-- packages/compiler-sfc/src/compileScript.ts | 4 +- .../compiler-sfc/src/script/defineEmits.ts | 2 +- .../compiler-sfc/src/script/defineProps.ts | 6 +-- packages/reactivity/__tests__/watch.spec.ts | 2 +- packages/reactivity/src/baseHandlers.ts | 12 ++--- packages/reactivity/src/collectionHandlers.ts | 10 ++-- .../runtime-core/src/apiDefineComponent.ts | 2 +- .../runtime-core/src/compat/compatConfig.ts | 2 +- .../src/compat/instanceEventEmitter.ts | 2 +- packages/runtime-core/src/compat/renderFn.ts | 2 +- .../runtime-core/src/compat/renderHelpers.ts | 2 +- packages/runtime-core/src/component.ts | 2 +- packages/runtime-core/src/componentProps.ts | 2 +- .../src/componentPublicInstance.ts | 4 +- .../runtime-core/src/components/KeepAlive.ts | 2 +- packages/runtime-core/src/devtools.ts | 10 ++-- packages/runtime-core/src/scheduler.ts | 2 +- .../runtime-dom/src/components/Transition.ts | 4 +- .../src/components/TransitionGroup.ts | 4 +- packages/runtime-dom/src/index.ts | 2 +- packages/runtime-dom/src/modules/attrs.ts | 2 +- packages/runtime-dom/src/modules/events.ts | 2 +- packages/runtime-dom/src/nodeOps.ts | 4 +- .../src/helpers/ssrRenderAttrs.ts | 2 +- packages/shared/src/domAttrConfig.ts | 8 ++-- packages/shared/src/domTagConfig.ts | 8 ++-- packages/shared/src/general.ts | 4 +- packages/shared/src/globalsAllowList.ts | 2 +- rollup.config.js | 8 ++-- 49 files changed, 173 insertions(+), 173 deletions(-) diff --git a/packages/compiler-core/__tests__/transforms/__snapshots__/cacheStatic.spec.ts.snap b/packages/compiler-core/__tests__/transforms/__snapshots__/cacheStatic.spec.ts.snap index 8d0305ee3..375a0c867 100644 --- a/packages/compiler-core/__tests__/transforms/__snapshots__/cacheStatic.spec.ts.snap +++ b/packages/compiler-core/__tests__/transforms/__snapshots__/cacheStatic.spec.ts.snap @@ -191,7 +191,7 @@ exports[`compiler: cacheStatic transform > prefixIdentifiers > hoist class with const { createElementVNode: _createElementVNode } = _Vue const _hoisted_1 = { - class: /*#__PURE__*/_normalizeClass({ foo: true }) + class: /*@__PURE__*/_normalizeClass({ foo: true }) } return function render(_ctx, _cache) { diff --git a/packages/compiler-core/src/codegen.ts b/packages/compiler-core/src/codegen.ts index aafd059a1..6b6f24b3a 100644 --- a/packages/compiler-core/src/codegen.ts +++ b/packages/compiler-core/src/codegen.ts @@ -99,7 +99,7 @@ interface MappingItem { name: string | null } -const PURE_ANNOTATION = `/*#__PURE__*/` +const PURE_ANNOTATION = `/*@__PURE__*/` const aliasHelper = (s: symbol) => `${helperNameMap[s]}: _${helperNameMap[s]}` diff --git a/packages/compiler-core/src/transforms/transformExpression.ts b/packages/compiler-core/src/transforms/transformExpression.ts index 716da46c9..ec2d46853 100644 --- a/packages/compiler-core/src/transforms/transformExpression.ts +++ b/packages/compiler-core/src/transforms/transformExpression.ts @@ -44,7 +44,7 @@ import { parseExpression } from '@babel/parser' import { IS_REF, UNREF } from '../runtimeHelpers' import { BindingTypes } from '../options' -const isLiteralWhitelisted = /*#__PURE__*/ makeMap('true,false,null,this') +const isLiteralWhitelisted = /*@__PURE__*/ makeMap('true,false,null,this') export const transformExpression: NodeTransform = (node, context) => { if (node.type === NodeTypes.INTERPOLATION) { diff --git a/packages/compiler-dom/src/transforms/stringifyStatic.ts b/packages/compiler-dom/src/transforms/stringifyStatic.ts index 4bce0f990..05535a2c3 100644 --- a/packages/compiler-dom/src/transforms/stringifyStatic.ts +++ b/packages/compiler-dom/src/transforms/stringifyStatic.ts @@ -188,7 +188,7 @@ const isStringifiableAttr = (name: string, ns: Namespaces) => { ) } -const isNonStringifiable = /*#__PURE__*/ makeMap( +const isNonStringifiable = /*@__PURE__*/ makeMap( `caption,thead,tr,th,tbody,td,tfoot,colgroup,col`, ) diff --git a/packages/compiler-dom/src/transforms/vOn.ts b/packages/compiler-dom/src/transforms/vOn.ts index 88d2c5db7..335b84a2e 100644 --- a/packages/compiler-dom/src/transforms/vOn.ts +++ b/packages/compiler-dom/src/transforms/vOn.ts @@ -17,8 +17,8 @@ import { import { V_ON_WITH_KEYS, V_ON_WITH_MODIFIERS } from '../runtimeHelpers' import { capitalize, makeMap } from '@vue/shared' -const isEventOptionModifier = /*#__PURE__*/ makeMap(`passive,once,capture`) -const isNonKeyModifier = /*#__PURE__*/ makeMap( +const isEventOptionModifier = /*@__PURE__*/ makeMap(`passive,once,capture`) +const isNonKeyModifier = /*@__PURE__*/ makeMap( // event propagation management `stop,prevent,self,` + // system modifiers + exact @@ -27,8 +27,8 @@ const isNonKeyModifier = /*#__PURE__*/ makeMap( `middle`, ) // left & right could be mouse or key modifiers based on event type -const maybeKeyModifier = /*#__PURE__*/ makeMap('left,right') -const isKeyboardEvent = /*#__PURE__*/ makeMap( +const maybeKeyModifier = /*@__PURE__*/ makeMap('left,right') +const isKeyboardEvent = /*@__PURE__*/ makeMap( `onkeyup,onkeydown,onkeypress`, true, ) diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index e092d83e7..bf40b0529 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -20,7 +20,7 @@ exports[`SFC analyze `) assertCode(content) - expect(content).toMatch(`export default /*#__PURE__*/_defineComponent({ + expect(content).toMatch(`export default /*@__PURE__*/_defineComponent({ emits: ['a', 'b'], setup(__props, { expose: __expose, emit: __emit }) {`) expect(content).toMatch('const emit = __emit') diff --git a/packages/compiler-sfc/__tests__/compileScript/defineModel.spec.ts b/packages/compiler-sfc/__tests__/compileScript/defineModel.spec.ts index 4550aa5c4..5d696a95d 100644 --- a/packages/compiler-sfc/__tests__/compileScript/defineModel.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScript/defineModel.spec.ts @@ -47,7 +47,7 @@ describe('defineModel()', () => { `, ) assertCode(content) - expect(content).toMatch(`props: /*#__PURE__*/_mergeModels({ foo: String }`) + expect(content).toMatch(`props: /*@__PURE__*/_mergeModels({ foo: String }`) expect(content).toMatch(`"modelValue": { default: 0 }`) expect(content).toMatch(`const count = _useModel(__props, "modelValue")`) expect(content).not.toMatch('defineModel') @@ -68,7 +68,7 @@ describe('defineModel()', () => { `, ) assertCode(content) - expect(content).toMatch(`props: /*#__PURE__*/_mergeModels(['foo', 'bar'], { + expect(content).toMatch(`props: /*@__PURE__*/_mergeModels(['foo', 'bar'], { "count": {}, "countModifiers": {}, })`) diff --git a/packages/compiler-sfc/__tests__/compileScript/defineOptions.spec.ts b/packages/compiler-sfc/__tests__/compileScript/defineOptions.spec.ts index dac9ef641..286f1e11b 100644 --- a/packages/compiler-sfc/__tests__/compileScript/defineOptions.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScript/defineOptions.spec.ts @@ -12,7 +12,7 @@ describe('defineOptions()', () => { expect(content).not.toMatch('defineOptions') // should include context options in default export expect(content).toMatch( - `export default /*#__PURE__*/Object.assign({ name: 'FooApp' }, `, + `export default /*@__PURE__*/Object.assign({ name: 'FooApp' }, `, ) }) diff --git a/packages/compiler-sfc/__tests__/compileScript/defineProps.spec.ts b/packages/compiler-sfc/__tests__/compileScript/defineProps.spec.ts index 813cfc9c3..c9ef103c4 100644 --- a/packages/compiler-sfc/__tests__/compileScript/defineProps.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScript/defineProps.spec.ts @@ -64,7 +64,7 @@ const props = defineProps({ foo: String }) `) assertCode(content) - expect(content).toMatch(`export default /*#__PURE__*/_defineComponent({ + expect(content).toMatch(`export default /*@__PURE__*/_defineComponent({ props: { foo: String }, setup(__props, { expose: __expose }) {`) }) diff --git a/packages/compiler-sfc/__tests__/compileScript/definePropsDestructure.spec.ts b/packages/compiler-sfc/__tests__/compileScript/definePropsDestructure.spec.ts index 279007503..6202f427b 100644 --- a/packages/compiler-sfc/__tests__/compileScript/definePropsDestructure.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScript/definePropsDestructure.spec.ts @@ -78,7 +78,7 @@ describe('sfc reactive props destructure', () => { // function // functions need to be marked with a skip marker expect(content) - .toMatch(`props: /*#__PURE__*/_mergeDefaults(['foo', 'bar', 'baz'], { + .toMatch(`props: /*@__PURE__*/_mergeDefaults(['foo', 'bar', 'baz'], { foo: 1, bar: () => ({}), func: () => {}, __skip_func: true @@ -98,7 +98,7 @@ describe('sfc reactive props destructure', () => { // safely infer whether runtime type is Function (e.g. if the runtime decl // is imported, or spreads another object) expect(content) - .toMatch(`props: /*#__PURE__*/_mergeDefaults({ foo: Number, bar: Object, func: Function, ext: null }, { + .toMatch(`props: /*@__PURE__*/_mergeDefaults({ foo: Number, bar: Object, func: Function, ext: null }, { foo: 1, bar: () => ({}), func: () => {}, __skip_func: true, @@ -122,7 +122,7 @@ describe('sfc reactive props destructure', () => { }) expect(content).toMatch(` - props: /*#__PURE__*/_mergeDefaults(['foo', 'foo:bar'], { + props: /*@__PURE__*/_mergeDefaults(['foo', 'foo:bar'], { foo: 1, "foo:bar": 'foo-bar' }),`) diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index f3eef6544..fee05beed 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -979,7 +979,7 @@ export function compileScript( (definedOptions ? `\n ...${definedOptions},` : '') ctx.s.prependLeft( startOffset, - `\n${genDefaultAs} /*#__PURE__*/${ctx.helper( + `\n${genDefaultAs} /*@__PURE__*/${ctx.helper( `defineComponent`, )}({${def}${runtimeOptions}\n ${ hasAwait ? `async ` : `` @@ -992,7 +992,7 @@ export function compileScript( // export default Object.assign(__default__, { ... }) ctx.s.prependLeft( startOffset, - `\n${genDefaultAs} /*#__PURE__*/Object.assign(${ + `\n${genDefaultAs} /*@__PURE__*/Object.assign(${ defaultExport ? `${normalScriptDefaultVar}, ` : '' }${definedOptions ? `${definedOptions}, ` : ''}{${runtimeOptions}\n ` + `${hasAwait ? `async ` : ``}setup(${args}) {\n${exposeCall}`, diff --git a/packages/compiler-sfc/src/script/defineEmits.ts b/packages/compiler-sfc/src/script/defineEmits.ts index 526a55dc8..e4e6bdabf 100644 --- a/packages/compiler-sfc/src/script/defineEmits.ts +++ b/packages/compiler-sfc/src/script/defineEmits.ts @@ -62,7 +62,7 @@ export function genRuntimeEmits(ctx: ScriptCompileContext): string | undefined { .map(n => JSON.stringify(`update:${n}`)) .join(', ')}]` emitsDecl = emitsDecl - ? `/*#__PURE__*/${ctx.helper( + ? `/*@__PURE__*/${ctx.helper( 'mergeModels', )}(${emitsDecl}, ${modelEmitsDecl})` : modelEmitsDecl diff --git a/packages/compiler-sfc/src/script/defineProps.ts b/packages/compiler-sfc/src/script/defineProps.ts index 9e6b0d86d..6e2032c41 100644 --- a/packages/compiler-sfc/src/script/defineProps.ts +++ b/packages/compiler-sfc/src/script/defineProps.ts @@ -147,7 +147,7 @@ export function genRuntimeProps(ctx: ScriptCompileContext): string | undefined { ) } if (defaults.length) { - propsDecls = `/*#__PURE__*/${ctx.helper( + propsDecls = `/*@__PURE__*/${ctx.helper( `mergeDefaults`, )}(${propsDecls}, {\n ${defaults.join(',\n ')}\n})` } @@ -159,7 +159,7 @@ export function genRuntimeProps(ctx: ScriptCompileContext): string | undefined { const modelsDecls = genModelProps(ctx) if (propsDecls && modelsDecls) { - return `/*#__PURE__*/${ctx.helper( + return `/*@__PURE__*/${ctx.helper( 'mergeModels', )}(${propsDecls}, ${modelsDecls})` } else { @@ -191,7 +191,7 @@ export function extractRuntimeProps( ${propStrings.join(',\n ')}\n }` if (ctx.propsRuntimeDefaults && !hasStaticDefaults) { - propsDecls = `/*#__PURE__*/${ctx.helper( + propsDecls = `/*@__PURE__*/${ctx.helper( 'mergeDefaults', )}(${propsDecls}, ${ctx.getString(ctx.propsRuntimeDefaults)})` } diff --git a/packages/reactivity/__tests__/watch.spec.ts b/packages/reactivity/__tests__/watch.spec.ts index 7a4078166..c8d48543f 100644 --- a/packages/reactivity/__tests__/watch.spec.ts +++ b/packages/reactivity/__tests__/watch.spec.ts @@ -13,7 +13,7 @@ const queue: (() => void)[] = [] // a simple scheduler for testing purposes let isFlushPending = false -const resolvedPromise = /*#__PURE__*/ Promise.resolve() as Promise +const resolvedPromise = /*@__PURE__*/ Promise.resolve() as Promise const nextTick = (fn?: () => any) => fn ? resolvedPromise.then(fn) : resolvedPromise diff --git a/packages/reactivity/src/baseHandlers.ts b/packages/reactivity/src/baseHandlers.ts index 5916c0b5d..4155c7088 100644 --- a/packages/reactivity/src/baseHandlers.ts +++ b/packages/reactivity/src/baseHandlers.ts @@ -25,10 +25,10 @@ import { import { isRef } from './ref' import { warn } from './warning' -const isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`) +const isNonTrackableKeys = /*@__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`) const builtInSymbols = new Set( - /*#__PURE__*/ + /*@__PURE__*/ Object.getOwnPropertyNames(Symbol) // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller' // but accessing them on Symbol leads to TypeError because Symbol is a strict mode @@ -240,16 +240,16 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler { } export const mutableHandlers: ProxyHandler = - /*#__PURE__*/ new MutableReactiveHandler() + /*@__PURE__*/ new MutableReactiveHandler() export const readonlyHandlers: ProxyHandler = - /*#__PURE__*/ new ReadonlyReactiveHandler() + /*@__PURE__*/ new ReadonlyReactiveHandler() export const shallowReactiveHandlers: MutableReactiveHandler = - /*#__PURE__*/ new MutableReactiveHandler(true) + /*@__PURE__*/ new MutableReactiveHandler(true) // Props handlers are special in the sense that it should not unwrap top-level // refs (in order to allow refs to be explicitly passed down), but should // retain the reactivity of the normal readonly object. export const shallowReadonlyHandlers: ReadonlyReactiveHandler = - /*#__PURE__*/ new ReadonlyReactiveHandler(true) + /*@__PURE__*/ new ReadonlyReactiveHandler(true) diff --git a/packages/reactivity/src/collectionHandlers.ts b/packages/reactivity/src/collectionHandlers.ts index 0b7d93be6..cf8ceae1b 100644 --- a/packages/reactivity/src/collectionHandlers.ts +++ b/packages/reactivity/src/collectionHandlers.ts @@ -332,7 +332,7 @@ const [ readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations, -] = /* #__PURE__*/ createInstrumentations() +] = /* @__PURE__*/ createInstrumentations() function createInstrumentationGetter(isReadonly: boolean, shallow: boolean) { const instrumentations = shallow @@ -367,20 +367,20 @@ function createInstrumentationGetter(isReadonly: boolean, shallow: boolean) { } export const mutableCollectionHandlers: ProxyHandler = { - get: /*#__PURE__*/ createInstrumentationGetter(false, false), + get: /*@__PURE__*/ createInstrumentationGetter(false, false), } export const shallowCollectionHandlers: ProxyHandler = { - get: /*#__PURE__*/ createInstrumentationGetter(false, true), + get: /*@__PURE__*/ createInstrumentationGetter(false, true), } export const readonlyCollectionHandlers: ProxyHandler = { - get: /*#__PURE__*/ createInstrumentationGetter(true, false), + get: /*@__PURE__*/ createInstrumentationGetter(true, false), } export const shallowReadonlyCollectionHandlers: ProxyHandler = { - get: /*#__PURE__*/ createInstrumentationGetter(true, true), + get: /*@__PURE__*/ createInstrumentationGetter(true, true), } function checkIdentityKeys( diff --git a/packages/runtime-core/src/apiDefineComponent.ts b/packages/runtime-core/src/apiDefineComponent.ts index 760689eeb..24a483358 100644 --- a/packages/runtime-core/src/apiDefineComponent.ts +++ b/packages/runtime-core/src/apiDefineComponent.ts @@ -299,7 +299,7 @@ export function defineComponent( return isFunction(options) ? // #8236: extend call and options.name access are considered side-effects // by Rollup, so we have to wrap it in a pure-annotated IIFE. - /*#__PURE__*/ (() => + /*@__PURE__*/ (() => extend({ name: options.name }, extraOptions, { setup: options }))() : options } diff --git a/packages/runtime-core/src/compat/compatConfig.ts b/packages/runtime-core/src/compat/compatConfig.ts index be0fd3dcc..de62873ff 100644 --- a/packages/runtime-core/src/compat/compatConfig.ts +++ b/packages/runtime-core/src/compat/compatConfig.ts @@ -509,7 +509,7 @@ export function configureCompat(config: CompatConfig): void { extend(globalCompatConfig, config) } -const seenConfigObjects = /*#__PURE__*/ new WeakSet() +const seenConfigObjects = /*@__PURE__*/ new WeakSet() const warnedInvalidKeys: Record = {} // dev only diff --git a/packages/runtime-core/src/compat/instanceEventEmitter.ts b/packages/runtime-core/src/compat/instanceEventEmitter.ts index cdf2d7988..2c99e6c53 100644 --- a/packages/runtime-core/src/compat/instanceEventEmitter.ts +++ b/packages/runtime-core/src/compat/instanceEventEmitter.ts @@ -8,7 +8,7 @@ interface EventRegistry { [event: string]: Function[] | undefined } -const eventRegistryMap = /*#__PURE__*/ new WeakMap< +const eventRegistryMap = /*@__PURE__*/ new WeakMap< ComponentInternalInstance, EventRegistry >() diff --git a/packages/runtime-core/src/compat/renderFn.ts b/packages/runtime-core/src/compat/renderFn.ts index 044b20d3f..49646eda4 100644 --- a/packages/runtime-core/src/compat/renderFn.ts +++ b/packages/runtime-core/src/compat/renderFn.ts @@ -172,7 +172,7 @@ export function compatH( } } -const skipLegacyRootLevelProps = /*#__PURE__*/ makeMap( +const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap( 'staticStyle,staticClass,directives,model,hook', ) diff --git a/packages/runtime-core/src/compat/renderHelpers.ts b/packages/runtime-core/src/compat/renderHelpers.ts index f85d24e64..ac8100877 100644 --- a/packages/runtime-core/src/compat/renderHelpers.ts +++ b/packages/runtime-core/src/compat/renderHelpers.ts @@ -114,7 +114,7 @@ function mapKeyToName(slots: LegacyScopedSlotsData) { return slots as any } -const staticCacheMap = /*#__PURE__*/ new WeakMap< +const staticCacheMap = /*@__PURE__*/ new WeakMap< ComponentInternalInstance, any[] >() diff --git a/packages/runtime-core/src/component.ts b/packages/runtime-core/src/component.ts index 556d158a2..cccb7280f 100644 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@ -774,7 +774,7 @@ export const unsetCurrentInstance = (): void => { internalSetCurrentInstance(null) } -const isBuiltInTag = /*#__PURE__*/ makeMap('slot,component') +const isBuiltInTag = /*@__PURE__*/ makeMap('slot,component') export function validateComponentName( name: string, diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index 830bfbc3f..c864ba155 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -707,7 +707,7 @@ function validateProp( } } -const isSimpleType = /*#__PURE__*/ makeMap( +const isSimpleType = /*@__PURE__*/ makeMap( 'String,Number,Boolean,Function,Symbol,BigInt', ) diff --git a/packages/runtime-core/src/componentPublicInstance.ts b/packages/runtime-core/src/componentPublicInstance.ts index 39935427f..5ba7c34cd 100644 --- a/packages/runtime-core/src/componentPublicInstance.ts +++ b/packages/runtime-core/src/componentPublicInstance.ts @@ -362,7 +362,7 @@ const getPublicInstance = ( export const publicPropertiesMap: PublicPropertiesMap = // Move PURE marker to new line to workaround compiler discarding it // due to type annotation - /*#__PURE__*/ extend(Object.create(null), { + /*@__PURE__*/ extend(Object.create(null), { $: i => i, $el: i => i.vnode.el, $data: i => i.data, @@ -614,7 +614,7 @@ if (__DEV__ && !__TEST__) { } export const RuntimeCompiledPublicInstanceProxyHandlers: ProxyHandler = - /*#__PURE__*/ extend({}, PublicInstanceProxyHandlers, { + /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, { get(target: ComponentRenderContext, key: string) { // fast path for unscopables when using `with` block if ((key as any) === Symbol.unscopables) { diff --git a/packages/runtime-core/src/components/KeepAlive.ts b/packages/runtime-core/src/components/KeepAlive.ts index e61c14f34..a87f44cc8 100644 --- a/packages/runtime-core/src/components/KeepAlive.ts +++ b/packages/runtime-core/src/components/KeepAlive.ts @@ -370,7 +370,7 @@ const decorate = (t: typeof KeepAliveImpl) => { // export the public type for h/tsx inference // also to avoid inline import() in generated d.ts files export const KeepAlive = (__COMPAT__ - ? /*#__PURE__*/ decorate(KeepAliveImpl) + ? /*@__PURE__*/ decorate(KeepAliveImpl) : KeepAliveImpl) as any as { __isKeepAlive: true new (): { diff --git a/packages/runtime-core/src/devtools.ts b/packages/runtime-core/src/devtools.ts index 3e472d868..9ac4c433a 100644 --- a/packages/runtime-core/src/devtools.ts +++ b/packages/runtime-core/src/devtools.ts @@ -101,12 +101,12 @@ export function devtoolsUnmountApp(app: App): void { } export const devtoolsComponentAdded: DevtoolsComponentHook = - /*#__PURE__*/ createDevtoolsComponentHook(DevtoolsHooks.COMPONENT_ADDED) + /*@__PURE__*/ createDevtoolsComponentHook(DevtoolsHooks.COMPONENT_ADDED) export const devtoolsComponentUpdated: DevtoolsComponentHook = - /*#__PURE__*/ createDevtoolsComponentHook(DevtoolsHooks.COMPONENT_UPDATED) + /*@__PURE__*/ createDevtoolsComponentHook(DevtoolsHooks.COMPONENT_UPDATED) -const _devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook( +const _devtoolsComponentRemoved = /*@__PURE__*/ createDevtoolsComponentHook( DevtoolsHooks.COMPONENT_REMOVED, ) @@ -141,10 +141,10 @@ function createDevtoolsComponentHook( } export const devtoolsPerfStart: DevtoolsPerformanceHook = - /*#__PURE__*/ createDevtoolsPerformanceHook(DevtoolsHooks.PERFORMANCE_START) + /*@__PURE__*/ createDevtoolsPerformanceHook(DevtoolsHooks.PERFORMANCE_START) export const devtoolsPerfEnd: DevtoolsPerformanceHook = - /*#__PURE__*/ createDevtoolsPerformanceHook(DevtoolsHooks.PERFORMANCE_END) + /*@__PURE__*/ createDevtoolsPerformanceHook(DevtoolsHooks.PERFORMANCE_END) type DevtoolsPerformanceHook = ( component: ComponentInternalInstance, diff --git a/packages/runtime-core/src/scheduler.ts b/packages/runtime-core/src/scheduler.ts index aa12b6896..7f52a77bd 100644 --- a/packages/runtime-core/src/scheduler.ts +++ b/packages/runtime-core/src/scheduler.ts @@ -50,7 +50,7 @@ const pendingPostFlushCbs: SchedulerJob[] = [] let activePostFlushCbs: SchedulerJob[] | null = null let postFlushIndex = 0 -const resolvedPromise = /*#__PURE__*/ Promise.resolve() as Promise +const resolvedPromise = /*@__PURE__*/ Promise.resolve() as Promise let currentFlushPromise: Promise | null = null const RECURSION_LIMIT = 100 diff --git a/packages/runtime-dom/src/components/Transition.ts b/packages/runtime-dom/src/components/Transition.ts index 94cf9b633..32a16f1d1 100644 --- a/packages/runtime-dom/src/components/Transition.ts +++ b/packages/runtime-dom/src/components/Transition.ts @@ -61,7 +61,7 @@ const DOMTransitionPropsValidators = { leaveToClass: String, } -export const TransitionPropsValidators: any = /*#__PURE__*/ extend( +export const TransitionPropsValidators: any = /*@__PURE__*/ extend( {}, BaseTransitionPropsValidators as any, DOMTransitionPropsValidators, @@ -85,7 +85,7 @@ const decorate = (t: typeof Transition) => { * base Transition component, with DOM-specific logic. */ export const Transition: FunctionalComponent = - /*#__PURE__*/ decorate((props, { slots }) => + /*@__PURE__*/ decorate((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots), ) diff --git a/packages/runtime-dom/src/components/TransitionGroup.ts b/packages/runtime-dom/src/components/TransitionGroup.ts index a596c3df9..ba1e2bdf0 100644 --- a/packages/runtime-dom/src/components/TransitionGroup.ts +++ b/packages/runtime-dom/src/components/TransitionGroup.ts @@ -52,10 +52,10 @@ const decorate = (t: typeof TransitionGroupImpl) => { return t } -const TransitionGroupImpl: ComponentOptions = /*#__PURE__*/ decorate({ +const TransitionGroupImpl: ComponentOptions = /*@__PURE__*/ decorate({ name: 'TransitionGroup', - props: /*#__PURE__*/ extend({}, TransitionPropsValidators, { + props: /*@__PURE__*/ extend({}, TransitionPropsValidators, { tag: String, moveClass: String, }), diff --git a/packages/runtime-dom/src/index.ts b/packages/runtime-dom/src/index.ts index 64bfacef2..ca9a307dd 100644 --- a/packages/runtime-dom/src/index.ts +++ b/packages/runtime-dom/src/index.ts @@ -63,7 +63,7 @@ declare module '@vue/runtime-core' { } } -const rendererOptions = /*#__PURE__*/ extend({ patchProp }, nodeOps) +const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps) // lazy create the renderer - this makes core renderer logic tree-shakable // in case the user only imports reactivity utilities from Vue. diff --git a/packages/runtime-dom/src/modules/attrs.ts b/packages/runtime-dom/src/modules/attrs.ts index 1403d0cc1..95e0a1485 100644 --- a/packages/runtime-dom/src/modules/attrs.ts +++ b/packages/runtime-dom/src/modules/attrs.ts @@ -48,7 +48,7 @@ export function patchAttr( // 2.x compat const isEnumeratedAttr = __COMPAT__ - ? /*#__PURE__*/ makeMap('contenteditable,draggable,spellcheck') + ? /*@__PURE__*/ makeMap('contenteditable,draggable,spellcheck') : NOOP export function compatCoerceAttr( diff --git a/packages/runtime-dom/src/modules/events.ts b/packages/runtime-dom/src/modules/events.ts index 49547e162..600b0840c 100644 --- a/packages/runtime-dom/src/modules/events.ts +++ b/packages/runtime-dom/src/modules/events.ts @@ -86,7 +86,7 @@ function parseName(name: string): [string, EventListenerOptions | undefined] { // To avoid the overhead of repeatedly calling Date.now(), we cache // and use the same timestamp for all event listeners attached in the same tick. let cachedNow: number = 0 -const p = /*#__PURE__*/ Promise.resolve() +const p = /*@__PURE__*/ Promise.resolve() const getNow = () => cachedNow || (p.then(() => (cachedNow = 0)), (cachedNow = Date.now())) diff --git a/packages/runtime-dom/src/nodeOps.ts b/packages/runtime-dom/src/nodeOps.ts index d7422bf61..70c610787 100644 --- a/packages/runtime-dom/src/nodeOps.ts +++ b/packages/runtime-dom/src/nodeOps.ts @@ -15,7 +15,7 @@ const tt = if (tt) { try { - policy = /*#__PURE__*/ tt.createPolicy('vue', { + policy = /*@__PURE__*/ tt.createPolicy('vue', { createHTML: val => val, }) } catch (e: unknown) { @@ -39,7 +39,7 @@ export const mathmlNS = 'http://www.w3.org/1998/Math/MathML' const doc = (typeof document !== 'undefined' ? document : null) as Document -const templateContainer = doc && /*#__PURE__*/ doc.createElement('template') +const templateContainer = doc && /*@__PURE__*/ doc.createElement('template') export const nodeOps: Omit, 'patchProp'> = { insert: (child, parent, anchor) => { diff --git a/packages/server-renderer/src/helpers/ssrRenderAttrs.ts b/packages/server-renderer/src/helpers/ssrRenderAttrs.ts index 55ab0b1e4..9689b4185 100644 --- a/packages/server-renderer/src/helpers/ssrRenderAttrs.ts +++ b/packages/server-renderer/src/helpers/ssrRenderAttrs.ts @@ -17,7 +17,7 @@ import { } from '@vue/shared' // leading comma for empty string "" -const shouldIgnoreProp = /*#__PURE__*/ makeMap( +const shouldIgnoreProp = /*@__PURE__*/ makeMap( `,key,ref,innerHTML,textContent,ref_key,ref_for`, ) diff --git a/packages/shared/src/domAttrConfig.ts b/packages/shared/src/domAttrConfig.ts index 04156b975..e62a3c2ef 100644 --- a/packages/shared/src/domAttrConfig.ts +++ b/packages/shared/src/domAttrConfig.ts @@ -13,12 +13,12 @@ import { makeMap } from './makeMap' */ const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly` export const isSpecialBooleanAttr: (key: string) => boolean = - /*#__PURE__*/ makeMap(specialBooleanAttrs) + /*@__PURE__*/ makeMap(specialBooleanAttrs) /** * The full list is needed during SSR to produce the correct initial markup. */ -export const isBooleanAttr: (key: string) => boolean = /*#__PURE__*/ makeMap( +export const isBooleanAttr: (key: string) => boolean = /*@__PURE__*/ makeMap( specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` + `inert,loop,open,required,reversed,scoped,seamless,` + @@ -60,7 +60,7 @@ export const propsToAttrMap: Record = { * Don't also forget to allow `data-*` and `aria-*`! * Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes */ -export const isKnownHtmlAttr: (key: string) => boolean = /*#__PURE__*/ makeMap( +export const isKnownHtmlAttr: (key: string) => boolean = /*@__PURE__*/ makeMap( `accept,accept-charset,accesskey,action,align,allow,alt,async,` + `autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,` + `border,buffered,capture,challenge,charset,checked,cite,class,code,` + @@ -81,7 +81,7 @@ export const isKnownHtmlAttr: (key: string) => boolean = /*#__PURE__*/ makeMap( /** * Generated from https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute */ -export const isKnownSvgAttr: (key: string) => boolean = /*#__PURE__*/ makeMap( +export const isKnownSvgAttr: (key: string) => boolean = /*@__PURE__*/ makeMap( `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,` + `arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,` + `baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,` + diff --git a/packages/shared/src/domTagConfig.ts b/packages/shared/src/domTagConfig.ts index 95b9c0443..7f9d198e5 100644 --- a/packages/shared/src/domTagConfig.ts +++ b/packages/shared/src/domTagConfig.ts @@ -43,22 +43,22 @@ const VOID_TAGS = * Do NOT use in runtime code paths unless behind `__DEV__` flag. */ export const isHTMLTag: (key: string) => boolean = - /*#__PURE__*/ makeMap(HTML_TAGS) + /*@__PURE__*/ makeMap(HTML_TAGS) /** * Compiler only. * Do NOT use in runtime code paths unless behind `__DEV__` flag. */ export const isSVGTag: (key: string) => boolean = - /*#__PURE__*/ makeMap(SVG_TAGS) + /*@__PURE__*/ makeMap(SVG_TAGS) /** * Compiler only. * Do NOT use in runtime code paths unless behind `__DEV__` flag. */ export const isMathMLTag: (key: string) => boolean = - /*#__PURE__*/ makeMap(MATH_TAGS) + /*@__PURE__*/ makeMap(MATH_TAGS) /** * Compiler only. * Do NOT use in runtime code paths unless behind `__DEV__` flag. */ export const isVoidTag: (key: string) => boolean = - /*#__PURE__*/ makeMap(VOID_TAGS) + /*@__PURE__*/ makeMap(VOID_TAGS) diff --git a/packages/shared/src/general.ts b/packages/shared/src/general.ts index 36b7232b4..552b44706 100644 --- a/packages/shared/src/general.ts +++ b/packages/shared/src/general.ts @@ -80,7 +80,7 @@ export const isIntegerKey = (key: unknown): boolean => key[0] !== '-' && '' + parseInt(key, 10) === key -export const isReservedProp: (key: string) => boolean = /*#__PURE__*/ makeMap( +export const isReservedProp: (key: string) => boolean = /*@__PURE__*/ makeMap( // the leading comma is intentional so empty string "" is also included ',key,ref,ref_for,ref_key,' + 'onVnodeBeforeMount,onVnodeMounted,' + @@ -89,7 +89,7 @@ export const isReservedProp: (key: string) => boolean = /*#__PURE__*/ makeMap( ) export const isBuiltInDirective: (key: string) => boolean = - /*#__PURE__*/ makeMap( + /*@__PURE__*/ makeMap( 'bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo', ) diff --git a/packages/shared/src/globalsAllowList.ts b/packages/shared/src/globalsAllowList.ts index e467a825a..3b584cc1a 100644 --- a/packages/shared/src/globalsAllowList.ts +++ b/packages/shared/src/globalsAllowList.ts @@ -6,7 +6,7 @@ const GLOBALS_ALLOWED = 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol' export const isGloballyAllowed: (key: string) => boolean = - /*#__PURE__*/ makeMap(GLOBALS_ALLOWED) + /*@__PURE__*/ makeMap(GLOBALS_ALLOWED) /** @deprecated use `isGloballyAllowed` instead */ export const isGloballyWhitelisted: (key: string) => boolean = isGloballyAllowed diff --git a/rollup.config.js b/rollup.config.js index a9f9b17f3..1d6f0da4c 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -223,10 +223,10 @@ function createConfig(format, output, plugins = []) { if (isProductionBuild && isBrowserBuild) { Object.assign(replacements, { - 'context.onError(': `/*#__PURE__*/ context.onError(`, - 'emitError(': `/*#__PURE__*/ emitError(`, - 'createCompilerError(': `/*#__PURE__*/ createCompilerError(`, - 'createDOMCompilerError(': `/*#__PURE__*/ createDOMCompilerError(`, + 'context.onError(': `/*@__PURE__*/ context.onError(`, + 'emitError(': `/*@__PURE__*/ emitError(`, + 'createCompilerError(': `/*@__PURE__*/ createCompilerError(`, + 'createDOMCompilerError(': `/*@__PURE__*/ createDOMCompilerError(`, }) }