@vue/compat 3.2.29 → 3.2.30
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/README.md +41 -41
- package/dist/vue.cjs.js +108 -112
- package/dist/vue.cjs.prod.js +69 -72
- package/dist/vue.esm-browser.js +108 -112
- package/dist/vue.esm-browser.prod.js +1 -1
- package/dist/vue.esm-bundler.js +110 -114
- package/dist/vue.global.js +108 -112
- package/dist/vue.global.prod.js +1 -1
- package/dist/vue.runtime.esm-browser.js +100 -104
- package/dist/vue.runtime.esm-browser.prod.js +1 -1
- package/dist/vue.runtime.esm-bundler.js +102 -106
- package/dist/vue.runtime.global.js +100 -104
- package/dist/vue.runtime.global.prod.js +1 -1
- package/package.json +2 -2
package/dist/vue.esm-bundler.js
CHANGED
|
@@ -277,13 +277,15 @@ function looseIndexOf(arr, val) {
|
|
|
277
277
|
* @private
|
|
278
278
|
*/
|
|
279
279
|
const toDisplayString = (val) => {
|
|
280
|
-
return val
|
|
281
|
-
?
|
|
282
|
-
:
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
280
|
+
return isString(val)
|
|
281
|
+
? val
|
|
282
|
+
: val == null
|
|
283
|
+
? ''
|
|
284
|
+
: isArray(val) ||
|
|
285
|
+
(isObject(val) &&
|
|
286
|
+
(val.toString === objectToString || !isFunction(val.toString)))
|
|
287
|
+
? JSON.stringify(val, replacer, 2)
|
|
288
|
+
: String(val);
|
|
287
289
|
};
|
|
288
290
|
const replacer = (_key, val) => {
|
|
289
291
|
// can't use isRef here since @vue/shared has no deps
|
|
@@ -358,6 +360,7 @@ const isReservedProp = /*#__PURE__*/ makeMap(
|
|
|
358
360
|
'onVnodeBeforeMount,onVnodeMounted,' +
|
|
359
361
|
'onVnodeBeforeUpdate,onVnodeUpdated,' +
|
|
360
362
|
'onVnodeBeforeUnmount,onVnodeUnmounted');
|
|
363
|
+
const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
|
|
361
364
|
const cacheStringFunction = (fn) => {
|
|
362
365
|
const cache = Object.create(null);
|
|
363
366
|
return ((str) => {
|
|
@@ -423,7 +426,6 @@ function warn(msg, ...args) {
|
|
|
423
426
|
}
|
|
424
427
|
|
|
425
428
|
let activeEffectScope;
|
|
426
|
-
const effectScopeStack = [];
|
|
427
429
|
class EffectScope {
|
|
428
430
|
constructor(detached = false) {
|
|
429
431
|
this.active = true;
|
|
@@ -438,11 +440,11 @@ class EffectScope {
|
|
|
438
440
|
run(fn) {
|
|
439
441
|
if (this.active) {
|
|
440
442
|
try {
|
|
441
|
-
this
|
|
443
|
+
activeEffectScope = this;
|
|
442
444
|
return fn();
|
|
443
445
|
}
|
|
444
446
|
finally {
|
|
445
|
-
this.
|
|
447
|
+
activeEffectScope = this.parent;
|
|
446
448
|
}
|
|
447
449
|
}
|
|
448
450
|
else if ((process.env.NODE_ENV !== 'production')) {
|
|
@@ -450,23 +452,24 @@ class EffectScope {
|
|
|
450
452
|
}
|
|
451
453
|
}
|
|
452
454
|
on() {
|
|
453
|
-
|
|
454
|
-
effectScopeStack.push(this);
|
|
455
|
-
activeEffectScope = this;
|
|
456
|
-
}
|
|
455
|
+
activeEffectScope = this;
|
|
457
456
|
}
|
|
458
457
|
off() {
|
|
459
|
-
|
|
460
|
-
effectScopeStack.pop();
|
|
461
|
-
activeEffectScope = effectScopeStack[effectScopeStack.length - 1];
|
|
462
|
-
}
|
|
458
|
+
activeEffectScope = this.parent;
|
|
463
459
|
}
|
|
464
460
|
stop(fromParent) {
|
|
465
461
|
if (this.active) {
|
|
466
|
-
|
|
467
|
-
this.
|
|
462
|
+
let i, l;
|
|
463
|
+
for (i = 0, l = this.effects.length; i < l; i++) {
|
|
464
|
+
this.effects[i].stop();
|
|
465
|
+
}
|
|
466
|
+
for (i = 0, l = this.cleanups.length; i < l; i++) {
|
|
467
|
+
this.cleanups[i]();
|
|
468
|
+
}
|
|
468
469
|
if (this.scopes) {
|
|
469
|
-
this.scopes.
|
|
470
|
+
for (i = 0, l = this.scopes.length; i < l; i++) {
|
|
471
|
+
this.scopes[i].stop(true);
|
|
472
|
+
}
|
|
470
473
|
}
|
|
471
474
|
// nested scope, dereference from parent to avoid memory leaks
|
|
472
475
|
if (this.parent && !fromParent) {
|
|
@@ -484,8 +487,7 @@ class EffectScope {
|
|
|
484
487
|
function effectScope(detached) {
|
|
485
488
|
return new EffectScope(detached);
|
|
486
489
|
}
|
|
487
|
-
function recordEffectScope(effect, scope) {
|
|
488
|
-
scope = scope || activeEffectScope;
|
|
490
|
+
function recordEffectScope(effect, scope = activeEffectScope) {
|
|
489
491
|
if (scope && scope.active) {
|
|
490
492
|
scope.effects.push(effect);
|
|
491
493
|
}
|
|
@@ -548,7 +550,6 @@ let trackOpBit = 1;
|
|
|
548
550
|
* When recursion depth is greater, fall back to using a full cleanup.
|
|
549
551
|
*/
|
|
550
552
|
const maxMarkerBits = 30;
|
|
551
|
-
const effectStack = [];
|
|
552
553
|
let activeEffect;
|
|
553
554
|
const ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');
|
|
554
555
|
const MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');
|
|
@@ -558,35 +559,42 @@ class ReactiveEffect {
|
|
|
558
559
|
this.scheduler = scheduler;
|
|
559
560
|
this.active = true;
|
|
560
561
|
this.deps = [];
|
|
562
|
+
this.parent = undefined;
|
|
561
563
|
recordEffectScope(this, scope);
|
|
562
564
|
}
|
|
563
565
|
run() {
|
|
564
566
|
if (!this.active) {
|
|
565
567
|
return this.fn();
|
|
566
568
|
}
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
if (effectTrackDepth <= maxMarkerBits) {
|
|
573
|
-
initDepMarkers(this);
|
|
574
|
-
}
|
|
575
|
-
else {
|
|
576
|
-
cleanupEffect(this);
|
|
577
|
-
}
|
|
578
|
-
return this.fn();
|
|
569
|
+
let parent = activeEffect;
|
|
570
|
+
let lastShouldTrack = shouldTrack;
|
|
571
|
+
while (parent) {
|
|
572
|
+
if (parent === this) {
|
|
573
|
+
return;
|
|
579
574
|
}
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
575
|
+
parent = parent.parent;
|
|
576
|
+
}
|
|
577
|
+
try {
|
|
578
|
+
this.parent = activeEffect;
|
|
579
|
+
activeEffect = this;
|
|
580
|
+
shouldTrack = true;
|
|
581
|
+
trackOpBit = 1 << ++effectTrackDepth;
|
|
582
|
+
if (effectTrackDepth <= maxMarkerBits) {
|
|
583
|
+
initDepMarkers(this);
|
|
589
584
|
}
|
|
585
|
+
else {
|
|
586
|
+
cleanupEffect(this);
|
|
587
|
+
}
|
|
588
|
+
return this.fn();
|
|
589
|
+
}
|
|
590
|
+
finally {
|
|
591
|
+
if (effectTrackDepth <= maxMarkerBits) {
|
|
592
|
+
finalizeDepMarkers(this);
|
|
593
|
+
}
|
|
594
|
+
trackOpBit = 1 << --effectTrackDepth;
|
|
595
|
+
activeEffect = this.parent;
|
|
596
|
+
shouldTrack = lastShouldTrack;
|
|
597
|
+
this.parent = undefined;
|
|
590
598
|
}
|
|
591
599
|
}
|
|
592
600
|
stop() {
|
|
@@ -634,33 +642,25 @@ function pauseTracking() {
|
|
|
634
642
|
trackStack.push(shouldTrack);
|
|
635
643
|
shouldTrack = false;
|
|
636
644
|
}
|
|
637
|
-
function enableTracking() {
|
|
638
|
-
trackStack.push(shouldTrack);
|
|
639
|
-
shouldTrack = true;
|
|
640
|
-
}
|
|
641
645
|
function resetTracking() {
|
|
642
646
|
const last = trackStack.pop();
|
|
643
647
|
shouldTrack = last === undefined ? true : last;
|
|
644
648
|
}
|
|
645
649
|
function track(target, type, key) {
|
|
646
|
-
if (
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
650
|
+
if (shouldTrack && activeEffect) {
|
|
651
|
+
let depsMap = targetMap.get(target);
|
|
652
|
+
if (!depsMap) {
|
|
653
|
+
targetMap.set(target, (depsMap = new Map()));
|
|
654
|
+
}
|
|
655
|
+
let dep = depsMap.get(key);
|
|
656
|
+
if (!dep) {
|
|
657
|
+
depsMap.set(key, (dep = createDep()));
|
|
658
|
+
}
|
|
659
|
+
const eventInfo = (process.env.NODE_ENV !== 'production')
|
|
660
|
+
? { effect: activeEffect, target, type, key }
|
|
661
|
+
: undefined;
|
|
662
|
+
trackEffects(dep, eventInfo);
|
|
656
663
|
}
|
|
657
|
-
const eventInfo = (process.env.NODE_ENV !== 'production')
|
|
658
|
-
? { effect: activeEffect, target, type, key }
|
|
659
|
-
: undefined;
|
|
660
|
-
trackEffects(dep, eventInfo);
|
|
661
|
-
}
|
|
662
|
-
function isTracking() {
|
|
663
|
-
return shouldTrack && activeEffect !== undefined;
|
|
664
664
|
}
|
|
665
665
|
function trackEffects(dep, debuggerEventExtraInfo) {
|
|
666
666
|
let shouldTrack = false;
|
|
@@ -1353,20 +1353,17 @@ const toReactive = (value) => isObject(value) ? reactive(value) : value;
|
|
|
1353
1353
|
const toReadonly = (value) => isObject(value) ? readonly(value) : value;
|
|
1354
1354
|
|
|
1355
1355
|
function trackRefValue(ref) {
|
|
1356
|
-
if (
|
|
1356
|
+
if (shouldTrack && activeEffect) {
|
|
1357
1357
|
ref = toRaw(ref);
|
|
1358
|
-
if (!ref.dep) {
|
|
1359
|
-
ref.dep = createDep();
|
|
1360
|
-
}
|
|
1361
1358
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
1362
|
-
trackEffects(ref.dep, {
|
|
1359
|
+
trackEffects(ref.dep || (ref.dep = createDep()), {
|
|
1363
1360
|
target: ref,
|
|
1364
1361
|
type: "get" /* GET */,
|
|
1365
1362
|
key: 'value'
|
|
1366
1363
|
});
|
|
1367
1364
|
}
|
|
1368
1365
|
else {
|
|
1369
|
-
trackEffects(ref.dep);
|
|
1366
|
+
trackEffects(ref.dep || (ref.dep = createDep()));
|
|
1370
1367
|
}
|
|
1371
1368
|
}
|
|
1372
1369
|
}
|
|
@@ -1387,7 +1384,7 @@ function triggerRefValue(ref, newVal) {
|
|
|
1387
1384
|
}
|
|
1388
1385
|
}
|
|
1389
1386
|
function isRef(r) {
|
|
1390
|
-
return
|
|
1387
|
+
return !!(r && r.__v_isRef === true);
|
|
1391
1388
|
}
|
|
1392
1389
|
function ref(value) {
|
|
1393
1390
|
return createRef(value, false);
|
|
@@ -2206,23 +2203,23 @@ const deprecationData = {
|
|
|
2206
2203
|
["GLOBAL_MOUNT" /* GLOBAL_MOUNT */]: {
|
|
2207
2204
|
message: `The global app bootstrapping API has changed: vm.$mount() and the "el" ` +
|
|
2208
2205
|
`option have been removed. Use createApp(RootComponent).mount() instead.`,
|
|
2209
|
-
link: `https://v3.vuejs.org/
|
|
2206
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#mounting-app-instance`
|
|
2210
2207
|
},
|
|
2211
2208
|
["GLOBAL_MOUNT_CONTAINER" /* GLOBAL_MOUNT_CONTAINER */]: {
|
|
2212
2209
|
message: `Vue detected directives on the mount container. ` +
|
|
2213
2210
|
`In Vue 3, the container is no longer considered part of the template ` +
|
|
2214
2211
|
`and will not be processed/replaced.`,
|
|
2215
|
-
link: `https://v3.vuejs.org/
|
|
2212
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/mount-changes.html`
|
|
2216
2213
|
},
|
|
2217
2214
|
["GLOBAL_EXTEND" /* GLOBAL_EXTEND */]: {
|
|
2218
2215
|
message: `Vue.extend() has been removed in Vue 3. ` +
|
|
2219
2216
|
`Use defineComponent() instead.`,
|
|
2220
|
-
link: `https://
|
|
2217
|
+
link: `https://vuejs.org/api/general.html#definecomponent`
|
|
2221
2218
|
},
|
|
2222
2219
|
["GLOBAL_PROTOTYPE" /* GLOBAL_PROTOTYPE */]: {
|
|
2223
2220
|
message: `Vue.prototype is no longer available in Vue 3. ` +
|
|
2224
2221
|
`Use app.config.globalProperties instead.`,
|
|
2225
|
-
link: `https://v3.vuejs.org/
|
|
2222
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#vue-prototype-replaced-by-config-globalproperties`
|
|
2226
2223
|
},
|
|
2227
2224
|
["GLOBAL_SET" /* GLOBAL_SET */]: {
|
|
2228
2225
|
message: `Vue.set() has been removed as it is no longer needed in Vue 3. ` +
|
|
@@ -2235,7 +2232,7 @@ const deprecationData = {
|
|
|
2235
2232
|
["GLOBAL_OBSERVABLE" /* GLOBAL_OBSERVABLE */]: {
|
|
2236
2233
|
message: `Vue.observable() has been removed. ` +
|
|
2237
2234
|
`Use \`import { reactive } from "vue"\` from Composition API instead.`,
|
|
2238
|
-
link: `https://
|
|
2235
|
+
link: `https://vuejs.org/api/reactivity-core.html#reactive`
|
|
2239
2236
|
},
|
|
2240
2237
|
["GLOBAL_PRIVATE_UTIL" /* GLOBAL_PRIVATE_UTIL */]: {
|
|
2241
2238
|
message: `Vue.util has been removed. Please refactor to avoid its usage ` +
|
|
@@ -2254,11 +2251,11 @@ const deprecationData = {
|
|
|
2254
2251
|
["CONFIG_KEY_CODES" /* CONFIG_KEY_CODES */]: {
|
|
2255
2252
|
message: `config.keyCodes has been removed. ` +
|
|
2256
2253
|
`In Vue 3, you can directly use the kebab-case key names as v-on modifiers.`,
|
|
2257
|
-
link: `https://v3.vuejs.org/
|
|
2254
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
|
|
2258
2255
|
},
|
|
2259
2256
|
["CONFIG_PRODUCTION_TIP" /* CONFIG_PRODUCTION_TIP */]: {
|
|
2260
2257
|
message: `config.productionTip has been removed.`,
|
|
2261
|
-
link: `https://v3.vuejs.org/
|
|
2258
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed`
|
|
2262
2259
|
},
|
|
2263
2260
|
["CONFIG_IGNORED_ELEMENTS" /* CONFIG_IGNORED_ELEMENTS */]: {
|
|
2264
2261
|
message: () => {
|
|
@@ -2271,7 +2268,7 @@ const deprecationData = {
|
|
|
2271
2268
|
}
|
|
2272
2269
|
return msg;
|
|
2273
2270
|
},
|
|
2274
|
-
link: `https://v3.vuejs.org/
|
|
2271
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement`
|
|
2275
2272
|
},
|
|
2276
2273
|
["CONFIG_WHITESPACE" /* CONFIG_WHITESPACE */]: {
|
|
2277
2274
|
// this warning is only relevant in the full build when using runtime
|
|
@@ -2294,12 +2291,12 @@ const deprecationData = {
|
|
|
2294
2291
|
},
|
|
2295
2292
|
["INSTANCE_DESTROY" /* INSTANCE_DESTROY */]: {
|
|
2296
2293
|
message: `vm.$destroy() has been removed. Use app.unmount() instead.`,
|
|
2297
|
-
link: `https://
|
|
2294
|
+
link: `https://vuejs.org/api/application.html#app-unmount`
|
|
2298
2295
|
},
|
|
2299
2296
|
["INSTANCE_EVENT_EMITTER" /* INSTANCE_EVENT_EMITTER */]: {
|
|
2300
2297
|
message: `vm.$on/$once/$off() have been removed. ` +
|
|
2301
2298
|
`Use an external event emitter library instead.`,
|
|
2302
|
-
link: `https://v3.vuejs.org/
|
|
2299
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/events-api.html`
|
|
2303
2300
|
},
|
|
2304
2301
|
["INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */]: {
|
|
2305
2302
|
message: event => `"${event}" lifecycle events are no longer supported. From templates, ` +
|
|
@@ -2307,23 +2304,23 @@ const deprecationData = {
|
|
|
2307
2304
|
`should be changed to @vnode-${event.slice(5)}. ` +
|
|
2308
2305
|
`From JavaScript, use Composition API to dynamically register lifecycle ` +
|
|
2309
2306
|
`hooks.`,
|
|
2310
|
-
link: `https://v3.vuejs.org/
|
|
2307
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/vnode-lifecycle-events.html`
|
|
2311
2308
|
},
|
|
2312
2309
|
["INSTANCE_CHILDREN" /* INSTANCE_CHILDREN */]: {
|
|
2313
2310
|
message: `vm.$children has been removed. Consider refactoring your logic ` +
|
|
2314
2311
|
`to avoid relying on direct access to child components.`,
|
|
2315
|
-
link: `https://v3.vuejs.org/
|
|
2312
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/children.html`
|
|
2316
2313
|
},
|
|
2317
2314
|
["INSTANCE_LISTENERS" /* INSTANCE_LISTENERS */]: {
|
|
2318
2315
|
message: `vm.$listeners has been removed. In Vue 3, parent v-on listeners are ` +
|
|
2319
2316
|
`included in vm.$attrs and it is no longer necessary to separately use ` +
|
|
2320
2317
|
`v-on="$listeners" if you are already using v-bind="$attrs". ` +
|
|
2321
2318
|
`(Note: the Vue 3 behavior only applies if this compat config is disabled)`,
|
|
2322
|
-
link: `https://v3.vuejs.org/
|
|
2319
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/listeners-removed.html`
|
|
2323
2320
|
},
|
|
2324
2321
|
["INSTANCE_SCOPED_SLOTS" /* INSTANCE_SCOPED_SLOTS */]: {
|
|
2325
2322
|
message: `vm.$scopedSlots has been removed. Use vm.$slots instead.`,
|
|
2326
|
-
link: `https://v3.vuejs.org/
|
|
2323
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/slots-unification.html`
|
|
2327
2324
|
},
|
|
2328
2325
|
["INSTANCE_ATTRS_CLASS_STYLE" /* INSTANCE_ATTRS_CLASS_STYLE */]: {
|
|
2329
2326
|
message: componentName => `Component <${componentName || 'Anonymous'}> has \`inheritAttrs: false\` but is ` +
|
|
@@ -2334,17 +2331,17 @@ const deprecationData = {
|
|
|
2334
2331
|
`If you are binding $attrs to a non-root element and expecting ` +
|
|
2335
2332
|
`class/style to fallthrough on root, you will need to now manually bind ` +
|
|
2336
2333
|
`them on root via :class="$attrs.class".`,
|
|
2337
|
-
link: `https://v3.vuejs.org/
|
|
2334
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attrs-includes-class-style.html`
|
|
2338
2335
|
},
|
|
2339
2336
|
["OPTIONS_DATA_FN" /* OPTIONS_DATA_FN */]: {
|
|
2340
2337
|
message: `The "data" option can no longer be a plain object. ` +
|
|
2341
2338
|
`Always use a function.`,
|
|
2342
|
-
link: `https://v3.vuejs.org/
|
|
2339
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html`
|
|
2343
2340
|
},
|
|
2344
2341
|
["OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */]: {
|
|
2345
2342
|
message: (key) => `Detected conflicting key "${key}" when merging data option values. ` +
|
|
2346
2343
|
`In Vue 3, data keys are merged shallowly and will override one another.`,
|
|
2347
|
-
link: `https://v3.vuejs.org/
|
|
2344
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html#mixin-merge-behavior-change`
|
|
2348
2345
|
},
|
|
2349
2346
|
["OPTIONS_BEFORE_DESTROY" /* OPTIONS_BEFORE_DESTROY */]: {
|
|
2350
2347
|
message: `\`beforeDestroy\` has been renamed to \`beforeUnmount\`.`
|
|
@@ -2358,23 +2355,23 @@ const deprecationData = {
|
|
|
2358
2355
|
`If current usage is intended, you can disable the compat behavior and ` +
|
|
2359
2356
|
`suppress this warning with:` +
|
|
2360
2357
|
`\n\n configureCompat({ ${"WATCH_ARRAY" /* WATCH_ARRAY */}: false })\n`,
|
|
2361
|
-
link: `https://v3.vuejs.org/
|
|
2358
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/watch.html`
|
|
2362
2359
|
},
|
|
2363
2360
|
["PROPS_DEFAULT_THIS" /* PROPS_DEFAULT_THIS */]: {
|
|
2364
2361
|
message: (key) => `props default value function no longer has access to "this". The compat ` +
|
|
2365
2362
|
`build only offers access to this.$options.` +
|
|
2366
2363
|
`(found in prop "${key}")`,
|
|
2367
|
-
link: `https://v3.vuejs.org/
|
|
2364
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/props-default-this.html`
|
|
2368
2365
|
},
|
|
2369
2366
|
["CUSTOM_DIR" /* CUSTOM_DIR */]: {
|
|
2370
2367
|
message: (legacyHook, newHook) => `Custom directive hook "${legacyHook}" has been removed. ` +
|
|
2371
2368
|
`Use "${newHook}" instead.`,
|
|
2372
|
-
link: `https://v3.vuejs.org/
|
|
2369
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/custom-directives.html`
|
|
2373
2370
|
},
|
|
2374
2371
|
["V_ON_KEYCODE_MODIFIER" /* V_ON_KEYCODE_MODIFIER */]: {
|
|
2375
2372
|
message: `Using keyCode as v-on modifier is no longer supported. ` +
|
|
2376
2373
|
`Use kebab-case key name modifiers instead.`,
|
|
2377
|
-
link: `https://v3.vuejs.org/
|
|
2374
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
|
|
2378
2375
|
},
|
|
2379
2376
|
["ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */]: {
|
|
2380
2377
|
message: (name) => `Attribute "${name}" with v-bind value \`false\` will render ` +
|
|
@@ -2382,7 +2379,7 @@ const deprecationData = {
|
|
|
2382
2379
|
`use \`null\` or \`undefined\` instead. If the usage is intended, ` +
|
|
2383
2380
|
`you can disable the compat behavior and suppress this warning with:` +
|
|
2384
2381
|
`\n\n configureCompat({ ${"ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */}: false })\n`,
|
|
2385
|
-
link: `https://v3.vuejs.org/
|
|
2382
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
|
|
2386
2383
|
},
|
|
2387
2384
|
["ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */]: {
|
|
2388
2385
|
message: (name, value, coerced) => `Enumerated attribute "${name}" with v-bind value \`${value}\` will ` +
|
|
@@ -2391,7 +2388,7 @@ const deprecationData = {
|
|
|
2391
2388
|
`If the usage is intended, ` +
|
|
2392
2389
|
`you can disable the compat behavior and suppress this warning with:` +
|
|
2393
2390
|
`\n\n configureCompat({ ${"ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */}: false })\n`,
|
|
2394
|
-
link: `https://v3.vuejs.org/
|
|
2391
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
|
|
2395
2392
|
},
|
|
2396
2393
|
["TRANSITION_CLASSES" /* TRANSITION_CLASSES */]: {
|
|
2397
2394
|
message: `` // this feature cannot be runtime-detected
|
|
@@ -2402,7 +2399,7 @@ const deprecationData = {
|
|
|
2402
2399
|
`for styling, you can disable the compat behavior and suppress this ` +
|
|
2403
2400
|
`warning with:` +
|
|
2404
2401
|
`\n\n configureCompat({ ${"TRANSITION_GROUP_ROOT" /* TRANSITION_GROUP_ROOT */}: false })\n`,
|
|
2405
|
-
link: `https://v3.vuejs.org/
|
|
2402
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/transition-group.html`
|
|
2406
2403
|
},
|
|
2407
2404
|
["COMPONENT_ASYNC" /* COMPONENT_ASYNC */]: {
|
|
2408
2405
|
message: (comp) => {
|
|
@@ -2415,7 +2412,7 @@ const deprecationData = {
|
|
|
2415
2412
|
`warning with:` +
|
|
2416
2413
|
`\n\n configureCompat({ ${"COMPONENT_ASYNC" /* COMPONENT_ASYNC */}: false })\n`);
|
|
2417
2414
|
},
|
|
2418
|
-
link: `https://v3.vuejs.org/
|
|
2415
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/async-components.html`
|
|
2419
2416
|
},
|
|
2420
2417
|
["COMPONENT_FUNCTIONAL" /* COMPONENT_FUNCTIONAL */]: {
|
|
2421
2418
|
message: (comp) => {
|
|
@@ -2426,7 +2423,7 @@ const deprecationData = {
|
|
|
2426
2423
|
`components usage have been migrated and its compat behavior has ` +
|
|
2427
2424
|
`been disabled.`);
|
|
2428
2425
|
},
|
|
2429
|
-
link: `https://v3.vuejs.org/
|
|
2426
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/functional-components.html`
|
|
2430
2427
|
},
|
|
2431
2428
|
["COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */]: {
|
|
2432
2429
|
message: (comp) => {
|
|
@@ -2443,20 +2440,20 @@ const deprecationData = {
|
|
|
2443
2440
|
`to work with v-model should now use the "modelValue" prop and emit the ` +
|
|
2444
2441
|
`"update:modelValue" event. You can update the usage and then ${configMsg}`);
|
|
2445
2442
|
},
|
|
2446
|
-
link: `https://v3.vuejs.org/
|
|
2443
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`
|
|
2447
2444
|
},
|
|
2448
2445
|
["RENDER_FUNCTION" /* RENDER_FUNCTION */]: {
|
|
2449
2446
|
message: `Vue 3's render function API has changed. ` +
|
|
2450
2447
|
`You can opt-in to the new API with:` +
|
|
2451
2448
|
`\n\n configureCompat({ ${"RENDER_FUNCTION" /* RENDER_FUNCTION */}: false })\n` +
|
|
2452
2449
|
`\n (This can also be done per-component via the "compatConfig" option.)`,
|
|
2453
|
-
link: `https://v3.vuejs.org/
|
|
2450
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/render-function-api.html`
|
|
2454
2451
|
},
|
|
2455
2452
|
["FILTERS" /* FILTERS */]: {
|
|
2456
2453
|
message: `filters have been removed in Vue 3. ` +
|
|
2457
2454
|
`The "|" symbol will be treated as native JavaScript bitwise OR operator. ` +
|
|
2458
2455
|
`Use method calls or computed properties instead.`,
|
|
2459
|
-
link: `https://v3.vuejs.org/
|
|
2456
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
|
|
2460
2457
|
},
|
|
2461
2458
|
["PRIVATE_APIS" /* PRIVATE_APIS */]: {
|
|
2462
2459
|
message: name => `"${name}" is a Vue 2 private API that no longer exists in Vue 3. ` +
|
|
@@ -2527,7 +2524,7 @@ function validateCompatConfig(config, instance) {
|
|
|
2527
2524
|
warn$1(`Deprecation config "${key}" is compiler-specific and you are ` +
|
|
2528
2525
|
`running a runtime-only build of Vue. This deprecation should be ` +
|
|
2529
2526
|
`configured via compiler options in your build setup instead.\n` +
|
|
2530
|
-
`Details: https://v3.vuejs.org/
|
|
2527
|
+
`Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`);
|
|
2531
2528
|
}
|
|
2532
2529
|
}
|
|
2533
2530
|
else {
|
|
@@ -5958,7 +5955,6 @@ return withDirectives(h(comp), [
|
|
|
5958
5955
|
[bar, this.y]
|
|
5959
5956
|
])
|
|
5960
5957
|
*/
|
|
5961
|
-
const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
|
|
5962
5958
|
function validateDirectiveName(name) {
|
|
5963
5959
|
if (isBuiltInDirective(name)) {
|
|
5964
5960
|
warn$1('Do not use built-in directive ids as custom directive id: ' + name);
|
|
@@ -6093,7 +6089,7 @@ function createCompatVue(createApp, createSingletonApp) {
|
|
|
6093
6089
|
return vm;
|
|
6094
6090
|
}
|
|
6095
6091
|
}
|
|
6096
|
-
Vue.version = `2.6.14-compat:${"3.2.
|
|
6092
|
+
Vue.version = `2.6.14-compat:${"3.2.30"}`;
|
|
6097
6093
|
Vue.config = singletonApp.config;
|
|
6098
6094
|
Vue.use = (p, ...options) => {
|
|
6099
6095
|
if (p && isFunction(p.install)) {
|
|
@@ -11081,7 +11077,7 @@ function isMemoSame(cached, memo) {
|
|
|
11081
11077
|
}
|
|
11082
11078
|
|
|
11083
11079
|
// Core API ------------------------------------------------------------------
|
|
11084
|
-
const version = "3.2.
|
|
11080
|
+
const version = "3.2.30";
|
|
11085
11081
|
const _ssrUtils = {
|
|
11086
11082
|
createComponentInstance,
|
|
11087
11083
|
setupComponent,
|
|
@@ -13718,13 +13714,13 @@ const deprecationData$1 = {
|
|
|
13718
13714
|
message: `Platform-native elements with "is" prop will no longer be ` +
|
|
13719
13715
|
`treated as components in Vue 3 unless the "is" value is explicitly ` +
|
|
13720
13716
|
`prefixed with "vue:".`,
|
|
13721
|
-
link: `https://v3.vuejs.org/
|
|
13717
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`
|
|
13722
13718
|
},
|
|
13723
13719
|
["COMPILER_V_BIND_SYNC" /* COMPILER_V_BIND_SYNC */]: {
|
|
13724
13720
|
message: key => `.sync modifier for v-bind has been removed. Use v-model with ` +
|
|
13725
13721
|
`argument instead. \`v-bind:${key}.sync\` should be changed to ` +
|
|
13726
13722
|
`\`v-model:${key}\`.`,
|
|
13727
|
-
link: `https://v3.vuejs.org/
|
|
13723
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`
|
|
13728
13724
|
},
|
|
13729
13725
|
["COMPILER_V_BIND_PROP" /* COMPILER_V_BIND_PROP */]: {
|
|
13730
13726
|
message: `.prop modifier for v-bind has been removed and no longer necessary. ` +
|
|
@@ -13736,11 +13732,11 @@ const deprecationData$1 = {
|
|
|
13736
13732
|
`that appears before v-bind in the case of conflict. ` +
|
|
13737
13733
|
`To retain 2.x behavior, move v-bind to make it the first attribute. ` +
|
|
13738
13734
|
`You can also suppress this warning if the usage is intended.`,
|
|
13739
|
-
link: `https://v3.vuejs.org/
|
|
13735
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`
|
|
13740
13736
|
},
|
|
13741
13737
|
["COMPILER_V_ON_NATIVE" /* COMPILER_V_ON_NATIVE */]: {
|
|
13742
13738
|
message: `.native modifier for v-on has been removed as is no longer necessary.`,
|
|
13743
|
-
link: `https://v3.vuejs.org/
|
|
13739
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`
|
|
13744
13740
|
},
|
|
13745
13741
|
["COMPILER_V_IF_V_FOR_PRECEDENCE" /* COMPILER_V_IF_V_FOR_PRECEDENCE */]: {
|
|
13746
13742
|
message: `v-if / v-for precedence when used on the same element has changed ` +
|
|
@@ -13748,7 +13744,7 @@ const deprecationData$1 = {
|
|
|
13748
13744
|
`access to v-for scope variables. It is best to avoid the ambiguity ` +
|
|
13749
13745
|
`with <template> tags or use a computed property that filters v-for ` +
|
|
13750
13746
|
`data source.`,
|
|
13751
|
-
link: `https://v3.vuejs.org/
|
|
13747
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`
|
|
13752
13748
|
},
|
|
13753
13749
|
["COMPILER_NATIVE_TEMPLATE" /* COMPILER_NATIVE_TEMPLATE */]: {
|
|
13754
13750
|
message: `<template> with no special directives will render as a native template ` +
|
|
@@ -13756,13 +13752,13 @@ const deprecationData$1 = {
|
|
|
13756
13752
|
},
|
|
13757
13753
|
["COMPILER_INLINE_TEMPLATE" /* COMPILER_INLINE_TEMPLATE */]: {
|
|
13758
13754
|
message: `"inline-template" has been removed in Vue 3.`,
|
|
13759
|
-
link: `https://v3.vuejs.org/
|
|
13755
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`
|
|
13760
13756
|
},
|
|
13761
13757
|
["COMPILER_FILTER" /* COMPILER_FILTERS */]: {
|
|
13762
13758
|
message: `filters have been removed in Vue 3. ` +
|
|
13763
13759
|
`The "|" symbol will be treated as native JavaScript bitwise OR operator. ` +
|
|
13764
13760
|
`Use method calls or computed properties instead.`,
|
|
13765
|
-
link: `https://v3.vuejs.org/
|
|
13761
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
|
|
13766
13762
|
}
|
|
13767
13763
|
};
|
|
13768
13764
|
function getCompatValue(key, context) {
|
|
@@ -16882,7 +16878,7 @@ function buildProps(node, context, props = node.props, ssr = false) {
|
|
|
16882
16878
|
}
|
|
16883
16879
|
}
|
|
16884
16880
|
}
|
|
16885
|
-
else {
|
|
16881
|
+
else if (!isBuiltInDirective(name)) {
|
|
16886
16882
|
// no built-in transform, this is a user custom directive.
|
|
16887
16883
|
runtimeDirectives.push(prop);
|
|
16888
16884
|
// custom dirs may use beforeUpdate so they need to force blocks
|