@vue/compat 3.4.0-alpha.3 → 3.4.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vue.cjs.js +232 -81
- package/dist/vue.cjs.prod.js +228 -63
- package/dist/vue.esm-browser.js +172 -62
- package/dist/vue.esm-browser.prod.js +5 -5
- package/dist/vue.esm-bundler.js +172 -62
- package/dist/vue.global.js +171 -61
- package/dist/vue.global.prod.js +5 -5
- package/dist/vue.runtime.esm-browser.js +121 -31
- package/dist/vue.runtime.esm-browser.prod.js +5 -5
- package/dist/vue.runtime.esm-bundler.js +121 -31
- package/dist/vue.runtime.global.js +120 -30
- package/dist/vue.runtime.global.prod.js +5 -5
- package/package.json +3 -3
package/dist/vue.cjs.js
CHANGED
|
@@ -15,8 +15,8 @@ const EMPTY_ARR = Object.freeze([]) ;
|
|
|
15
15
|
const NOOP = () => {
|
|
16
16
|
};
|
|
17
17
|
const NO = () => false;
|
|
18
|
-
const
|
|
19
|
-
|
|
18
|
+
const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
|
|
19
|
+
(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
|
|
20
20
|
const isModelListener = (key) => key.startsWith("onUpdate:");
|
|
21
21
|
const extend = Object.assign;
|
|
22
22
|
const remove = (arr, el) => {
|
|
@@ -128,7 +128,7 @@ const slotFlagsText = {
|
|
|
128
128
|
[3]: "FORWARDED"
|
|
129
129
|
};
|
|
130
130
|
|
|
131
|
-
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";
|
|
131
|
+
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,Error";
|
|
132
132
|
const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);
|
|
133
133
|
|
|
134
134
|
const range = 2;
|
|
@@ -1572,6 +1572,18 @@ function propertyToRef(source, key, defaultValue) {
|
|
|
1572
1572
|
return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
|
|
1573
1573
|
}
|
|
1574
1574
|
|
|
1575
|
+
const TrackOpTypes = {
|
|
1576
|
+
"GET": "get",
|
|
1577
|
+
"HAS": "has",
|
|
1578
|
+
"ITERATE": "iterate"
|
|
1579
|
+
};
|
|
1580
|
+
const TriggerOpTypes = {
|
|
1581
|
+
"SET": "set",
|
|
1582
|
+
"ADD": "add",
|
|
1583
|
+
"DELETE": "delete",
|
|
1584
|
+
"CLEAR": "clear"
|
|
1585
|
+
};
|
|
1586
|
+
|
|
1575
1587
|
const stack$1 = [];
|
|
1576
1588
|
function pushWarningContext(vnode) {
|
|
1577
1589
|
stack$1.push(vnode);
|
|
@@ -1686,6 +1698,38 @@ function assertNumber(val, type) {
|
|
|
1686
1698
|
}
|
|
1687
1699
|
}
|
|
1688
1700
|
|
|
1701
|
+
const ErrorCodes = {
|
|
1702
|
+
"SETUP_FUNCTION": 0,
|
|
1703
|
+
"0": "SETUP_FUNCTION",
|
|
1704
|
+
"RENDER_FUNCTION": 1,
|
|
1705
|
+
"1": "RENDER_FUNCTION",
|
|
1706
|
+
"WATCH_GETTER": 2,
|
|
1707
|
+
"2": "WATCH_GETTER",
|
|
1708
|
+
"WATCH_CALLBACK": 3,
|
|
1709
|
+
"3": "WATCH_CALLBACK",
|
|
1710
|
+
"WATCH_CLEANUP": 4,
|
|
1711
|
+
"4": "WATCH_CLEANUP",
|
|
1712
|
+
"NATIVE_EVENT_HANDLER": 5,
|
|
1713
|
+
"5": "NATIVE_EVENT_HANDLER",
|
|
1714
|
+
"COMPONENT_EVENT_HANDLER": 6,
|
|
1715
|
+
"6": "COMPONENT_EVENT_HANDLER",
|
|
1716
|
+
"VNODE_HOOK": 7,
|
|
1717
|
+
"7": "VNODE_HOOK",
|
|
1718
|
+
"DIRECTIVE_HOOK": 8,
|
|
1719
|
+
"8": "DIRECTIVE_HOOK",
|
|
1720
|
+
"TRANSITION_HOOK": 9,
|
|
1721
|
+
"9": "TRANSITION_HOOK",
|
|
1722
|
+
"APP_ERROR_HANDLER": 10,
|
|
1723
|
+
"10": "APP_ERROR_HANDLER",
|
|
1724
|
+
"APP_WARN_HANDLER": 11,
|
|
1725
|
+
"11": "APP_WARN_HANDLER",
|
|
1726
|
+
"FUNCTION_REF": 12,
|
|
1727
|
+
"12": "FUNCTION_REF",
|
|
1728
|
+
"ASYNC_COMPONENT_LOADER": 13,
|
|
1729
|
+
"13": "ASYNC_COMPONENT_LOADER",
|
|
1730
|
+
"SCHEDULER": 14,
|
|
1731
|
+
"14": "SCHEDULER"
|
|
1732
|
+
};
|
|
1689
1733
|
const ErrorTypeStrings$1 = {
|
|
1690
1734
|
["sp"]: "serverPrefetch hook",
|
|
1691
1735
|
["bc"]: "beforeCreate hook",
|
|
@@ -2168,6 +2212,50 @@ function devtoolsComponentEmit(component, event, params) {
|
|
|
2168
2212
|
);
|
|
2169
2213
|
}
|
|
2170
2214
|
|
|
2215
|
+
const DeprecationTypes$1 = {
|
|
2216
|
+
"GLOBAL_MOUNT": "GLOBAL_MOUNT",
|
|
2217
|
+
"GLOBAL_MOUNT_CONTAINER": "GLOBAL_MOUNT_CONTAINER",
|
|
2218
|
+
"GLOBAL_EXTEND": "GLOBAL_EXTEND",
|
|
2219
|
+
"GLOBAL_PROTOTYPE": "GLOBAL_PROTOTYPE",
|
|
2220
|
+
"GLOBAL_SET": "GLOBAL_SET",
|
|
2221
|
+
"GLOBAL_DELETE": "GLOBAL_DELETE",
|
|
2222
|
+
"GLOBAL_OBSERVABLE": "GLOBAL_OBSERVABLE",
|
|
2223
|
+
"GLOBAL_PRIVATE_UTIL": "GLOBAL_PRIVATE_UTIL",
|
|
2224
|
+
"CONFIG_SILENT": "CONFIG_SILENT",
|
|
2225
|
+
"CONFIG_DEVTOOLS": "CONFIG_DEVTOOLS",
|
|
2226
|
+
"CONFIG_KEY_CODES": "CONFIG_KEY_CODES",
|
|
2227
|
+
"CONFIG_PRODUCTION_TIP": "CONFIG_PRODUCTION_TIP",
|
|
2228
|
+
"CONFIG_IGNORED_ELEMENTS": "CONFIG_IGNORED_ELEMENTS",
|
|
2229
|
+
"CONFIG_WHITESPACE": "CONFIG_WHITESPACE",
|
|
2230
|
+
"CONFIG_OPTION_MERGE_STRATS": "CONFIG_OPTION_MERGE_STRATS",
|
|
2231
|
+
"INSTANCE_SET": "INSTANCE_SET",
|
|
2232
|
+
"INSTANCE_DELETE": "INSTANCE_DELETE",
|
|
2233
|
+
"INSTANCE_DESTROY": "INSTANCE_DESTROY",
|
|
2234
|
+
"INSTANCE_EVENT_EMITTER": "INSTANCE_EVENT_EMITTER",
|
|
2235
|
+
"INSTANCE_EVENT_HOOKS": "INSTANCE_EVENT_HOOKS",
|
|
2236
|
+
"INSTANCE_CHILDREN": "INSTANCE_CHILDREN",
|
|
2237
|
+
"INSTANCE_LISTENERS": "INSTANCE_LISTENERS",
|
|
2238
|
+
"INSTANCE_SCOPED_SLOTS": "INSTANCE_SCOPED_SLOTS",
|
|
2239
|
+
"INSTANCE_ATTRS_CLASS_STYLE": "INSTANCE_ATTRS_CLASS_STYLE",
|
|
2240
|
+
"OPTIONS_DATA_FN": "OPTIONS_DATA_FN",
|
|
2241
|
+
"OPTIONS_DATA_MERGE": "OPTIONS_DATA_MERGE",
|
|
2242
|
+
"OPTIONS_BEFORE_DESTROY": "OPTIONS_BEFORE_DESTROY",
|
|
2243
|
+
"OPTIONS_DESTROYED": "OPTIONS_DESTROYED",
|
|
2244
|
+
"WATCH_ARRAY": "WATCH_ARRAY",
|
|
2245
|
+
"PROPS_DEFAULT_THIS": "PROPS_DEFAULT_THIS",
|
|
2246
|
+
"V_ON_KEYCODE_MODIFIER": "V_ON_KEYCODE_MODIFIER",
|
|
2247
|
+
"CUSTOM_DIR": "CUSTOM_DIR",
|
|
2248
|
+
"ATTR_FALSE_VALUE": "ATTR_FALSE_VALUE",
|
|
2249
|
+
"ATTR_ENUMERATED_COERCION": "ATTR_ENUMERATED_COERCION",
|
|
2250
|
+
"TRANSITION_CLASSES": "TRANSITION_CLASSES",
|
|
2251
|
+
"TRANSITION_GROUP_ROOT": "TRANSITION_GROUP_ROOT",
|
|
2252
|
+
"COMPONENT_ASYNC": "COMPONENT_ASYNC",
|
|
2253
|
+
"COMPONENT_FUNCTIONAL": "COMPONENT_FUNCTIONAL",
|
|
2254
|
+
"COMPONENT_V_MODEL": "COMPONENT_V_MODEL",
|
|
2255
|
+
"RENDER_FUNCTION": "RENDER_FUNCTION",
|
|
2256
|
+
"FILTERS": "FILTERS",
|
|
2257
|
+
"PRIVATE_APIS": "PRIVATE_APIS"
|
|
2258
|
+
};
|
|
2171
2259
|
const deprecationData$1 = {
|
|
2172
2260
|
["GLOBAL_MOUNT"]: {
|
|
2173
2261
|
message: `The global app bootstrapping API has changed: vm.$mount() and the "el" option have been removed. Use createApp(RootComponent).mount() instead.`,
|
|
@@ -3482,7 +3570,12 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
3482
3570
|
if (delayEnter) {
|
|
3483
3571
|
activeBranch.transition.afterLeave = () => {
|
|
3484
3572
|
if (pendingId === suspense.pendingId) {
|
|
3485
|
-
move(
|
|
3573
|
+
move(
|
|
3574
|
+
pendingBranch,
|
|
3575
|
+
container2,
|
|
3576
|
+
next(activeBranch),
|
|
3577
|
+
0
|
|
3578
|
+
);
|
|
3486
3579
|
queuePostFlushCb(effects);
|
|
3487
3580
|
}
|
|
3488
3581
|
};
|
|
@@ -3529,7 +3622,6 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
3529
3622
|
}
|
|
3530
3623
|
const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;
|
|
3531
3624
|
triggerEvent(vnode2, "onFallback");
|
|
3532
|
-
const anchor2 = next(activeBranch);
|
|
3533
3625
|
const mountFallback = () => {
|
|
3534
3626
|
if (!suspense.isInFallback) {
|
|
3535
3627
|
return;
|
|
@@ -3538,7 +3630,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
3538
3630
|
null,
|
|
3539
3631
|
fallbackVNode,
|
|
3540
3632
|
container2,
|
|
3541
|
-
|
|
3633
|
+
next(activeBranch),
|
|
3542
3634
|
parentComponent2,
|
|
3543
3635
|
null,
|
|
3544
3636
|
// fallback tree will not have suspense context
|
|
@@ -6423,7 +6515,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
6423
6515
|
return vm;
|
|
6424
6516
|
}
|
|
6425
6517
|
}
|
|
6426
|
-
Vue.version = `2.6.14-compat:${"3.4.0-alpha.
|
|
6518
|
+
Vue.version = `2.6.14-compat:${"3.4.0-alpha.4"}`;
|
|
6427
6519
|
Vue.config = singletonApp.config;
|
|
6428
6520
|
Vue.use = (p, ...options) => {
|
|
6429
6521
|
if (p && isFunction(p.install)) {
|
|
@@ -6824,18 +6916,6 @@ function createAppAPI(render, hydrate) {
|
|
|
6824
6916
|
rootProps = null;
|
|
6825
6917
|
}
|
|
6826
6918
|
const context = createAppContext();
|
|
6827
|
-
{
|
|
6828
|
-
Object.defineProperty(context.config, "unwrapInjectedRef", {
|
|
6829
|
-
get() {
|
|
6830
|
-
return true;
|
|
6831
|
-
},
|
|
6832
|
-
set() {
|
|
6833
|
-
warn(
|
|
6834
|
-
`app.config.unwrapInjectedRef has been deprecated. 3.3 now always unwraps injected refs in Options API.`
|
|
6835
|
-
);
|
|
6836
|
-
}
|
|
6837
|
-
});
|
|
6838
|
-
}
|
|
6839
6919
|
const installedPlugins = /* @__PURE__ */ new WeakSet();
|
|
6840
6920
|
let isMounted = false;
|
|
6841
6921
|
const app = context.app = {
|
|
@@ -10838,9 +10918,9 @@ function initCustomFormatter() {
|
|
|
10838
10918
|
return;
|
|
10839
10919
|
}
|
|
10840
10920
|
const vueStyle = { style: "color:#3ba776" };
|
|
10841
|
-
const numberStyle = { style: "color:#
|
|
10842
|
-
const stringStyle = { style: "color:#
|
|
10843
|
-
const keywordStyle = { style: "color:#
|
|
10921
|
+
const numberStyle = { style: "color:#1677ff" };
|
|
10922
|
+
const stringStyle = { style: "color:#f5222d" };
|
|
10923
|
+
const keywordStyle = { style: "color:#eb2f96" };
|
|
10844
10924
|
const formatter = {
|
|
10845
10925
|
header(obj) {
|
|
10846
10926
|
if (!isObject(obj)) {
|
|
@@ -11034,7 +11114,7 @@ function isMemoSame(cached, memo) {
|
|
|
11034
11114
|
return true;
|
|
11035
11115
|
}
|
|
11036
11116
|
|
|
11037
|
-
const version = "3.4.0-alpha.
|
|
11117
|
+
const version = "3.4.0-alpha.4";
|
|
11038
11118
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
11039
11119
|
const _ssrUtils = {
|
|
11040
11120
|
createComponentInstance,
|
|
@@ -11054,6 +11134,7 @@ const _compatUtils = {
|
|
|
11054
11134
|
softAssertCompatEnabled
|
|
11055
11135
|
};
|
|
11056
11136
|
const compatUtils = _compatUtils ;
|
|
11137
|
+
const DeprecationTypes = DeprecationTypes$1 ;
|
|
11057
11138
|
|
|
11058
11139
|
const svgNS = "http://www.w3.org/2000/svg";
|
|
11059
11140
|
const doc = typeof document !== "undefined" ? document : null;
|
|
@@ -11749,7 +11830,8 @@ function patchStopImmediatePropagation(e, value) {
|
|
|
11749
11830
|
}
|
|
11750
11831
|
}
|
|
11751
11832
|
|
|
11752
|
-
const
|
|
11833
|
+
const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
|
|
11834
|
+
key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
|
|
11753
11835
|
const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
|
|
11754
11836
|
if (key === "class") {
|
|
11755
11837
|
patchClass(el, nextValue, isSVG);
|
|
@@ -11783,7 +11865,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
|
|
|
11783
11865
|
if (key === "innerHTML" || key === "textContent") {
|
|
11784
11866
|
return true;
|
|
11785
11867
|
}
|
|
11786
|
-
if (key in el &&
|
|
11868
|
+
if (key in el && isNativeOn(key) && isFunction(value)) {
|
|
11787
11869
|
return true;
|
|
11788
11870
|
}
|
|
11789
11871
|
return false;
|
|
@@ -11800,7 +11882,11 @@ function shouldSetAsProp(el, key, value, isSVG) {
|
|
|
11800
11882
|
if (key === "type" && el.tagName === "TEXTAREA") {
|
|
11801
11883
|
return false;
|
|
11802
11884
|
}
|
|
11803
|
-
if (
|
|
11885
|
+
if (key === "width" || key === "height") {
|
|
11886
|
+
const tag = el.tagName;
|
|
11887
|
+
return !(tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE");
|
|
11888
|
+
}
|
|
11889
|
+
if (isNativeOn(key) && isString(value)) {
|
|
11804
11890
|
return false;
|
|
11805
11891
|
}
|
|
11806
11892
|
return key in el;
|
|
@@ -12469,14 +12555,14 @@ const modifierGuards = {
|
|
|
12469
12555
|
exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
|
|
12470
12556
|
};
|
|
12471
12557
|
const withModifiers = (fn, modifiers) => {
|
|
12472
|
-
return (event, ...args) => {
|
|
12558
|
+
return fn._withMods || (fn._withMods = (event, ...args) => {
|
|
12473
12559
|
for (let i = 0; i < modifiers.length; i++) {
|
|
12474
12560
|
const guard = modifierGuards[modifiers[i]];
|
|
12475
12561
|
if (guard && guard(event, modifiers))
|
|
12476
12562
|
return;
|
|
12477
12563
|
}
|
|
12478
12564
|
return fn(event, ...args);
|
|
12479
|
-
};
|
|
12565
|
+
});
|
|
12480
12566
|
};
|
|
12481
12567
|
const keyNames = {
|
|
12482
12568
|
esc: "escape",
|
|
@@ -12504,7 +12590,7 @@ const withKeys = (fn, modifiers) => {
|
|
|
12504
12590
|
);
|
|
12505
12591
|
}
|
|
12506
12592
|
}
|
|
12507
|
-
return (event) => {
|
|
12593
|
+
return fn._withKeys || (fn._withKeys = (event) => {
|
|
12508
12594
|
if (!("key" in event)) {
|
|
12509
12595
|
return;
|
|
12510
12596
|
}
|
|
@@ -12532,7 +12618,7 @@ const withKeys = (fn, modifiers) => {
|
|
|
12532
12618
|
}
|
|
12533
12619
|
}
|
|
12534
12620
|
}
|
|
12535
|
-
};
|
|
12621
|
+
});
|
|
12536
12622
|
};
|
|
12537
12623
|
|
|
12538
12624
|
const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
|
|
@@ -12670,7 +12756,9 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
|
|
|
12670
12756
|
BaseTransition: BaseTransition,
|
|
12671
12757
|
BaseTransitionPropsValidators: BaseTransitionPropsValidators,
|
|
12672
12758
|
Comment: Comment,
|
|
12759
|
+
DeprecationTypes: DeprecationTypes,
|
|
12673
12760
|
EffectScope: EffectScope,
|
|
12761
|
+
ErrorCodes: ErrorCodes,
|
|
12674
12762
|
ErrorTypeStrings: ErrorTypeStrings,
|
|
12675
12763
|
Fragment: Fragment,
|
|
12676
12764
|
KeepAlive: KeepAlive,
|
|
@@ -12679,8 +12767,10 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
|
|
|
12679
12767
|
Suspense: Suspense,
|
|
12680
12768
|
Teleport: Teleport,
|
|
12681
12769
|
Text: Text,
|
|
12770
|
+
TrackOpTypes: TrackOpTypes,
|
|
12682
12771
|
Transition: Transition,
|
|
12683
12772
|
TransitionGroup: TransitionGroup,
|
|
12773
|
+
TriggerOpTypes: TriggerOpTypes,
|
|
12684
12774
|
VueElement: VueElement,
|
|
12685
12775
|
assertNumber: assertNumber,
|
|
12686
12776
|
callWithAsyncErrorHandling: callWithAsyncErrorHandling,
|
|
@@ -13137,7 +13227,9 @@ class Tokenizer {
|
|
|
13137
13227
|
this.inRCDATA = false;
|
|
13138
13228
|
/** For disabling RCDATA tags handling */
|
|
13139
13229
|
this.inXML = false;
|
|
13140
|
-
/**
|
|
13230
|
+
/** For disabling interpolation parsing in v-pre */
|
|
13231
|
+
this.inVPre = false;
|
|
13232
|
+
/** Record newline positions for fast line / column calculation */
|
|
13141
13233
|
this.newlines = [];
|
|
13142
13234
|
this.mode = 0;
|
|
13143
13235
|
this.delimiterOpen = defaultDelimitersOpen;
|
|
@@ -13162,6 +13254,7 @@ class Tokenizer {
|
|
|
13162
13254
|
this.sectionStart = 0;
|
|
13163
13255
|
this.index = 0;
|
|
13164
13256
|
this.baseState = 1;
|
|
13257
|
+
this.inRCDATA = false;
|
|
13165
13258
|
this.currentSequence = void 0;
|
|
13166
13259
|
this.newlines.length = 0;
|
|
13167
13260
|
this.delimiterOpen = defaultDelimitersOpen;
|
|
@@ -13202,7 +13295,7 @@ class Tokenizer {
|
|
|
13202
13295
|
this.sectionStart = this.index;
|
|
13203
13296
|
} else if (c === 38) {
|
|
13204
13297
|
this.startEntity();
|
|
13205
|
-
} else if (c === this.delimiterOpen[0]) {
|
|
13298
|
+
} else if (!this.inVPre && c === this.delimiterOpen[0]) {
|
|
13206
13299
|
this.state = 2;
|
|
13207
13300
|
this.delimiterIndex = 0;
|
|
13208
13301
|
this.stateInterpolationOpen(c);
|
|
@@ -14071,16 +14164,14 @@ const errorMessages = {
|
|
|
14071
14164
|
Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
|
|
14072
14165
|
[45]: `Error parsing JavaScript expression: `,
|
|
14073
14166
|
[46]: `<KeepAlive> expects exactly one child component.`,
|
|
14167
|
+
[47]: `@vnode-* hooks in templates are deprecated. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support will be removed in 3.4.`,
|
|
14074
14168
|
// generic errors
|
|
14075
|
-
[
|
|
14076
|
-
[
|
|
14077
|
-
[
|
|
14078
|
-
[
|
|
14079
|
-
// deprecations
|
|
14080
|
-
[51]: `@vnode-* hooks in templates are deprecated. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support will be removed in 3.4.`,
|
|
14081
|
-
[52]: `v-is="component-name" has been deprecated. Use is="vue:component-name" instead. v-is support will be removed in 3.4.`,
|
|
14169
|
+
[48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
|
|
14170
|
+
[49]: `ES module mode is not supported in this build of compiler.`,
|
|
14171
|
+
[50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
|
|
14172
|
+
[51]: `"scopeId" option is only supported in module mode.`,
|
|
14082
14173
|
// just to fulfill types
|
|
14083
|
-
[
|
|
14174
|
+
[52]: ``
|
|
14084
14175
|
};
|
|
14085
14176
|
|
|
14086
14177
|
const isStaticExp = (p) => p.type === 4 && p.isStatic;
|
|
@@ -14335,7 +14426,8 @@ const defaultParserOptions = {
|
|
|
14335
14426
|
isCustomElement: NO,
|
|
14336
14427
|
onError: defaultOnError,
|
|
14337
14428
|
onWarn: defaultOnWarn,
|
|
14338
|
-
comments: true
|
|
14429
|
+
comments: true,
|
|
14430
|
+
prefixIdentifiers: false
|
|
14339
14431
|
};
|
|
14340
14432
|
let currentOptions = defaultParserOptions;
|
|
14341
14433
|
let currentRoot = null;
|
|
@@ -14377,7 +14469,7 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
14377
14469
|
}
|
|
14378
14470
|
addNode({
|
|
14379
14471
|
type: 5,
|
|
14380
|
-
content:
|
|
14472
|
+
content: createExp(exp, false, getLoc(innerStart, innerEnd)),
|
|
14381
14473
|
loc: getLoc(start, end)
|
|
14382
14474
|
});
|
|
14383
14475
|
},
|
|
@@ -14470,7 +14562,7 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
14470
14562
|
loc: getLoc(start)
|
|
14471
14563
|
};
|
|
14472
14564
|
if (name === "pre") {
|
|
14473
|
-
inVPre = true;
|
|
14565
|
+
inVPre = tokenizer.inVPre = true;
|
|
14474
14566
|
currentVPreBoundary = currentOpenTag;
|
|
14475
14567
|
const props = currentOpenTag.props;
|
|
14476
14568
|
for (let i = 0; i < props.length; i++) {
|
|
@@ -14490,7 +14582,7 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
14490
14582
|
setLocEnd(currentProp.nameLoc, end);
|
|
14491
14583
|
} else {
|
|
14492
14584
|
const isStatic = arg[0] !== `[`;
|
|
14493
|
-
currentProp.arg =
|
|
14585
|
+
currentProp.arg = createExp(
|
|
14494
14586
|
isStatic ? arg : arg.slice(1, -1),
|
|
14495
14587
|
isStatic,
|
|
14496
14588
|
getLoc(start, end),
|
|
@@ -14557,10 +14649,22 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
14557
14649
|
tokenizer.enterRCDATA(toCharCodes(`</template`), 0);
|
|
14558
14650
|
}
|
|
14559
14651
|
} else {
|
|
14560
|
-
|
|
14652
|
+
let expParseMode = 0 /* Normal */;
|
|
14653
|
+
{
|
|
14654
|
+
if (currentProp.name === "for") {
|
|
14655
|
+
expParseMode = 3 /* Skip */;
|
|
14656
|
+
} else if (currentProp.name === "slot") {
|
|
14657
|
+
expParseMode = 1 /* Params */;
|
|
14658
|
+
} else if (currentProp.name === "on" && currentAttrValue.includes(";")) {
|
|
14659
|
+
expParseMode = 2 /* Statements */;
|
|
14660
|
+
}
|
|
14661
|
+
}
|
|
14662
|
+
currentProp.exp = createExp(
|
|
14561
14663
|
currentAttrValue,
|
|
14562
14664
|
false,
|
|
14563
|
-
getLoc(currentAttrStartIndex, currentAttrEndIndex)
|
|
14665
|
+
getLoc(currentAttrStartIndex, currentAttrEndIndex),
|
|
14666
|
+
0,
|
|
14667
|
+
expParseMode
|
|
14564
14668
|
);
|
|
14565
14669
|
if (currentProp.name === "for") {
|
|
14566
14670
|
currentProp.forParseResult = parseForExpression(currentProp.exp);
|
|
@@ -14663,10 +14767,16 @@ function parseForExpression(input) {
|
|
|
14663
14767
|
if (!inMatch)
|
|
14664
14768
|
return;
|
|
14665
14769
|
const [, LHS, RHS] = inMatch;
|
|
14666
|
-
const createAliasExpression = (content, offset) => {
|
|
14770
|
+
const createAliasExpression = (content, offset, asParam = false) => {
|
|
14667
14771
|
const start = loc.start.offset + offset;
|
|
14668
14772
|
const end = start + content.length;
|
|
14669
|
-
return
|
|
14773
|
+
return createExp(
|
|
14774
|
+
content,
|
|
14775
|
+
false,
|
|
14776
|
+
getLoc(start, end),
|
|
14777
|
+
0,
|
|
14778
|
+
asParam ? 1 /* Params */ : 0 /* Normal */
|
|
14779
|
+
);
|
|
14670
14780
|
};
|
|
14671
14781
|
const result = {
|
|
14672
14782
|
source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)),
|
|
@@ -14684,7 +14794,7 @@ function parseForExpression(input) {
|
|
|
14684
14794
|
let keyOffset;
|
|
14685
14795
|
if (keyContent) {
|
|
14686
14796
|
keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);
|
|
14687
|
-
result.key = createAliasExpression(keyContent, keyOffset);
|
|
14797
|
+
result.key = createAliasExpression(keyContent, keyOffset, true);
|
|
14688
14798
|
}
|
|
14689
14799
|
if (iteratorMatch[2]) {
|
|
14690
14800
|
const indexContent = iteratorMatch[2].trim();
|
|
@@ -14694,13 +14804,14 @@ function parseForExpression(input) {
|
|
|
14694
14804
|
exp.indexOf(
|
|
14695
14805
|
indexContent,
|
|
14696
14806
|
result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length
|
|
14697
|
-
)
|
|
14807
|
+
),
|
|
14808
|
+
true
|
|
14698
14809
|
);
|
|
14699
14810
|
}
|
|
14700
14811
|
}
|
|
14701
14812
|
}
|
|
14702
14813
|
if (valueContent) {
|
|
14703
|
-
result.value = createAliasExpression(valueContent, trimmedOffset);
|
|
14814
|
+
result.value = createAliasExpression(valueContent, trimmedOffset, true);
|
|
14704
14815
|
}
|
|
14705
14816
|
return result;
|
|
14706
14817
|
}
|
|
@@ -14771,7 +14882,7 @@ function onCloseTag(el, end, isImplied = false) {
|
|
|
14771
14882
|
inPre--;
|
|
14772
14883
|
}
|
|
14773
14884
|
if (currentVPreBoundary === el) {
|
|
14774
|
-
inVPre = false;
|
|
14885
|
+
inVPre = tokenizer.inVPre = false;
|
|
14775
14886
|
currentVPreBoundary = null;
|
|
14776
14887
|
}
|
|
14777
14888
|
if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) {
|
|
@@ -15006,8 +15117,36 @@ function dirToAttr(dir) {
|
|
|
15006
15117
|
}
|
|
15007
15118
|
return attr;
|
|
15008
15119
|
}
|
|
15009
|
-
function
|
|
15010
|
-
|
|
15120
|
+
function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) {
|
|
15121
|
+
const exp = createSimpleExpression(content, isStatic, loc, constType);
|
|
15122
|
+
if (!isStatic && currentOptions.prefixIdentifiers && parseMode !== 3 /* Skip */ && content.trim()) {
|
|
15123
|
+
if (isSimpleIdentifier(content)) {
|
|
15124
|
+
exp.ast = null;
|
|
15125
|
+
return exp;
|
|
15126
|
+
}
|
|
15127
|
+
try {
|
|
15128
|
+
const plugins = currentOptions.expressionPlugins;
|
|
15129
|
+
const options = {
|
|
15130
|
+
plugins: plugins ? [...plugins, "typescript"] : ["typescript"]
|
|
15131
|
+
};
|
|
15132
|
+
if (parseMode === 2 /* Statements */) {
|
|
15133
|
+
exp.ast = parser.parse(` ${content} `, options).program;
|
|
15134
|
+
} else if (parseMode === 1 /* Params */) {
|
|
15135
|
+
exp.ast = parser.parseExpression(`(${content})=>{}`, options);
|
|
15136
|
+
} else {
|
|
15137
|
+
exp.ast = parser.parseExpression(`(${content})`, options);
|
|
15138
|
+
}
|
|
15139
|
+
} catch (e) {
|
|
15140
|
+
exp.ast = false;
|
|
15141
|
+
emitError(45, loc.start.offset, e.message);
|
|
15142
|
+
}
|
|
15143
|
+
}
|
|
15144
|
+
return exp;
|
|
15145
|
+
}
|
|
15146
|
+
function emitError(code, index, message) {
|
|
15147
|
+
currentOptions.onError(
|
|
15148
|
+
createCompilerError(code, getLoc(index, index), void 0, message)
|
|
15149
|
+
);
|
|
15011
15150
|
}
|
|
15012
15151
|
function reset() {
|
|
15013
15152
|
tokenizer.reset();
|
|
@@ -15038,6 +15177,7 @@ function baseParse(input, options) {
|
|
|
15038
15177
|
}
|
|
15039
15178
|
}
|
|
15040
15179
|
tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
|
|
15180
|
+
tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
|
|
15041
15181
|
const delimiters = options == null ? void 0 : options.delimiters;
|
|
15042
15182
|
if (delimiters) {
|
|
15043
15183
|
tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
|
|
@@ -16396,7 +16536,7 @@ function genReturnStatement({ returns }, context) {
|
|
|
16396
16536
|
}
|
|
16397
16537
|
|
|
16398
16538
|
function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {
|
|
16399
|
-
const rootExp = root.type === "Program"
|
|
16539
|
+
const rootExp = root.type === "Program" ? root.body[0].type === "ExpressionStatement" && root.body[0].expression : root;
|
|
16400
16540
|
estreeWalker.walk(root, {
|
|
16401
16541
|
enter(node, parent) {
|
|
16402
16542
|
parent && parentStack.push(parent);
|
|
@@ -16745,7 +16885,11 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
|
|
|
16745
16885
|
};
|
|
16746
16886
|
const rawExp = node.content;
|
|
16747
16887
|
const bailConstant = constantBailRE.test(rawExp);
|
|
16748
|
-
|
|
16888
|
+
let ast = node.ast;
|
|
16889
|
+
if (ast === false) {
|
|
16890
|
+
return node;
|
|
16891
|
+
}
|
|
16892
|
+
if (ast === null || !ast && isSimpleIdentifier(rawExp)) {
|
|
16749
16893
|
const isScopeVarReference = context.identifiers[rawExp];
|
|
16750
16894
|
const isAllowedGlobal = isGloballyAllowed(rawExp);
|
|
16751
16895
|
const isLiteral = isLiteralWhitelisted(rawExp);
|
|
@@ -16763,22 +16907,23 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
|
|
|
16763
16907
|
}
|
|
16764
16908
|
return node;
|
|
16765
16909
|
}
|
|
16766
|
-
|
|
16767
|
-
|
|
16768
|
-
|
|
16769
|
-
|
|
16770
|
-
|
|
16771
|
-
|
|
16772
|
-
|
|
16773
|
-
|
|
16774
|
-
|
|
16775
|
-
|
|
16776
|
-
|
|
16777
|
-
|
|
16778
|
-
|
|
16779
|
-
|
|
16780
|
-
|
|
16781
|
-
|
|
16910
|
+
if (!ast) {
|
|
16911
|
+
const source = asRawStatements ? ` ${rawExp} ` : `(${rawExp})${asParams ? `=>{}` : ``}`;
|
|
16912
|
+
try {
|
|
16913
|
+
ast = parser.parse(source, {
|
|
16914
|
+
plugins: context.expressionPlugins
|
|
16915
|
+
}).program;
|
|
16916
|
+
} catch (e) {
|
|
16917
|
+
context.onError(
|
|
16918
|
+
createCompilerError(
|
|
16919
|
+
45,
|
|
16920
|
+
node.loc,
|
|
16921
|
+
void 0,
|
|
16922
|
+
e.message
|
|
16923
|
+
)
|
|
16924
|
+
);
|
|
16925
|
+
return node;
|
|
16926
|
+
}
|
|
16782
16927
|
}
|
|
16783
16928
|
const ids = [];
|
|
16784
16929
|
const parentStack = [];
|
|
@@ -16821,15 +16966,15 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
|
|
|
16821
16966
|
if (leadingText.length || id.prefix) {
|
|
16822
16967
|
children.push(leadingText + (id.prefix || ``));
|
|
16823
16968
|
}
|
|
16824
|
-
const
|
|
16969
|
+
const source = rawExp.slice(start, end);
|
|
16825
16970
|
children.push(
|
|
16826
16971
|
createSimpleExpression(
|
|
16827
16972
|
id.name,
|
|
16828
16973
|
false,
|
|
16829
16974
|
{
|
|
16830
|
-
start: advancePositionWithClone(node.loc.start,
|
|
16831
|
-
end: advancePositionWithClone(node.loc.start,
|
|
16832
|
-
source
|
|
16975
|
+
start: advancePositionWithClone(node.loc.start, source, start),
|
|
16976
|
+
end: advancePositionWithClone(node.loc.start, source, end),
|
|
16977
|
+
source
|
|
16833
16978
|
},
|
|
16834
16979
|
id.isConstant ? 3 : 0
|
|
16835
16980
|
)
|
|
@@ -16841,6 +16986,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
|
|
|
16841
16986
|
let ret;
|
|
16842
16987
|
if (children.length) {
|
|
16843
16988
|
ret = createCompoundExpression(children, node.loc);
|
|
16989
|
+
ret.ast = ast;
|
|
16844
16990
|
} else {
|
|
16845
16991
|
ret = node;
|
|
16846
16992
|
ret.constType = bailConstant ? 0 : 3;
|
|
@@ -17800,6 +17946,10 @@ function resolveSetupReference(name, context) {
|
|
|
17800
17946
|
`${context.helperString(UNREF)}(${fromMaybeRef})`
|
|
17801
17947
|
) : `$setup[${JSON.stringify(fromMaybeRef)}]`;
|
|
17802
17948
|
}
|
|
17949
|
+
const fromProps = checkType("props");
|
|
17950
|
+
if (fromProps) {
|
|
17951
|
+
return `${context.helperString(UNREF)}(${context.inline ? "__props" : "$props"}[${JSON.stringify(fromProps)}])`;
|
|
17952
|
+
}
|
|
17803
17953
|
}
|
|
17804
17954
|
function buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) {
|
|
17805
17955
|
const { tag, loc: elementLoc, children } = node;
|
|
@@ -17840,6 +17990,9 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
17840
17990
|
if (isEventHandler && isReservedProp(name)) {
|
|
17841
17991
|
hasVnodeHook = true;
|
|
17842
17992
|
}
|
|
17993
|
+
if (isEventHandler && value.type === 14) {
|
|
17994
|
+
value = value.arguments[0];
|
|
17995
|
+
}
|
|
17843
17996
|
if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {
|
|
17844
17997
|
return;
|
|
17845
17998
|
}
|
|
@@ -18307,9 +18460,7 @@ const transformOn$1 = (dir, node, context, augmentor) => {
|
|
|
18307
18460
|
if (arg.isStatic) {
|
|
18308
18461
|
let rawName = arg.content;
|
|
18309
18462
|
if (rawName.startsWith("vnode")) {
|
|
18310
|
-
context.
|
|
18311
|
-
createCompilerError(51, arg.loc)
|
|
18312
|
-
);
|
|
18463
|
+
context.onError(createCompilerError(47, arg.loc));
|
|
18313
18464
|
}
|
|
18314
18465
|
if (rawName.startsWith("vue:")) {
|
|
18315
18466
|
rawName = `vnode-${rawName.slice(4)}`;
|
|
@@ -18843,10 +18994,10 @@ function baseCompile(source, options = {}) {
|
|
|
18843
18994
|
const isModuleMode = options.mode === "module";
|
|
18844
18995
|
const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;
|
|
18845
18996
|
if (!prefixIdentifiers && options.cacheHandlers) {
|
|
18846
|
-
onError(createCompilerError(
|
|
18997
|
+
onError(createCompilerError(50));
|
|
18847
18998
|
}
|
|
18848
18999
|
if (options.scopeId && !isModuleMode) {
|
|
18849
|
-
onError(createCompilerError(
|
|
19000
|
+
onError(createCompilerError(51));
|
|
18850
19001
|
}
|
|
18851
19002
|
const ast = isString(source) ? baseParse(source, options) : source;
|
|
18852
19003
|
const [nodeTransforms, directiveTransforms] = getBaseTransformPreset(prefixIdentifiers);
|