@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
|
@@ -198,13 +198,15 @@ function looseIndexOf(arr, val) {
|
|
|
198
198
|
* @private
|
|
199
199
|
*/
|
|
200
200
|
const toDisplayString = (val) => {
|
|
201
|
-
return val
|
|
202
|
-
?
|
|
203
|
-
:
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
201
|
+
return isString(val)
|
|
202
|
+
? val
|
|
203
|
+
: val == null
|
|
204
|
+
? ''
|
|
205
|
+
: isArray(val) ||
|
|
206
|
+
(isObject(val) &&
|
|
207
|
+
(val.toString === objectToString || !isFunction(val.toString)))
|
|
208
|
+
? JSON.stringify(val, replacer, 2)
|
|
209
|
+
: String(val);
|
|
208
210
|
};
|
|
209
211
|
const replacer = (_key, val) => {
|
|
210
212
|
// can't use isRef here since @vue/shared has no deps
|
|
@@ -279,6 +281,7 @@ const isReservedProp = /*#__PURE__*/ makeMap(
|
|
|
279
281
|
'onVnodeBeforeMount,onVnodeMounted,' +
|
|
280
282
|
'onVnodeBeforeUpdate,onVnodeUpdated,' +
|
|
281
283
|
'onVnodeBeforeUnmount,onVnodeUnmounted');
|
|
284
|
+
const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
|
|
282
285
|
const cacheStringFunction = (fn) => {
|
|
283
286
|
const cache = Object.create(null);
|
|
284
287
|
return ((str) => {
|
|
@@ -344,7 +347,6 @@ function warn(msg, ...args) {
|
|
|
344
347
|
}
|
|
345
348
|
|
|
346
349
|
let activeEffectScope;
|
|
347
|
-
const effectScopeStack = [];
|
|
348
350
|
class EffectScope {
|
|
349
351
|
constructor(detached = false) {
|
|
350
352
|
this.active = true;
|
|
@@ -359,11 +361,11 @@ class EffectScope {
|
|
|
359
361
|
run(fn) {
|
|
360
362
|
if (this.active) {
|
|
361
363
|
try {
|
|
362
|
-
this
|
|
364
|
+
activeEffectScope = this;
|
|
363
365
|
return fn();
|
|
364
366
|
}
|
|
365
367
|
finally {
|
|
366
|
-
this.
|
|
368
|
+
activeEffectScope = this.parent;
|
|
367
369
|
}
|
|
368
370
|
}
|
|
369
371
|
else if ((process.env.NODE_ENV !== 'production')) {
|
|
@@ -371,23 +373,24 @@ class EffectScope {
|
|
|
371
373
|
}
|
|
372
374
|
}
|
|
373
375
|
on() {
|
|
374
|
-
|
|
375
|
-
effectScopeStack.push(this);
|
|
376
|
-
activeEffectScope = this;
|
|
377
|
-
}
|
|
376
|
+
activeEffectScope = this;
|
|
378
377
|
}
|
|
379
378
|
off() {
|
|
380
|
-
|
|
381
|
-
effectScopeStack.pop();
|
|
382
|
-
activeEffectScope = effectScopeStack[effectScopeStack.length - 1];
|
|
383
|
-
}
|
|
379
|
+
activeEffectScope = this.parent;
|
|
384
380
|
}
|
|
385
381
|
stop(fromParent) {
|
|
386
382
|
if (this.active) {
|
|
387
|
-
|
|
388
|
-
this.
|
|
383
|
+
let i, l;
|
|
384
|
+
for (i = 0, l = this.effects.length; i < l; i++) {
|
|
385
|
+
this.effects[i].stop();
|
|
386
|
+
}
|
|
387
|
+
for (i = 0, l = this.cleanups.length; i < l; i++) {
|
|
388
|
+
this.cleanups[i]();
|
|
389
|
+
}
|
|
389
390
|
if (this.scopes) {
|
|
390
|
-
this.scopes.
|
|
391
|
+
for (i = 0, l = this.scopes.length; i < l; i++) {
|
|
392
|
+
this.scopes[i].stop(true);
|
|
393
|
+
}
|
|
391
394
|
}
|
|
392
395
|
// nested scope, dereference from parent to avoid memory leaks
|
|
393
396
|
if (this.parent && !fromParent) {
|
|
@@ -405,8 +408,7 @@ class EffectScope {
|
|
|
405
408
|
function effectScope(detached) {
|
|
406
409
|
return new EffectScope(detached);
|
|
407
410
|
}
|
|
408
|
-
function recordEffectScope(effect, scope) {
|
|
409
|
-
scope = scope || activeEffectScope;
|
|
411
|
+
function recordEffectScope(effect, scope = activeEffectScope) {
|
|
410
412
|
if (scope && scope.active) {
|
|
411
413
|
scope.effects.push(effect);
|
|
412
414
|
}
|
|
@@ -469,7 +471,6 @@ let trackOpBit = 1;
|
|
|
469
471
|
* When recursion depth is greater, fall back to using a full cleanup.
|
|
470
472
|
*/
|
|
471
473
|
const maxMarkerBits = 30;
|
|
472
|
-
const effectStack = [];
|
|
473
474
|
let activeEffect;
|
|
474
475
|
const ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');
|
|
475
476
|
const MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');
|
|
@@ -479,35 +480,42 @@ class ReactiveEffect {
|
|
|
479
480
|
this.scheduler = scheduler;
|
|
480
481
|
this.active = true;
|
|
481
482
|
this.deps = [];
|
|
483
|
+
this.parent = undefined;
|
|
482
484
|
recordEffectScope(this, scope);
|
|
483
485
|
}
|
|
484
486
|
run() {
|
|
485
487
|
if (!this.active) {
|
|
486
488
|
return this.fn();
|
|
487
489
|
}
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
if (effectTrackDepth <= maxMarkerBits) {
|
|
494
|
-
initDepMarkers(this);
|
|
495
|
-
}
|
|
496
|
-
else {
|
|
497
|
-
cleanupEffect(this);
|
|
498
|
-
}
|
|
499
|
-
return this.fn();
|
|
490
|
+
let parent = activeEffect;
|
|
491
|
+
let lastShouldTrack = shouldTrack;
|
|
492
|
+
while (parent) {
|
|
493
|
+
if (parent === this) {
|
|
494
|
+
return;
|
|
500
495
|
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
496
|
+
parent = parent.parent;
|
|
497
|
+
}
|
|
498
|
+
try {
|
|
499
|
+
this.parent = activeEffect;
|
|
500
|
+
activeEffect = this;
|
|
501
|
+
shouldTrack = true;
|
|
502
|
+
trackOpBit = 1 << ++effectTrackDepth;
|
|
503
|
+
if (effectTrackDepth <= maxMarkerBits) {
|
|
504
|
+
initDepMarkers(this);
|
|
510
505
|
}
|
|
506
|
+
else {
|
|
507
|
+
cleanupEffect(this);
|
|
508
|
+
}
|
|
509
|
+
return this.fn();
|
|
510
|
+
}
|
|
511
|
+
finally {
|
|
512
|
+
if (effectTrackDepth <= maxMarkerBits) {
|
|
513
|
+
finalizeDepMarkers(this);
|
|
514
|
+
}
|
|
515
|
+
trackOpBit = 1 << --effectTrackDepth;
|
|
516
|
+
activeEffect = this.parent;
|
|
517
|
+
shouldTrack = lastShouldTrack;
|
|
518
|
+
this.parent = undefined;
|
|
511
519
|
}
|
|
512
520
|
}
|
|
513
521
|
stop() {
|
|
@@ -555,33 +563,25 @@ function pauseTracking() {
|
|
|
555
563
|
trackStack.push(shouldTrack);
|
|
556
564
|
shouldTrack = false;
|
|
557
565
|
}
|
|
558
|
-
function enableTracking() {
|
|
559
|
-
trackStack.push(shouldTrack);
|
|
560
|
-
shouldTrack = true;
|
|
561
|
-
}
|
|
562
566
|
function resetTracking() {
|
|
563
567
|
const last = trackStack.pop();
|
|
564
568
|
shouldTrack = last === undefined ? true : last;
|
|
565
569
|
}
|
|
566
570
|
function track(target, type, key) {
|
|
567
|
-
if (
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
571
|
+
if (shouldTrack && activeEffect) {
|
|
572
|
+
let depsMap = targetMap.get(target);
|
|
573
|
+
if (!depsMap) {
|
|
574
|
+
targetMap.set(target, (depsMap = new Map()));
|
|
575
|
+
}
|
|
576
|
+
let dep = depsMap.get(key);
|
|
577
|
+
if (!dep) {
|
|
578
|
+
depsMap.set(key, (dep = createDep()));
|
|
579
|
+
}
|
|
580
|
+
const eventInfo = (process.env.NODE_ENV !== 'production')
|
|
581
|
+
? { effect: activeEffect, target, type, key }
|
|
582
|
+
: undefined;
|
|
583
|
+
trackEffects(dep, eventInfo);
|
|
577
584
|
}
|
|
578
|
-
const eventInfo = (process.env.NODE_ENV !== 'production')
|
|
579
|
-
? { effect: activeEffect, target, type, key }
|
|
580
|
-
: undefined;
|
|
581
|
-
trackEffects(dep, eventInfo);
|
|
582
|
-
}
|
|
583
|
-
function isTracking() {
|
|
584
|
-
return shouldTrack && activeEffect !== undefined;
|
|
585
585
|
}
|
|
586
586
|
function trackEffects(dep, debuggerEventExtraInfo) {
|
|
587
587
|
let shouldTrack = false;
|
|
@@ -1274,20 +1274,17 @@ const toReactive = (value) => isObject(value) ? reactive(value) : value;
|
|
|
1274
1274
|
const toReadonly = (value) => isObject(value) ? readonly(value) : value;
|
|
1275
1275
|
|
|
1276
1276
|
function trackRefValue(ref) {
|
|
1277
|
-
if (
|
|
1277
|
+
if (shouldTrack && activeEffect) {
|
|
1278
1278
|
ref = toRaw(ref);
|
|
1279
|
-
if (!ref.dep) {
|
|
1280
|
-
ref.dep = createDep();
|
|
1281
|
-
}
|
|
1282
1279
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
1283
|
-
trackEffects(ref.dep, {
|
|
1280
|
+
trackEffects(ref.dep || (ref.dep = createDep()), {
|
|
1284
1281
|
target: ref,
|
|
1285
1282
|
type: "get" /* GET */,
|
|
1286
1283
|
key: 'value'
|
|
1287
1284
|
});
|
|
1288
1285
|
}
|
|
1289
1286
|
else {
|
|
1290
|
-
trackEffects(ref.dep);
|
|
1287
|
+
trackEffects(ref.dep || (ref.dep = createDep()));
|
|
1291
1288
|
}
|
|
1292
1289
|
}
|
|
1293
1290
|
}
|
|
@@ -1308,7 +1305,7 @@ function triggerRefValue(ref, newVal) {
|
|
|
1308
1305
|
}
|
|
1309
1306
|
}
|
|
1310
1307
|
function isRef(r) {
|
|
1311
|
-
return
|
|
1308
|
+
return !!(r && r.__v_isRef === true);
|
|
1312
1309
|
}
|
|
1313
1310
|
function ref(value) {
|
|
1314
1311
|
return createRef(value, false);
|
|
@@ -2127,23 +2124,23 @@ const deprecationData = {
|
|
|
2127
2124
|
["GLOBAL_MOUNT" /* GLOBAL_MOUNT */]: {
|
|
2128
2125
|
message: `The global app bootstrapping API has changed: vm.$mount() and the "el" ` +
|
|
2129
2126
|
`option have been removed. Use createApp(RootComponent).mount() instead.`,
|
|
2130
|
-
link: `https://v3.vuejs.org/
|
|
2127
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#mounting-app-instance`
|
|
2131
2128
|
},
|
|
2132
2129
|
["GLOBAL_MOUNT_CONTAINER" /* GLOBAL_MOUNT_CONTAINER */]: {
|
|
2133
2130
|
message: `Vue detected directives on the mount container. ` +
|
|
2134
2131
|
`In Vue 3, the container is no longer considered part of the template ` +
|
|
2135
2132
|
`and will not be processed/replaced.`,
|
|
2136
|
-
link: `https://v3.vuejs.org/
|
|
2133
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/mount-changes.html`
|
|
2137
2134
|
},
|
|
2138
2135
|
["GLOBAL_EXTEND" /* GLOBAL_EXTEND */]: {
|
|
2139
2136
|
message: `Vue.extend() has been removed in Vue 3. ` +
|
|
2140
2137
|
`Use defineComponent() instead.`,
|
|
2141
|
-
link: `https://
|
|
2138
|
+
link: `https://vuejs.org/api/general.html#definecomponent`
|
|
2142
2139
|
},
|
|
2143
2140
|
["GLOBAL_PROTOTYPE" /* GLOBAL_PROTOTYPE */]: {
|
|
2144
2141
|
message: `Vue.prototype is no longer available in Vue 3. ` +
|
|
2145
2142
|
`Use app.config.globalProperties instead.`,
|
|
2146
|
-
link: `https://v3.vuejs.org/
|
|
2143
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#vue-prototype-replaced-by-config-globalproperties`
|
|
2147
2144
|
},
|
|
2148
2145
|
["GLOBAL_SET" /* GLOBAL_SET */]: {
|
|
2149
2146
|
message: `Vue.set() has been removed as it is no longer needed in Vue 3. ` +
|
|
@@ -2156,7 +2153,7 @@ const deprecationData = {
|
|
|
2156
2153
|
["GLOBAL_OBSERVABLE" /* GLOBAL_OBSERVABLE */]: {
|
|
2157
2154
|
message: `Vue.observable() has been removed. ` +
|
|
2158
2155
|
`Use \`import { reactive } from "vue"\` from Composition API instead.`,
|
|
2159
|
-
link: `https://
|
|
2156
|
+
link: `https://vuejs.org/api/reactivity-core.html#reactive`
|
|
2160
2157
|
},
|
|
2161
2158
|
["GLOBAL_PRIVATE_UTIL" /* GLOBAL_PRIVATE_UTIL */]: {
|
|
2162
2159
|
message: `Vue.util has been removed. Please refactor to avoid its usage ` +
|
|
@@ -2175,11 +2172,11 @@ const deprecationData = {
|
|
|
2175
2172
|
["CONFIG_KEY_CODES" /* CONFIG_KEY_CODES */]: {
|
|
2176
2173
|
message: `config.keyCodes has been removed. ` +
|
|
2177
2174
|
`In Vue 3, you can directly use the kebab-case key names as v-on modifiers.`,
|
|
2178
|
-
link: `https://v3.vuejs.org/
|
|
2175
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
|
|
2179
2176
|
},
|
|
2180
2177
|
["CONFIG_PRODUCTION_TIP" /* CONFIG_PRODUCTION_TIP */]: {
|
|
2181
2178
|
message: `config.productionTip has been removed.`,
|
|
2182
|
-
link: `https://v3.vuejs.org/
|
|
2179
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed`
|
|
2183
2180
|
},
|
|
2184
2181
|
["CONFIG_IGNORED_ELEMENTS" /* CONFIG_IGNORED_ELEMENTS */]: {
|
|
2185
2182
|
message: () => {
|
|
@@ -2192,7 +2189,7 @@ const deprecationData = {
|
|
|
2192
2189
|
}
|
|
2193
2190
|
return msg;
|
|
2194
2191
|
},
|
|
2195
|
-
link: `https://v3.vuejs.org/
|
|
2192
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement`
|
|
2196
2193
|
},
|
|
2197
2194
|
["CONFIG_WHITESPACE" /* CONFIG_WHITESPACE */]: {
|
|
2198
2195
|
// this warning is only relevant in the full build when using runtime
|
|
@@ -2215,12 +2212,12 @@ const deprecationData = {
|
|
|
2215
2212
|
},
|
|
2216
2213
|
["INSTANCE_DESTROY" /* INSTANCE_DESTROY */]: {
|
|
2217
2214
|
message: `vm.$destroy() has been removed. Use app.unmount() instead.`,
|
|
2218
|
-
link: `https://
|
|
2215
|
+
link: `https://vuejs.org/api/application.html#app-unmount`
|
|
2219
2216
|
},
|
|
2220
2217
|
["INSTANCE_EVENT_EMITTER" /* INSTANCE_EVENT_EMITTER */]: {
|
|
2221
2218
|
message: `vm.$on/$once/$off() have been removed. ` +
|
|
2222
2219
|
`Use an external event emitter library instead.`,
|
|
2223
|
-
link: `https://v3.vuejs.org/
|
|
2220
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/events-api.html`
|
|
2224
2221
|
},
|
|
2225
2222
|
["INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */]: {
|
|
2226
2223
|
message: event => `"${event}" lifecycle events are no longer supported. From templates, ` +
|
|
@@ -2228,23 +2225,23 @@ const deprecationData = {
|
|
|
2228
2225
|
`should be changed to @vnode-${event.slice(5)}. ` +
|
|
2229
2226
|
`From JavaScript, use Composition API to dynamically register lifecycle ` +
|
|
2230
2227
|
`hooks.`,
|
|
2231
|
-
link: `https://v3.vuejs.org/
|
|
2228
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/vnode-lifecycle-events.html`
|
|
2232
2229
|
},
|
|
2233
2230
|
["INSTANCE_CHILDREN" /* INSTANCE_CHILDREN */]: {
|
|
2234
2231
|
message: `vm.$children has been removed. Consider refactoring your logic ` +
|
|
2235
2232
|
`to avoid relying on direct access to child components.`,
|
|
2236
|
-
link: `https://v3.vuejs.org/
|
|
2233
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/children.html`
|
|
2237
2234
|
},
|
|
2238
2235
|
["INSTANCE_LISTENERS" /* INSTANCE_LISTENERS */]: {
|
|
2239
2236
|
message: `vm.$listeners has been removed. In Vue 3, parent v-on listeners are ` +
|
|
2240
2237
|
`included in vm.$attrs and it is no longer necessary to separately use ` +
|
|
2241
2238
|
`v-on="$listeners" if you are already using v-bind="$attrs". ` +
|
|
2242
2239
|
`(Note: the Vue 3 behavior only applies if this compat config is disabled)`,
|
|
2243
|
-
link: `https://v3.vuejs.org/
|
|
2240
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/listeners-removed.html`
|
|
2244
2241
|
},
|
|
2245
2242
|
["INSTANCE_SCOPED_SLOTS" /* INSTANCE_SCOPED_SLOTS */]: {
|
|
2246
2243
|
message: `vm.$scopedSlots has been removed. Use vm.$slots instead.`,
|
|
2247
|
-
link: `https://v3.vuejs.org/
|
|
2244
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/slots-unification.html`
|
|
2248
2245
|
},
|
|
2249
2246
|
["INSTANCE_ATTRS_CLASS_STYLE" /* INSTANCE_ATTRS_CLASS_STYLE */]: {
|
|
2250
2247
|
message: componentName => `Component <${componentName || 'Anonymous'}> has \`inheritAttrs: false\` but is ` +
|
|
@@ -2255,17 +2252,17 @@ const deprecationData = {
|
|
|
2255
2252
|
`If you are binding $attrs to a non-root element and expecting ` +
|
|
2256
2253
|
`class/style to fallthrough on root, you will need to now manually bind ` +
|
|
2257
2254
|
`them on root via :class="$attrs.class".`,
|
|
2258
|
-
link: `https://v3.vuejs.org/
|
|
2255
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attrs-includes-class-style.html`
|
|
2259
2256
|
},
|
|
2260
2257
|
["OPTIONS_DATA_FN" /* OPTIONS_DATA_FN */]: {
|
|
2261
2258
|
message: `The "data" option can no longer be a plain object. ` +
|
|
2262
2259
|
`Always use a function.`,
|
|
2263
|
-
link: `https://v3.vuejs.org/
|
|
2260
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html`
|
|
2264
2261
|
},
|
|
2265
2262
|
["OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */]: {
|
|
2266
2263
|
message: (key) => `Detected conflicting key "${key}" when merging data option values. ` +
|
|
2267
2264
|
`In Vue 3, data keys are merged shallowly and will override one another.`,
|
|
2268
|
-
link: `https://v3.vuejs.org/
|
|
2265
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html#mixin-merge-behavior-change`
|
|
2269
2266
|
},
|
|
2270
2267
|
["OPTIONS_BEFORE_DESTROY" /* OPTIONS_BEFORE_DESTROY */]: {
|
|
2271
2268
|
message: `\`beforeDestroy\` has been renamed to \`beforeUnmount\`.`
|
|
@@ -2279,23 +2276,23 @@ const deprecationData = {
|
|
|
2279
2276
|
`If current usage is intended, you can disable the compat behavior and ` +
|
|
2280
2277
|
`suppress this warning with:` +
|
|
2281
2278
|
`\n\n configureCompat({ ${"WATCH_ARRAY" /* WATCH_ARRAY */}: false })\n`,
|
|
2282
|
-
link: `https://v3.vuejs.org/
|
|
2279
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/watch.html`
|
|
2283
2280
|
},
|
|
2284
2281
|
["PROPS_DEFAULT_THIS" /* PROPS_DEFAULT_THIS */]: {
|
|
2285
2282
|
message: (key) => `props default value function no longer has access to "this". The compat ` +
|
|
2286
2283
|
`build only offers access to this.$options.` +
|
|
2287
2284
|
`(found in prop "${key}")`,
|
|
2288
|
-
link: `https://v3.vuejs.org/
|
|
2285
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/props-default-this.html`
|
|
2289
2286
|
},
|
|
2290
2287
|
["CUSTOM_DIR" /* CUSTOM_DIR */]: {
|
|
2291
2288
|
message: (legacyHook, newHook) => `Custom directive hook "${legacyHook}" has been removed. ` +
|
|
2292
2289
|
`Use "${newHook}" instead.`,
|
|
2293
|
-
link: `https://v3.vuejs.org/
|
|
2290
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/custom-directives.html`
|
|
2294
2291
|
},
|
|
2295
2292
|
["V_ON_KEYCODE_MODIFIER" /* V_ON_KEYCODE_MODIFIER */]: {
|
|
2296
2293
|
message: `Using keyCode as v-on modifier is no longer supported. ` +
|
|
2297
2294
|
`Use kebab-case key name modifiers instead.`,
|
|
2298
|
-
link: `https://v3.vuejs.org/
|
|
2295
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
|
|
2299
2296
|
},
|
|
2300
2297
|
["ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */]: {
|
|
2301
2298
|
message: (name) => `Attribute "${name}" with v-bind value \`false\` will render ` +
|
|
@@ -2303,7 +2300,7 @@ const deprecationData = {
|
|
|
2303
2300
|
`use \`null\` or \`undefined\` instead. If the usage is intended, ` +
|
|
2304
2301
|
`you can disable the compat behavior and suppress this warning with:` +
|
|
2305
2302
|
`\n\n configureCompat({ ${"ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */}: false })\n`,
|
|
2306
|
-
link: `https://v3.vuejs.org/
|
|
2303
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
|
|
2307
2304
|
},
|
|
2308
2305
|
["ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */]: {
|
|
2309
2306
|
message: (name, value, coerced) => `Enumerated attribute "${name}" with v-bind value \`${value}\` will ` +
|
|
@@ -2312,7 +2309,7 @@ const deprecationData = {
|
|
|
2312
2309
|
`If the usage is intended, ` +
|
|
2313
2310
|
`you can disable the compat behavior and suppress this warning with:` +
|
|
2314
2311
|
`\n\n configureCompat({ ${"ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */}: false })\n`,
|
|
2315
|
-
link: `https://v3.vuejs.org/
|
|
2312
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
|
|
2316
2313
|
},
|
|
2317
2314
|
["TRANSITION_CLASSES" /* TRANSITION_CLASSES */]: {
|
|
2318
2315
|
message: `` // this feature cannot be runtime-detected
|
|
@@ -2323,7 +2320,7 @@ const deprecationData = {
|
|
|
2323
2320
|
`for styling, you can disable the compat behavior and suppress this ` +
|
|
2324
2321
|
`warning with:` +
|
|
2325
2322
|
`\n\n configureCompat({ ${"TRANSITION_GROUP_ROOT" /* TRANSITION_GROUP_ROOT */}: false })\n`,
|
|
2326
|
-
link: `https://v3.vuejs.org/
|
|
2323
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/transition-group.html`
|
|
2327
2324
|
},
|
|
2328
2325
|
["COMPONENT_ASYNC" /* COMPONENT_ASYNC */]: {
|
|
2329
2326
|
message: (comp) => {
|
|
@@ -2336,7 +2333,7 @@ const deprecationData = {
|
|
|
2336
2333
|
`warning with:` +
|
|
2337
2334
|
`\n\n configureCompat({ ${"COMPONENT_ASYNC" /* COMPONENT_ASYNC */}: false })\n`);
|
|
2338
2335
|
},
|
|
2339
|
-
link: `https://v3.vuejs.org/
|
|
2336
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/async-components.html`
|
|
2340
2337
|
},
|
|
2341
2338
|
["COMPONENT_FUNCTIONAL" /* COMPONENT_FUNCTIONAL */]: {
|
|
2342
2339
|
message: (comp) => {
|
|
@@ -2347,7 +2344,7 @@ const deprecationData = {
|
|
|
2347
2344
|
`components usage have been migrated and its compat behavior has ` +
|
|
2348
2345
|
`been disabled.`);
|
|
2349
2346
|
},
|
|
2350
|
-
link: `https://v3.vuejs.org/
|
|
2347
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/functional-components.html`
|
|
2351
2348
|
},
|
|
2352
2349
|
["COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */]: {
|
|
2353
2350
|
message: (comp) => {
|
|
@@ -2364,20 +2361,20 @@ const deprecationData = {
|
|
|
2364
2361
|
`to work with v-model should now use the "modelValue" prop and emit the ` +
|
|
2365
2362
|
`"update:modelValue" event. You can update the usage and then ${configMsg}`);
|
|
2366
2363
|
},
|
|
2367
|
-
link: `https://v3.vuejs.org/
|
|
2364
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`
|
|
2368
2365
|
},
|
|
2369
2366
|
["RENDER_FUNCTION" /* RENDER_FUNCTION */]: {
|
|
2370
2367
|
message: `Vue 3's render function API has changed. ` +
|
|
2371
2368
|
`You can opt-in to the new API with:` +
|
|
2372
2369
|
`\n\n configureCompat({ ${"RENDER_FUNCTION" /* RENDER_FUNCTION */}: false })\n` +
|
|
2373
2370
|
`\n (This can also be done per-component via the "compatConfig" option.)`,
|
|
2374
|
-
link: `https://v3.vuejs.org/
|
|
2371
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/render-function-api.html`
|
|
2375
2372
|
},
|
|
2376
2373
|
["FILTERS" /* FILTERS */]: {
|
|
2377
2374
|
message: `filters have been removed in Vue 3. ` +
|
|
2378
2375
|
`The "|" symbol will be treated as native JavaScript bitwise OR operator. ` +
|
|
2379
2376
|
`Use method calls or computed properties instead.`,
|
|
2380
|
-
link: `https://v3.vuejs.org/
|
|
2377
|
+
link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
|
|
2381
2378
|
},
|
|
2382
2379
|
["PRIVATE_APIS" /* PRIVATE_APIS */]: {
|
|
2383
2380
|
message: name => `"${name}" is a Vue 2 private API that no longer exists in Vue 3. ` +
|
|
@@ -2448,7 +2445,7 @@ function validateCompatConfig(config, instance) {
|
|
|
2448
2445
|
warn$1(`Deprecation config "${key}" is compiler-specific and you are ` +
|
|
2449
2446
|
`running a runtime-only build of Vue. This deprecation should be ` +
|
|
2450
2447
|
`configured via compiler options in your build setup instead.\n` +
|
|
2451
|
-
`Details: https://v3.vuejs.org/
|
|
2448
|
+
`Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`);
|
|
2452
2449
|
}
|
|
2453
2450
|
}
|
|
2454
2451
|
else {
|
|
@@ -5879,7 +5876,6 @@ return withDirectives(h(comp), [
|
|
|
5879
5876
|
[bar, this.y]
|
|
5880
5877
|
])
|
|
5881
5878
|
*/
|
|
5882
|
-
const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
|
|
5883
5879
|
function validateDirectiveName(name) {
|
|
5884
5880
|
if (isBuiltInDirective(name)) {
|
|
5885
5881
|
warn$1('Do not use built-in directive ids as custom directive id: ' + name);
|
|
@@ -6014,7 +6010,7 @@ function createCompatVue(createApp, createSingletonApp) {
|
|
|
6014
6010
|
return vm;
|
|
6015
6011
|
}
|
|
6016
6012
|
}
|
|
6017
|
-
Vue.version = `2.6.14-compat:${"3.2.
|
|
6013
|
+
Vue.version = `2.6.14-compat:${"3.2.30"}`;
|
|
6018
6014
|
Vue.config = singletonApp.config;
|
|
6019
6015
|
Vue.use = (p, ...options) => {
|
|
6020
6016
|
if (p && isFunction(p.install)) {
|
|
@@ -11002,7 +10998,7 @@ function isMemoSame(cached, memo) {
|
|
|
11002
10998
|
}
|
|
11003
10999
|
|
|
11004
11000
|
// Core API ------------------------------------------------------------------
|
|
11005
|
-
const version = "3.2.
|
|
11001
|
+
const version = "3.2.30";
|
|
11006
11002
|
const _ssrUtils = {
|
|
11007
11003
|
createComponentInstance,
|
|
11008
11004
|
setupComponent,
|