@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.global.js
CHANGED
|
@@ -280,13 +280,15 @@ var Vue = (function () {
|
|
|
280
280
|
* @private
|
|
281
281
|
*/
|
|
282
282
|
const toDisplayString = (val) => {
|
|
283
|
-
return val
|
|
284
|
-
?
|
|
285
|
-
:
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
283
|
+
return isString(val)
|
|
284
|
+
? val
|
|
285
|
+
: val == null
|
|
286
|
+
? ''
|
|
287
|
+
: isArray(val) ||
|
|
288
|
+
(isObject(val) &&
|
|
289
|
+
(val.toString === objectToString || !isFunction(val.toString)))
|
|
290
|
+
? JSON.stringify(val, replacer, 2)
|
|
291
|
+
: String(val);
|
|
290
292
|
};
|
|
291
293
|
const replacer = (_key, val) => {
|
|
292
294
|
// can't use isRef here since @vue/shared has no deps
|
|
@@ -360,6 +362,7 @@ var Vue = (function () {
|
|
|
360
362
|
'onVnodeBeforeMount,onVnodeMounted,' +
|
|
361
363
|
'onVnodeBeforeUpdate,onVnodeUpdated,' +
|
|
362
364
|
'onVnodeBeforeUnmount,onVnodeUnmounted');
|
|
365
|
+
const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
|
|
363
366
|
const cacheStringFunction = (fn) => {
|
|
364
367
|
const cache = Object.create(null);
|
|
365
368
|
return ((str) => {
|
|
@@ -425,7 +428,6 @@ var Vue = (function () {
|
|
|
425
428
|
}
|
|
426
429
|
|
|
427
430
|
let activeEffectScope;
|
|
428
|
-
const effectScopeStack = [];
|
|
429
431
|
class EffectScope {
|
|
430
432
|
constructor(detached = false) {
|
|
431
433
|
this.active = true;
|
|
@@ -440,11 +442,11 @@ var Vue = (function () {
|
|
|
440
442
|
run(fn) {
|
|
441
443
|
if (this.active) {
|
|
442
444
|
try {
|
|
443
|
-
this
|
|
445
|
+
activeEffectScope = this;
|
|
444
446
|
return fn();
|
|
445
447
|
}
|
|
446
448
|
finally {
|
|
447
|
-
this.
|
|
449
|
+
activeEffectScope = this.parent;
|
|
448
450
|
}
|
|
449
451
|
}
|
|
450
452
|
else {
|
|
@@ -452,23 +454,24 @@ var Vue = (function () {
|
|
|
452
454
|
}
|
|
453
455
|
}
|
|
454
456
|
on() {
|
|
455
|
-
|
|
456
|
-
effectScopeStack.push(this);
|
|
457
|
-
activeEffectScope = this;
|
|
458
|
-
}
|
|
457
|
+
activeEffectScope = this;
|
|
459
458
|
}
|
|
460
459
|
off() {
|
|
461
|
-
|
|
462
|
-
effectScopeStack.pop();
|
|
463
|
-
activeEffectScope = effectScopeStack[effectScopeStack.length - 1];
|
|
464
|
-
}
|
|
460
|
+
activeEffectScope = this.parent;
|
|
465
461
|
}
|
|
466
462
|
stop(fromParent) {
|
|
467
463
|
if (this.active) {
|
|
468
|
-
|
|
469
|
-
this.
|
|
464
|
+
let i, l;
|
|
465
|
+
for (i = 0, l = this.effects.length; i < l; i++) {
|
|
466
|
+
this.effects[i].stop();
|
|
467
|
+
}
|
|
468
|
+
for (i = 0, l = this.cleanups.length; i < l; i++) {
|
|
469
|
+
this.cleanups[i]();
|
|
470
|
+
}
|
|
470
471
|
if (this.scopes) {
|
|
471
|
-
this.scopes.
|
|
472
|
+
for (i = 0, l = this.scopes.length; i < l; i++) {
|
|
473
|
+
this.scopes[i].stop(true);
|
|
474
|
+
}
|
|
472
475
|
}
|
|
473
476
|
// nested scope, dereference from parent to avoid memory leaks
|
|
474
477
|
if (this.parent && !fromParent) {
|
|
@@ -486,8 +489,7 @@ var Vue = (function () {
|
|
|
486
489
|
function effectScope(detached) {
|
|
487
490
|
return new EffectScope(detached);
|
|
488
491
|
}
|
|
489
|
-
function recordEffectScope(effect, scope) {
|
|
490
|
-
scope = scope || activeEffectScope;
|
|
492
|
+
function recordEffectScope(effect, scope = activeEffectScope) {
|
|
491
493
|
if (scope && scope.active) {
|
|
492
494
|
scope.effects.push(effect);
|
|
493
495
|
}
|
|
@@ -550,7 +552,6 @@ var Vue = (function () {
|
|
|
550
552
|
* When recursion depth is greater, fall back to using a full cleanup.
|
|
551
553
|
*/
|
|
552
554
|
const maxMarkerBits = 30;
|
|
553
|
-
const effectStack = [];
|
|
554
555
|
let activeEffect;
|
|
555
556
|
const ITERATE_KEY = Symbol('iterate' );
|
|
556
557
|
const MAP_KEY_ITERATE_KEY = Symbol('Map key iterate' );
|
|
@@ -560,35 +561,42 @@ var Vue = (function () {
|
|
|
560
561
|
this.scheduler = scheduler;
|
|
561
562
|
this.active = true;
|
|
562
563
|
this.deps = [];
|
|
564
|
+
this.parent = undefined;
|
|
563
565
|
recordEffectScope(this, scope);
|
|
564
566
|
}
|
|
565
567
|
run() {
|
|
566
568
|
if (!this.active) {
|
|
567
569
|
return this.fn();
|
|
568
570
|
}
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
if (effectTrackDepth <= maxMarkerBits) {
|
|
575
|
-
initDepMarkers(this);
|
|
576
|
-
}
|
|
577
|
-
else {
|
|
578
|
-
cleanupEffect(this);
|
|
579
|
-
}
|
|
580
|
-
return this.fn();
|
|
571
|
+
let parent = activeEffect;
|
|
572
|
+
let lastShouldTrack = shouldTrack;
|
|
573
|
+
while (parent) {
|
|
574
|
+
if (parent === this) {
|
|
575
|
+
return;
|
|
581
576
|
}
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
577
|
+
parent = parent.parent;
|
|
578
|
+
}
|
|
579
|
+
try {
|
|
580
|
+
this.parent = activeEffect;
|
|
581
|
+
activeEffect = this;
|
|
582
|
+
shouldTrack = true;
|
|
583
|
+
trackOpBit = 1 << ++effectTrackDepth;
|
|
584
|
+
if (effectTrackDepth <= maxMarkerBits) {
|
|
585
|
+
initDepMarkers(this);
|
|
591
586
|
}
|
|
587
|
+
else {
|
|
588
|
+
cleanupEffect(this);
|
|
589
|
+
}
|
|
590
|
+
return this.fn();
|
|
591
|
+
}
|
|
592
|
+
finally {
|
|
593
|
+
if (effectTrackDepth <= maxMarkerBits) {
|
|
594
|
+
finalizeDepMarkers(this);
|
|
595
|
+
}
|
|
596
|
+
trackOpBit = 1 << --effectTrackDepth;
|
|
597
|
+
activeEffect = this.parent;
|
|
598
|
+
shouldTrack = lastShouldTrack;
|
|
599
|
+
this.parent = undefined;
|
|
592
600
|
}
|
|
593
601
|
}
|
|
594
602
|
stop() {
|
|
@@ -636,32 +644,24 @@ var Vue = (function () {
|
|
|
636
644
|
trackStack.push(shouldTrack);
|
|
637
645
|
shouldTrack = false;
|
|
638
646
|
}
|
|
639
|
-
function enableTracking() {
|
|
640
|
-
trackStack.push(shouldTrack);
|
|
641
|
-
shouldTrack = true;
|
|
642
|
-
}
|
|
643
647
|
function resetTracking() {
|
|
644
648
|
const last = trackStack.pop();
|
|
645
649
|
shouldTrack = last === undefined ? true : last;
|
|
646
650
|
}
|
|
647
651
|
function track(target, type, key) {
|
|
648
|
-
if (
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
652
|
+
if (shouldTrack && activeEffect) {
|
|
653
|
+
let depsMap = targetMap.get(target);
|
|
654
|
+
if (!depsMap) {
|
|
655
|
+
targetMap.set(target, (depsMap = new Map()));
|
|
656
|
+
}
|
|
657
|
+
let dep = depsMap.get(key);
|
|
658
|
+
if (!dep) {
|
|
659
|
+
depsMap.set(key, (dep = createDep()));
|
|
660
|
+
}
|
|
661
|
+
const eventInfo = { effect: activeEffect, target, type, key }
|
|
662
|
+
;
|
|
663
|
+
trackEffects(dep, eventInfo);
|
|
658
664
|
}
|
|
659
|
-
const eventInfo = { effect: activeEffect, target, type, key }
|
|
660
|
-
;
|
|
661
|
-
trackEffects(dep, eventInfo);
|
|
662
|
-
}
|
|
663
|
-
function isTracking() {
|
|
664
|
-
return shouldTrack && activeEffect !== undefined;
|
|
665
665
|
}
|
|
666
666
|
function trackEffects(dep, debuggerEventExtraInfo) {
|
|
667
667
|
let shouldTrack = false;
|
|
@@ -1346,13 +1346,10 @@ var Vue = (function () {
|
|
|
1346
1346
|
const toReadonly = (value) => isObject(value) ? readonly(value) : value;
|
|
1347
1347
|
|
|
1348
1348
|
function trackRefValue(ref) {
|
|
1349
|
-
if (
|
|
1349
|
+
if (shouldTrack && activeEffect) {
|
|
1350
1350
|
ref = toRaw(ref);
|
|
1351
|
-
if (!ref.dep) {
|
|
1352
|
-
ref.dep = createDep();
|
|
1353
|
-
}
|
|
1354
1351
|
{
|
|
1355
|
-
trackEffects(ref.dep, {
|
|
1352
|
+
trackEffects(ref.dep || (ref.dep = createDep()), {
|
|
1356
1353
|
target: ref,
|
|
1357
1354
|
type: "get" /* GET */,
|
|
1358
1355
|
key: 'value'
|
|
@@ -1374,7 +1371,7 @@ var Vue = (function () {
|
|
|
1374
1371
|
}
|
|
1375
1372
|
}
|
|
1376
1373
|
function isRef(r) {
|
|
1377
|
-
return
|
|
1374
|
+
return !!(r && r.__v_isRef === true);
|
|
1378
1375
|
}
|
|
1379
1376
|
function ref(value) {
|
|
1380
1377
|
return createRef(value, false);
|
|
@@ -2185,23 +2182,23 @@ var Vue = (function () {
|
|
|
2185
2182
|
["GLOBAL_MOUNT" /* GLOBAL_MOUNT */]: {
|
|
2186
2183
|
message: `The global app bootstrapping API has changed: vm.$mount() and the "el" ` +
|
|
2187
2184
|
`option have been removed. Use createApp(RootComponent).mount() instead.`,
|
|
2188
|
-
link: `https://v3.vuejs.org/
|
|
2185
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#mounting-app-instance`
|
|
2189
2186
|
},
|
|
2190
2187
|
["GLOBAL_MOUNT_CONTAINER" /* GLOBAL_MOUNT_CONTAINER */]: {
|
|
2191
2188
|
message: `Vue detected directives on the mount container. ` +
|
|
2192
2189
|
`In Vue 3, the container is no longer considered part of the template ` +
|
|
2193
2190
|
`and will not be processed/replaced.`,
|
|
2194
|
-
link: `https://v3.vuejs.org/
|
|
2191
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/mount-changes.html`
|
|
2195
2192
|
},
|
|
2196
2193
|
["GLOBAL_EXTEND" /* GLOBAL_EXTEND */]: {
|
|
2197
2194
|
message: `Vue.extend() has been removed in Vue 3. ` +
|
|
2198
2195
|
`Use defineComponent() instead.`,
|
|
2199
|
-
link: `https://
|
|
2196
|
+
link: `https://vuejs.org/api/general.html#definecomponent`
|
|
2200
2197
|
},
|
|
2201
2198
|
["GLOBAL_PROTOTYPE" /* GLOBAL_PROTOTYPE */]: {
|
|
2202
2199
|
message: `Vue.prototype is no longer available in Vue 3. ` +
|
|
2203
2200
|
`Use app.config.globalProperties instead.`,
|
|
2204
|
-
link: `https://v3.vuejs.org/
|
|
2201
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#vue-prototype-replaced-by-config-globalproperties`
|
|
2205
2202
|
},
|
|
2206
2203
|
["GLOBAL_SET" /* GLOBAL_SET */]: {
|
|
2207
2204
|
message: `Vue.set() has been removed as it is no longer needed in Vue 3. ` +
|
|
@@ -2214,7 +2211,7 @@ var Vue = (function () {
|
|
|
2214
2211
|
["GLOBAL_OBSERVABLE" /* GLOBAL_OBSERVABLE */]: {
|
|
2215
2212
|
message: `Vue.observable() has been removed. ` +
|
|
2216
2213
|
`Use \`import { reactive } from "vue"\` from Composition API instead.`,
|
|
2217
|
-
link: `https://
|
|
2214
|
+
link: `https://vuejs.org/api/reactivity-core.html#reactive`
|
|
2218
2215
|
},
|
|
2219
2216
|
["GLOBAL_PRIVATE_UTIL" /* GLOBAL_PRIVATE_UTIL */]: {
|
|
2220
2217
|
message: `Vue.util has been removed. Please refactor to avoid its usage ` +
|
|
@@ -2233,11 +2230,11 @@ var Vue = (function () {
|
|
|
2233
2230
|
["CONFIG_KEY_CODES" /* CONFIG_KEY_CODES */]: {
|
|
2234
2231
|
message: `config.keyCodes has been removed. ` +
|
|
2235
2232
|
`In Vue 3, you can directly use the kebab-case key names as v-on modifiers.`,
|
|
2236
|
-
link: `https://v3.vuejs.org/
|
|
2233
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
|
|
2237
2234
|
},
|
|
2238
2235
|
["CONFIG_PRODUCTION_TIP" /* CONFIG_PRODUCTION_TIP */]: {
|
|
2239
2236
|
message: `config.productionTip has been removed.`,
|
|
2240
|
-
link: `https://v3.vuejs.org/
|
|
2237
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed`
|
|
2241
2238
|
},
|
|
2242
2239
|
["CONFIG_IGNORED_ELEMENTS" /* CONFIG_IGNORED_ELEMENTS */]: {
|
|
2243
2240
|
message: () => {
|
|
@@ -2250,7 +2247,7 @@ var Vue = (function () {
|
|
|
2250
2247
|
}
|
|
2251
2248
|
return msg;
|
|
2252
2249
|
},
|
|
2253
|
-
link: `https://v3.vuejs.org/
|
|
2250
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement`
|
|
2254
2251
|
},
|
|
2255
2252
|
["CONFIG_WHITESPACE" /* CONFIG_WHITESPACE */]: {
|
|
2256
2253
|
// this warning is only relevant in the full build when using runtime
|
|
@@ -2273,12 +2270,12 @@ var Vue = (function () {
|
|
|
2273
2270
|
},
|
|
2274
2271
|
["INSTANCE_DESTROY" /* INSTANCE_DESTROY */]: {
|
|
2275
2272
|
message: `vm.$destroy() has been removed. Use app.unmount() instead.`,
|
|
2276
|
-
link: `https://
|
|
2273
|
+
link: `https://vuejs.org/api/application.html#app-unmount`
|
|
2277
2274
|
},
|
|
2278
2275
|
["INSTANCE_EVENT_EMITTER" /* INSTANCE_EVENT_EMITTER */]: {
|
|
2279
2276
|
message: `vm.$on/$once/$off() have been removed. ` +
|
|
2280
2277
|
`Use an external event emitter library instead.`,
|
|
2281
|
-
link: `https://v3.vuejs.org/
|
|
2278
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/events-api.html`
|
|
2282
2279
|
},
|
|
2283
2280
|
["INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */]: {
|
|
2284
2281
|
message: event => `"${event}" lifecycle events are no longer supported. From templates, ` +
|
|
@@ -2286,23 +2283,23 @@ var Vue = (function () {
|
|
|
2286
2283
|
`should be changed to @vnode-${event.slice(5)}. ` +
|
|
2287
2284
|
`From JavaScript, use Composition API to dynamically register lifecycle ` +
|
|
2288
2285
|
`hooks.`,
|
|
2289
|
-
link: `https://v3.vuejs.org/
|
|
2286
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/vnode-lifecycle-events.html`
|
|
2290
2287
|
},
|
|
2291
2288
|
["INSTANCE_CHILDREN" /* INSTANCE_CHILDREN */]: {
|
|
2292
2289
|
message: `vm.$children has been removed. Consider refactoring your logic ` +
|
|
2293
2290
|
`to avoid relying on direct access to child components.`,
|
|
2294
|
-
link: `https://v3.vuejs.org/
|
|
2291
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/children.html`
|
|
2295
2292
|
},
|
|
2296
2293
|
["INSTANCE_LISTENERS" /* INSTANCE_LISTENERS */]: {
|
|
2297
2294
|
message: `vm.$listeners has been removed. In Vue 3, parent v-on listeners are ` +
|
|
2298
2295
|
`included in vm.$attrs and it is no longer necessary to separately use ` +
|
|
2299
2296
|
`v-on="$listeners" if you are already using v-bind="$attrs". ` +
|
|
2300
2297
|
`(Note: the Vue 3 behavior only applies if this compat config is disabled)`,
|
|
2301
|
-
link: `https://v3.vuejs.org/
|
|
2298
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/listeners-removed.html`
|
|
2302
2299
|
},
|
|
2303
2300
|
["INSTANCE_SCOPED_SLOTS" /* INSTANCE_SCOPED_SLOTS */]: {
|
|
2304
2301
|
message: `vm.$scopedSlots has been removed. Use vm.$slots instead.`,
|
|
2305
|
-
link: `https://v3.vuejs.org/
|
|
2302
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/slots-unification.html`
|
|
2306
2303
|
},
|
|
2307
2304
|
["INSTANCE_ATTRS_CLASS_STYLE" /* INSTANCE_ATTRS_CLASS_STYLE */]: {
|
|
2308
2305
|
message: componentName => `Component <${componentName || 'Anonymous'}> has \`inheritAttrs: false\` but is ` +
|
|
@@ -2313,17 +2310,17 @@ var Vue = (function () {
|
|
|
2313
2310
|
`If you are binding $attrs to a non-root element and expecting ` +
|
|
2314
2311
|
`class/style to fallthrough on root, you will need to now manually bind ` +
|
|
2315
2312
|
`them on root via :class="$attrs.class".`,
|
|
2316
|
-
link: `https://v3.vuejs.org/
|
|
2313
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attrs-includes-class-style.html`
|
|
2317
2314
|
},
|
|
2318
2315
|
["OPTIONS_DATA_FN" /* OPTIONS_DATA_FN */]: {
|
|
2319
2316
|
message: `The "data" option can no longer be a plain object. ` +
|
|
2320
2317
|
`Always use a function.`,
|
|
2321
|
-
link: `https://v3.vuejs.org/
|
|
2318
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html`
|
|
2322
2319
|
},
|
|
2323
2320
|
["OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */]: {
|
|
2324
2321
|
message: (key) => `Detected conflicting key "${key}" when merging data option values. ` +
|
|
2325
2322
|
`In Vue 3, data keys are merged shallowly and will override one another.`,
|
|
2326
|
-
link: `https://v3.vuejs.org/
|
|
2323
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html#mixin-merge-behavior-change`
|
|
2327
2324
|
},
|
|
2328
2325
|
["OPTIONS_BEFORE_DESTROY" /* OPTIONS_BEFORE_DESTROY */]: {
|
|
2329
2326
|
message: `\`beforeDestroy\` has been renamed to \`beforeUnmount\`.`
|
|
@@ -2337,23 +2334,23 @@ var Vue = (function () {
|
|
|
2337
2334
|
`If current usage is intended, you can disable the compat behavior and ` +
|
|
2338
2335
|
`suppress this warning with:` +
|
|
2339
2336
|
`\n\n configureCompat({ ${"WATCH_ARRAY" /* WATCH_ARRAY */}: false })\n`,
|
|
2340
|
-
link: `https://v3.vuejs.org/
|
|
2337
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/watch.html`
|
|
2341
2338
|
},
|
|
2342
2339
|
["PROPS_DEFAULT_THIS" /* PROPS_DEFAULT_THIS */]: {
|
|
2343
2340
|
message: (key) => `props default value function no longer has access to "this". The compat ` +
|
|
2344
2341
|
`build only offers access to this.$options.` +
|
|
2345
2342
|
`(found in prop "${key}")`,
|
|
2346
|
-
link: `https://v3.vuejs.org/
|
|
2343
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/props-default-this.html`
|
|
2347
2344
|
},
|
|
2348
2345
|
["CUSTOM_DIR" /* CUSTOM_DIR */]: {
|
|
2349
2346
|
message: (legacyHook, newHook) => `Custom directive hook "${legacyHook}" has been removed. ` +
|
|
2350
2347
|
`Use "${newHook}" instead.`,
|
|
2351
|
-
link: `https://v3.vuejs.org/
|
|
2348
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/custom-directives.html`
|
|
2352
2349
|
},
|
|
2353
2350
|
["V_ON_KEYCODE_MODIFIER" /* V_ON_KEYCODE_MODIFIER */]: {
|
|
2354
2351
|
message: `Using keyCode as v-on modifier is no longer supported. ` +
|
|
2355
2352
|
`Use kebab-case key name modifiers instead.`,
|
|
2356
|
-
link: `https://v3.vuejs.org/
|
|
2353
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
|
|
2357
2354
|
},
|
|
2358
2355
|
["ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */]: {
|
|
2359
2356
|
message: (name) => `Attribute "${name}" with v-bind value \`false\` will render ` +
|
|
@@ -2361,7 +2358,7 @@ var Vue = (function () {
|
|
|
2361
2358
|
`use \`null\` or \`undefined\` instead. If the usage is intended, ` +
|
|
2362
2359
|
`you can disable the compat behavior and suppress this warning with:` +
|
|
2363
2360
|
`\n\n configureCompat({ ${"ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */}: false })\n`,
|
|
2364
|
-
link: `https://v3.vuejs.org/
|
|
2361
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
|
|
2365
2362
|
},
|
|
2366
2363
|
["ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */]: {
|
|
2367
2364
|
message: (name, value, coerced) => `Enumerated attribute "${name}" with v-bind value \`${value}\` will ` +
|
|
@@ -2370,7 +2367,7 @@ var Vue = (function () {
|
|
|
2370
2367
|
`If the usage is intended, ` +
|
|
2371
2368
|
`you can disable the compat behavior and suppress this warning with:` +
|
|
2372
2369
|
`\n\n configureCompat({ ${"ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */}: false })\n`,
|
|
2373
|
-
link: `https://v3.vuejs.org/
|
|
2370
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
|
|
2374
2371
|
},
|
|
2375
2372
|
["TRANSITION_CLASSES" /* TRANSITION_CLASSES */]: {
|
|
2376
2373
|
message: `` // this feature cannot be runtime-detected
|
|
@@ -2381,7 +2378,7 @@ var Vue = (function () {
|
|
|
2381
2378
|
`for styling, you can disable the compat behavior and suppress this ` +
|
|
2382
2379
|
`warning with:` +
|
|
2383
2380
|
`\n\n configureCompat({ ${"TRANSITION_GROUP_ROOT" /* TRANSITION_GROUP_ROOT */}: false })\n`,
|
|
2384
|
-
link: `https://v3.vuejs.org/
|
|
2381
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/transition-group.html`
|
|
2385
2382
|
},
|
|
2386
2383
|
["COMPONENT_ASYNC" /* COMPONENT_ASYNC */]: {
|
|
2387
2384
|
message: (comp) => {
|
|
@@ -2394,7 +2391,7 @@ var Vue = (function () {
|
|
|
2394
2391
|
`warning with:` +
|
|
2395
2392
|
`\n\n configureCompat({ ${"COMPONENT_ASYNC" /* COMPONENT_ASYNC */}: false })\n`);
|
|
2396
2393
|
},
|
|
2397
|
-
link: `https://v3.vuejs.org/
|
|
2394
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/async-components.html`
|
|
2398
2395
|
},
|
|
2399
2396
|
["COMPONENT_FUNCTIONAL" /* COMPONENT_FUNCTIONAL */]: {
|
|
2400
2397
|
message: (comp) => {
|
|
@@ -2405,7 +2402,7 @@ var Vue = (function () {
|
|
|
2405
2402
|
`components usage have been migrated and its compat behavior has ` +
|
|
2406
2403
|
`been disabled.`);
|
|
2407
2404
|
},
|
|
2408
|
-
link: `https://v3.vuejs.org/
|
|
2405
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/functional-components.html`
|
|
2409
2406
|
},
|
|
2410
2407
|
["COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */]: {
|
|
2411
2408
|
message: (comp) => {
|
|
@@ -2422,20 +2419,20 @@ var Vue = (function () {
|
|
|
2422
2419
|
`to work with v-model should now use the "modelValue" prop and emit the ` +
|
|
2423
2420
|
`"update:modelValue" event. You can update the usage and then ${configMsg}`);
|
|
2424
2421
|
},
|
|
2425
|
-
link: `https://v3.vuejs.org/
|
|
2422
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`
|
|
2426
2423
|
},
|
|
2427
2424
|
["RENDER_FUNCTION" /* RENDER_FUNCTION */]: {
|
|
2428
2425
|
message: `Vue 3's render function API has changed. ` +
|
|
2429
2426
|
`You can opt-in to the new API with:` +
|
|
2430
2427
|
`\n\n configureCompat({ ${"RENDER_FUNCTION" /* RENDER_FUNCTION */}: false })\n` +
|
|
2431
2428
|
`\n (This can also be done per-component via the "compatConfig" option.)`,
|
|
2432
|
-
link: `https://v3.vuejs.org/
|
|
2429
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/render-function-api.html`
|
|
2433
2430
|
},
|
|
2434
2431
|
["FILTERS" /* FILTERS */]: {
|
|
2435
2432
|
message: `filters have been removed in Vue 3. ` +
|
|
2436
2433
|
`The "|" symbol will be treated as native JavaScript bitwise OR operator. ` +
|
|
2437
2434
|
`Use method calls or computed properties instead.`,
|
|
2438
|
-
link: `https://v3.vuejs.org/
|
|
2435
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
|
|
2439
2436
|
},
|
|
2440
2437
|
["PRIVATE_APIS" /* PRIVATE_APIS */]: {
|
|
2441
2438
|
message: name => `"${name}" is a Vue 2 private API that no longer exists in Vue 3. ` +
|
|
@@ -2503,7 +2500,7 @@ var Vue = (function () {
|
|
|
2503
2500
|
warn$1(`Deprecation config "${key}" is compiler-specific and you are ` +
|
|
2504
2501
|
`running a runtime-only build of Vue. This deprecation should be ` +
|
|
2505
2502
|
`configured via compiler options in your build setup instead.\n` +
|
|
2506
|
-
`Details: https://v3.vuejs.org/
|
|
2503
|
+
`Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`);
|
|
2507
2504
|
}
|
|
2508
2505
|
}
|
|
2509
2506
|
else {
|
|
@@ -5904,7 +5901,6 @@ var Vue = (function () {
|
|
|
5904
5901
|
[bar, this.y]
|
|
5905
5902
|
])
|
|
5906
5903
|
*/
|
|
5907
|
-
const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
|
|
5908
5904
|
function validateDirectiveName(name) {
|
|
5909
5905
|
if (isBuiltInDirective(name)) {
|
|
5910
5906
|
warn$1('Do not use built-in directive ids as custom directive id: ' + name);
|
|
@@ -6039,7 +6035,7 @@ var Vue = (function () {
|
|
|
6039
6035
|
return vm;
|
|
6040
6036
|
}
|
|
6041
6037
|
}
|
|
6042
|
-
Vue.version = `2.6.14-compat:${"3.2.
|
|
6038
|
+
Vue.version = `2.6.14-compat:${"3.2.30"}`;
|
|
6043
6039
|
Vue.config = singletonApp.config;
|
|
6044
6040
|
Vue.use = (p, ...options) => {
|
|
6045
6041
|
if (p && isFunction(p.install)) {
|
|
@@ -10938,7 +10934,7 @@ var Vue = (function () {
|
|
|
10938
10934
|
}
|
|
10939
10935
|
|
|
10940
10936
|
// Core API ------------------------------------------------------------------
|
|
10941
|
-
const version = "3.2.
|
|
10937
|
+
const version = "3.2.30";
|
|
10942
10938
|
/**
|
|
10943
10939
|
* SSR utils for \@vue/server-renderer. Only exposed in cjs builds.
|
|
10944
10940
|
* @internal
|
|
@@ -13510,13 +13506,13 @@ var Vue = (function () {
|
|
|
13510
13506
|
message: `Platform-native elements with "is" prop will no longer be ` +
|
|
13511
13507
|
`treated as components in Vue 3 unless the "is" value is explicitly ` +
|
|
13512
13508
|
`prefixed with "vue:".`,
|
|
13513
|
-
link: `https://v3.vuejs.org/
|
|
13509
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`
|
|
13514
13510
|
},
|
|
13515
13511
|
["COMPILER_V_BIND_SYNC" /* COMPILER_V_BIND_SYNC */]: {
|
|
13516
13512
|
message: key => `.sync modifier for v-bind has been removed. Use v-model with ` +
|
|
13517
13513
|
`argument instead. \`v-bind:${key}.sync\` should be changed to ` +
|
|
13518
13514
|
`\`v-model:${key}\`.`,
|
|
13519
|
-
link: `https://v3.vuejs.org/
|
|
13515
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`
|
|
13520
13516
|
},
|
|
13521
13517
|
["COMPILER_V_BIND_PROP" /* COMPILER_V_BIND_PROP */]: {
|
|
13522
13518
|
message: `.prop modifier for v-bind has been removed and no longer necessary. ` +
|
|
@@ -13528,11 +13524,11 @@ var Vue = (function () {
|
|
|
13528
13524
|
`that appears before v-bind in the case of conflict. ` +
|
|
13529
13525
|
`To retain 2.x behavior, move v-bind to make it the first attribute. ` +
|
|
13530
13526
|
`You can also suppress this warning if the usage is intended.`,
|
|
13531
|
-
link: `https://v3.vuejs.org/
|
|
13527
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`
|
|
13532
13528
|
},
|
|
13533
13529
|
["COMPILER_V_ON_NATIVE" /* COMPILER_V_ON_NATIVE */]: {
|
|
13534
13530
|
message: `.native modifier for v-on has been removed as is no longer necessary.`,
|
|
13535
|
-
link: `https://v3.vuejs.org/
|
|
13531
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`
|
|
13536
13532
|
},
|
|
13537
13533
|
["COMPILER_V_IF_V_FOR_PRECEDENCE" /* COMPILER_V_IF_V_FOR_PRECEDENCE */]: {
|
|
13538
13534
|
message: `v-if / v-for precedence when used on the same element has changed ` +
|
|
@@ -13540,7 +13536,7 @@ var Vue = (function () {
|
|
|
13540
13536
|
`access to v-for scope variables. It is best to avoid the ambiguity ` +
|
|
13541
13537
|
`with <template> tags or use a computed property that filters v-for ` +
|
|
13542
13538
|
`data source.`,
|
|
13543
|
-
link: `https://v3.vuejs.org/
|
|
13539
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`
|
|
13544
13540
|
},
|
|
13545
13541
|
["COMPILER_NATIVE_TEMPLATE" /* COMPILER_NATIVE_TEMPLATE */]: {
|
|
13546
13542
|
message: `<template> with no special directives will render as a native template ` +
|
|
@@ -13548,13 +13544,13 @@ var Vue = (function () {
|
|
|
13548
13544
|
},
|
|
13549
13545
|
["COMPILER_INLINE_TEMPLATE" /* COMPILER_INLINE_TEMPLATE */]: {
|
|
13550
13546
|
message: `"inline-template" has been removed in Vue 3.`,
|
|
13551
|
-
link: `https://v3.vuejs.org/
|
|
13547
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`
|
|
13552
13548
|
},
|
|
13553
13549
|
["COMPILER_FILTER" /* COMPILER_FILTERS */]: {
|
|
13554
13550
|
message: `filters have been removed in Vue 3. ` +
|
|
13555
13551
|
`The "|" symbol will be treated as native JavaScript bitwise OR operator. ` +
|
|
13556
13552
|
`Use method calls or computed properties instead.`,
|
|
13557
|
-
link: `https://v3.vuejs.org/
|
|
13553
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
|
|
13558
13554
|
}
|
|
13559
13555
|
};
|
|
13560
13556
|
function getCompatValue(key, context) {
|
|
@@ -16662,7 +16658,7 @@ var Vue = (function () {
|
|
|
16662
16658
|
}
|
|
16663
16659
|
}
|
|
16664
16660
|
}
|
|
16665
|
-
else {
|
|
16661
|
+
else if (!isBuiltInDirective(name)) {
|
|
16666
16662
|
// no built-in transform, this is a user custom directive.
|
|
16667
16663
|
runtimeDirectives.push(prop);
|
|
16668
16664
|
// custom dirs may use beforeUpdate so they need to force blocks
|