@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.
@@ -201,13 +201,15 @@ var Vue = (function () {
201
201
  * @private
202
202
  */
203
203
  const toDisplayString = (val) => {
204
- return val == null
205
- ? ''
206
- : isArray(val) ||
207
- (isObject(val) &&
208
- (val.toString === objectToString || !isFunction(val.toString)))
209
- ? JSON.stringify(val, replacer, 2)
210
- : String(val);
204
+ return isString(val)
205
+ ? val
206
+ : val == null
207
+ ? ''
208
+ : isArray(val) ||
209
+ (isObject(val) &&
210
+ (val.toString === objectToString || !isFunction(val.toString)))
211
+ ? JSON.stringify(val, replacer, 2)
212
+ : String(val);
211
213
  };
212
214
  const replacer = (_key, val) => {
213
215
  // can't use isRef here since @vue/shared has no deps
@@ -281,6 +283,7 @@ var Vue = (function () {
281
283
  'onVnodeBeforeMount,onVnodeMounted,' +
282
284
  'onVnodeBeforeUpdate,onVnodeUpdated,' +
283
285
  'onVnodeBeforeUnmount,onVnodeUnmounted');
286
+ const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
284
287
  const cacheStringFunction = (fn) => {
285
288
  const cache = Object.create(null);
286
289
  return ((str) => {
@@ -346,7 +349,6 @@ var Vue = (function () {
346
349
  }
347
350
 
348
351
  let activeEffectScope;
349
- const effectScopeStack = [];
350
352
  class EffectScope {
351
353
  constructor(detached = false) {
352
354
  this.active = true;
@@ -361,11 +363,11 @@ var Vue = (function () {
361
363
  run(fn) {
362
364
  if (this.active) {
363
365
  try {
364
- this.on();
366
+ activeEffectScope = this;
365
367
  return fn();
366
368
  }
367
369
  finally {
368
- this.off();
370
+ activeEffectScope = this.parent;
369
371
  }
370
372
  }
371
373
  else {
@@ -373,23 +375,24 @@ var Vue = (function () {
373
375
  }
374
376
  }
375
377
  on() {
376
- if (this.active) {
377
- effectScopeStack.push(this);
378
- activeEffectScope = this;
379
- }
378
+ activeEffectScope = this;
380
379
  }
381
380
  off() {
382
- if (this.active) {
383
- effectScopeStack.pop();
384
- activeEffectScope = effectScopeStack[effectScopeStack.length - 1];
385
- }
381
+ activeEffectScope = this.parent;
386
382
  }
387
383
  stop(fromParent) {
388
384
  if (this.active) {
389
- this.effects.forEach(e => e.stop());
390
- this.cleanups.forEach(cleanup => cleanup());
385
+ let i, l;
386
+ for (i = 0, l = this.effects.length; i < l; i++) {
387
+ this.effects[i].stop();
388
+ }
389
+ for (i = 0, l = this.cleanups.length; i < l; i++) {
390
+ this.cleanups[i]();
391
+ }
391
392
  if (this.scopes) {
392
- this.scopes.forEach(e => e.stop(true));
393
+ for (i = 0, l = this.scopes.length; i < l; i++) {
394
+ this.scopes[i].stop(true);
395
+ }
393
396
  }
394
397
  // nested scope, dereference from parent to avoid memory leaks
395
398
  if (this.parent && !fromParent) {
@@ -407,8 +410,7 @@ var Vue = (function () {
407
410
  function effectScope(detached) {
408
411
  return new EffectScope(detached);
409
412
  }
410
- function recordEffectScope(effect, scope) {
411
- scope = scope || activeEffectScope;
413
+ function recordEffectScope(effect, scope = activeEffectScope) {
412
414
  if (scope && scope.active) {
413
415
  scope.effects.push(effect);
414
416
  }
@@ -471,7 +473,6 @@ var Vue = (function () {
471
473
  * When recursion depth is greater, fall back to using a full cleanup.
472
474
  */
473
475
  const maxMarkerBits = 30;
474
- const effectStack = [];
475
476
  let activeEffect;
476
477
  const ITERATE_KEY = Symbol('iterate' );
477
478
  const MAP_KEY_ITERATE_KEY = Symbol('Map key iterate' );
@@ -481,35 +482,42 @@ var Vue = (function () {
481
482
  this.scheduler = scheduler;
482
483
  this.active = true;
483
484
  this.deps = [];
485
+ this.parent = undefined;
484
486
  recordEffectScope(this, scope);
485
487
  }
486
488
  run() {
487
489
  if (!this.active) {
488
490
  return this.fn();
489
491
  }
490
- if (!effectStack.length || !effectStack.includes(this)) {
491
- try {
492
- effectStack.push((activeEffect = this));
493
- enableTracking();
494
- trackOpBit = 1 << ++effectTrackDepth;
495
- if (effectTrackDepth <= maxMarkerBits) {
496
- initDepMarkers(this);
497
- }
498
- else {
499
- cleanupEffect(this);
500
- }
501
- return this.fn();
492
+ let parent = activeEffect;
493
+ let lastShouldTrack = shouldTrack;
494
+ while (parent) {
495
+ if (parent === this) {
496
+ return;
502
497
  }
503
- finally {
504
- if (effectTrackDepth <= maxMarkerBits) {
505
- finalizeDepMarkers(this);
506
- }
507
- trackOpBit = 1 << --effectTrackDepth;
508
- resetTracking();
509
- effectStack.pop();
510
- const n = effectStack.length;
511
- activeEffect = n > 0 ? effectStack[n - 1] : undefined;
498
+ parent = parent.parent;
499
+ }
500
+ try {
501
+ this.parent = activeEffect;
502
+ activeEffect = this;
503
+ shouldTrack = true;
504
+ trackOpBit = 1 << ++effectTrackDepth;
505
+ if (effectTrackDepth <= maxMarkerBits) {
506
+ initDepMarkers(this);
512
507
  }
508
+ else {
509
+ cleanupEffect(this);
510
+ }
511
+ return this.fn();
512
+ }
513
+ finally {
514
+ if (effectTrackDepth <= maxMarkerBits) {
515
+ finalizeDepMarkers(this);
516
+ }
517
+ trackOpBit = 1 << --effectTrackDepth;
518
+ activeEffect = this.parent;
519
+ shouldTrack = lastShouldTrack;
520
+ this.parent = undefined;
513
521
  }
514
522
  }
515
523
  stop() {
@@ -557,32 +565,24 @@ var Vue = (function () {
557
565
  trackStack.push(shouldTrack);
558
566
  shouldTrack = false;
559
567
  }
560
- function enableTracking() {
561
- trackStack.push(shouldTrack);
562
- shouldTrack = true;
563
- }
564
568
  function resetTracking() {
565
569
  const last = trackStack.pop();
566
570
  shouldTrack = last === undefined ? true : last;
567
571
  }
568
572
  function track(target, type, key) {
569
- if (!isTracking()) {
570
- return;
571
- }
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()));
573
+ if (shouldTrack && activeEffect) {
574
+ let depsMap = targetMap.get(target);
575
+ if (!depsMap) {
576
+ targetMap.set(target, (depsMap = new Map()));
577
+ }
578
+ let dep = depsMap.get(key);
579
+ if (!dep) {
580
+ depsMap.set(key, (dep = createDep()));
581
+ }
582
+ const eventInfo = { effect: activeEffect, target, type, key }
583
+ ;
584
+ trackEffects(dep, eventInfo);
579
585
  }
580
- const eventInfo = { effect: activeEffect, target, type, key }
581
- ;
582
- trackEffects(dep, eventInfo);
583
- }
584
- function isTracking() {
585
- return shouldTrack && activeEffect !== undefined;
586
586
  }
587
587
  function trackEffects(dep, debuggerEventExtraInfo) {
588
588
  let shouldTrack = false;
@@ -1267,13 +1267,10 @@ var Vue = (function () {
1267
1267
  const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1268
1268
 
1269
1269
  function trackRefValue(ref) {
1270
- if (isTracking()) {
1270
+ if (shouldTrack && activeEffect) {
1271
1271
  ref = toRaw(ref);
1272
- if (!ref.dep) {
1273
- ref.dep = createDep();
1274
- }
1275
1272
  {
1276
- trackEffects(ref.dep, {
1273
+ trackEffects(ref.dep || (ref.dep = createDep()), {
1277
1274
  target: ref,
1278
1275
  type: "get" /* GET */,
1279
1276
  key: 'value'
@@ -1295,7 +1292,7 @@ var Vue = (function () {
1295
1292
  }
1296
1293
  }
1297
1294
  function isRef(r) {
1298
- return Boolean(r && r.__v_isRef === true);
1295
+ return !!(r && r.__v_isRef === true);
1299
1296
  }
1300
1297
  function ref(value) {
1301
1298
  return createRef(value, false);
@@ -2106,23 +2103,23 @@ var Vue = (function () {
2106
2103
  ["GLOBAL_MOUNT" /* GLOBAL_MOUNT */]: {
2107
2104
  message: `The global app bootstrapping API has changed: vm.$mount() and the "el" ` +
2108
2105
  `option have been removed. Use createApp(RootComponent).mount() instead.`,
2109
- link: `https://v3.vuejs.org/guide/migration/global-api.html#mounting-app-instance`
2106
+ link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#mounting-app-instance`
2110
2107
  },
2111
2108
  ["GLOBAL_MOUNT_CONTAINER" /* GLOBAL_MOUNT_CONTAINER */]: {
2112
2109
  message: `Vue detected directives on the mount container. ` +
2113
2110
  `In Vue 3, the container is no longer considered part of the template ` +
2114
2111
  `and will not be processed/replaced.`,
2115
- link: `https://v3.vuejs.org/guide/migration/mount-changes.html`
2112
+ link: `https://v3-migration.vuejs.org/breaking-changes/mount-changes.html`
2116
2113
  },
2117
2114
  ["GLOBAL_EXTEND" /* GLOBAL_EXTEND */]: {
2118
2115
  message: `Vue.extend() has been removed in Vue 3. ` +
2119
2116
  `Use defineComponent() instead.`,
2120
- link: `https://v3.vuejs.org/api/global-api.html#definecomponent`
2117
+ link: `https://vuejs.org/api/general.html#definecomponent`
2121
2118
  },
2122
2119
  ["GLOBAL_PROTOTYPE" /* GLOBAL_PROTOTYPE */]: {
2123
2120
  message: `Vue.prototype is no longer available in Vue 3. ` +
2124
2121
  `Use app.config.globalProperties instead.`,
2125
- link: `https://v3.vuejs.org/guide/migration/global-api.html#vue-prototype-replaced-by-config-globalproperties`
2122
+ link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#vue-prototype-replaced-by-config-globalproperties`
2126
2123
  },
2127
2124
  ["GLOBAL_SET" /* GLOBAL_SET */]: {
2128
2125
  message: `Vue.set() has been removed as it is no longer needed in Vue 3. ` +
@@ -2135,7 +2132,7 @@ var Vue = (function () {
2135
2132
  ["GLOBAL_OBSERVABLE" /* GLOBAL_OBSERVABLE */]: {
2136
2133
  message: `Vue.observable() has been removed. ` +
2137
2134
  `Use \`import { reactive } from "vue"\` from Composition API instead.`,
2138
- link: `https://v3.vuejs.org/api/basic-reactivity.html`
2135
+ link: `https://vuejs.org/api/reactivity-core.html#reactive`
2139
2136
  },
2140
2137
  ["GLOBAL_PRIVATE_UTIL" /* GLOBAL_PRIVATE_UTIL */]: {
2141
2138
  message: `Vue.util has been removed. Please refactor to avoid its usage ` +
@@ -2154,11 +2151,11 @@ var Vue = (function () {
2154
2151
  ["CONFIG_KEY_CODES" /* CONFIG_KEY_CODES */]: {
2155
2152
  message: `config.keyCodes has been removed. ` +
2156
2153
  `In Vue 3, you can directly use the kebab-case key names as v-on modifiers.`,
2157
- link: `https://v3.vuejs.org/guide/migration/keycode-modifiers.html`
2154
+ link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
2158
2155
  },
2159
2156
  ["CONFIG_PRODUCTION_TIP" /* CONFIG_PRODUCTION_TIP */]: {
2160
2157
  message: `config.productionTip has been removed.`,
2161
- link: `https://v3.vuejs.org/guide/migration/global-api.html#config-productiontip-removed`
2158
+ link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed`
2162
2159
  },
2163
2160
  ["CONFIG_IGNORED_ELEMENTS" /* CONFIG_IGNORED_ELEMENTS */]: {
2164
2161
  message: () => {
@@ -2171,7 +2168,7 @@ var Vue = (function () {
2171
2168
  }
2172
2169
  return msg;
2173
2170
  },
2174
- link: `https://v3.vuejs.org/guide/migration/global-api.html#config-ignoredelements-is-now-config-iscustomelement`
2171
+ link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement`
2175
2172
  },
2176
2173
  ["CONFIG_WHITESPACE" /* CONFIG_WHITESPACE */]: {
2177
2174
  // this warning is only relevant in the full build when using runtime
@@ -2194,12 +2191,12 @@ var Vue = (function () {
2194
2191
  },
2195
2192
  ["INSTANCE_DESTROY" /* INSTANCE_DESTROY */]: {
2196
2193
  message: `vm.$destroy() has been removed. Use app.unmount() instead.`,
2197
- link: `https://v3.vuejs.org/api/application-api.html#unmount`
2194
+ link: `https://vuejs.org/api/application.html#app-unmount`
2198
2195
  },
2199
2196
  ["INSTANCE_EVENT_EMITTER" /* INSTANCE_EVENT_EMITTER */]: {
2200
2197
  message: `vm.$on/$once/$off() have been removed. ` +
2201
2198
  `Use an external event emitter library instead.`,
2202
- link: `https://v3.vuejs.org/guide/migration/events-api.html`
2199
+ link: `https://v3-migration.vuejs.org/breaking-changes/events-api.html`
2203
2200
  },
2204
2201
  ["INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */]: {
2205
2202
  message: event => `"${event}" lifecycle events are no longer supported. From templates, ` +
@@ -2207,23 +2204,23 @@ var Vue = (function () {
2207
2204
  `should be changed to @vnode-${event.slice(5)}. ` +
2208
2205
  `From JavaScript, use Composition API to dynamically register lifecycle ` +
2209
2206
  `hooks.`,
2210
- link: `https://v3.vuejs.org/guide/migration/vnode-lifecycle-events.html`
2207
+ link: `https://v3-migration.vuejs.org/breaking-changes/vnode-lifecycle-events.html`
2211
2208
  },
2212
2209
  ["INSTANCE_CHILDREN" /* INSTANCE_CHILDREN */]: {
2213
2210
  message: `vm.$children has been removed. Consider refactoring your logic ` +
2214
2211
  `to avoid relying on direct access to child components.`,
2215
- link: `https://v3.vuejs.org/guide/migration/children.html`
2212
+ link: `https://v3-migration.vuejs.org/breaking-changes/children.html`
2216
2213
  },
2217
2214
  ["INSTANCE_LISTENERS" /* INSTANCE_LISTENERS */]: {
2218
2215
  message: `vm.$listeners has been removed. In Vue 3, parent v-on listeners are ` +
2219
2216
  `included in vm.$attrs and it is no longer necessary to separately use ` +
2220
2217
  `v-on="$listeners" if you are already using v-bind="$attrs". ` +
2221
2218
  `(Note: the Vue 3 behavior only applies if this compat config is disabled)`,
2222
- link: `https://v3.vuejs.org/guide/migration/listeners-removed.html`
2219
+ link: `https://v3-migration.vuejs.org/breaking-changes/listeners-removed.html`
2223
2220
  },
2224
2221
  ["INSTANCE_SCOPED_SLOTS" /* INSTANCE_SCOPED_SLOTS */]: {
2225
2222
  message: `vm.$scopedSlots has been removed. Use vm.$slots instead.`,
2226
- link: `https://v3.vuejs.org/guide/migration/slots-unification.html`
2223
+ link: `https://v3-migration.vuejs.org/breaking-changes/slots-unification.html`
2227
2224
  },
2228
2225
  ["INSTANCE_ATTRS_CLASS_STYLE" /* INSTANCE_ATTRS_CLASS_STYLE */]: {
2229
2226
  message: componentName => `Component <${componentName || 'Anonymous'}> has \`inheritAttrs: false\` but is ` +
@@ -2234,17 +2231,17 @@ var Vue = (function () {
2234
2231
  `If you are binding $attrs to a non-root element and expecting ` +
2235
2232
  `class/style to fallthrough on root, you will need to now manually bind ` +
2236
2233
  `them on root via :class="$attrs.class".`,
2237
- link: `https://v3.vuejs.org/guide/migration/attrs-includes-class-style.html`
2234
+ link: `https://v3-migration.vuejs.org/breaking-changes/attrs-includes-class-style.html`
2238
2235
  },
2239
2236
  ["OPTIONS_DATA_FN" /* OPTIONS_DATA_FN */]: {
2240
2237
  message: `The "data" option can no longer be a plain object. ` +
2241
2238
  `Always use a function.`,
2242
- link: `https://v3.vuejs.org/guide/migration/data-option.html`
2239
+ link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html`
2243
2240
  },
2244
2241
  ["OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */]: {
2245
2242
  message: (key) => `Detected conflicting key "${key}" when merging data option values. ` +
2246
2243
  `In Vue 3, data keys are merged shallowly and will override one another.`,
2247
- link: `https://v3.vuejs.org/guide/migration/data-option.html#mixin-merge-behavior-change`
2244
+ link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html#mixin-merge-behavior-change`
2248
2245
  },
2249
2246
  ["OPTIONS_BEFORE_DESTROY" /* OPTIONS_BEFORE_DESTROY */]: {
2250
2247
  message: `\`beforeDestroy\` has been renamed to \`beforeUnmount\`.`
@@ -2258,23 +2255,23 @@ var Vue = (function () {
2258
2255
  `If current usage is intended, you can disable the compat behavior and ` +
2259
2256
  `suppress this warning with:` +
2260
2257
  `\n\n configureCompat({ ${"WATCH_ARRAY" /* WATCH_ARRAY */}: false })\n`,
2261
- link: `https://v3.vuejs.org/guide/migration/watch.html`
2258
+ link: `https://v3-migration.vuejs.org/breaking-changes/watch.html`
2262
2259
  },
2263
2260
  ["PROPS_DEFAULT_THIS" /* PROPS_DEFAULT_THIS */]: {
2264
2261
  message: (key) => `props default value function no longer has access to "this". The compat ` +
2265
2262
  `build only offers access to this.$options.` +
2266
2263
  `(found in prop "${key}")`,
2267
- link: `https://v3.vuejs.org/guide/migration/props-default-this.html`
2264
+ link: `https://v3-migration.vuejs.org/breaking-changes/props-default-this.html`
2268
2265
  },
2269
2266
  ["CUSTOM_DIR" /* CUSTOM_DIR */]: {
2270
2267
  message: (legacyHook, newHook) => `Custom directive hook "${legacyHook}" has been removed. ` +
2271
2268
  `Use "${newHook}" instead.`,
2272
- link: `https://v3.vuejs.org/guide/migration/custom-directives.html`
2269
+ link: `https://v3-migration.vuejs.org/breaking-changes/custom-directives.html`
2273
2270
  },
2274
2271
  ["V_ON_KEYCODE_MODIFIER" /* V_ON_KEYCODE_MODIFIER */]: {
2275
2272
  message: `Using keyCode as v-on modifier is no longer supported. ` +
2276
2273
  `Use kebab-case key name modifiers instead.`,
2277
- link: `https://v3.vuejs.org/guide/migration/keycode-modifiers.html`
2274
+ link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
2278
2275
  },
2279
2276
  ["ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */]: {
2280
2277
  message: (name) => `Attribute "${name}" with v-bind value \`false\` will render ` +
@@ -2282,7 +2279,7 @@ var Vue = (function () {
2282
2279
  `use \`null\` or \`undefined\` instead. If the usage is intended, ` +
2283
2280
  `you can disable the compat behavior and suppress this warning with:` +
2284
2281
  `\n\n configureCompat({ ${"ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */}: false })\n`,
2285
- link: `https://v3.vuejs.org/guide/migration/attribute-coercion.html`
2282
+ link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
2286
2283
  },
2287
2284
  ["ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */]: {
2288
2285
  message: (name, value, coerced) => `Enumerated attribute "${name}" with v-bind value \`${value}\` will ` +
@@ -2291,7 +2288,7 @@ var Vue = (function () {
2291
2288
  `If the usage is intended, ` +
2292
2289
  `you can disable the compat behavior and suppress this warning with:` +
2293
2290
  `\n\n configureCompat({ ${"ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */}: false })\n`,
2294
- link: `https://v3.vuejs.org/guide/migration/attribute-coercion.html`
2291
+ link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
2295
2292
  },
2296
2293
  ["TRANSITION_CLASSES" /* TRANSITION_CLASSES */]: {
2297
2294
  message: `` // this feature cannot be runtime-detected
@@ -2302,7 +2299,7 @@ var Vue = (function () {
2302
2299
  `for styling, you can disable the compat behavior and suppress this ` +
2303
2300
  `warning with:` +
2304
2301
  `\n\n configureCompat({ ${"TRANSITION_GROUP_ROOT" /* TRANSITION_GROUP_ROOT */}: false })\n`,
2305
- link: `https://v3.vuejs.org/guide/migration/transition-group.html`
2302
+ link: `https://v3-migration.vuejs.org/breaking-changes/transition-group.html`
2306
2303
  },
2307
2304
  ["COMPONENT_ASYNC" /* COMPONENT_ASYNC */]: {
2308
2305
  message: (comp) => {
@@ -2315,7 +2312,7 @@ var Vue = (function () {
2315
2312
  `warning with:` +
2316
2313
  `\n\n configureCompat({ ${"COMPONENT_ASYNC" /* COMPONENT_ASYNC */}: false })\n`);
2317
2314
  },
2318
- link: `https://v3.vuejs.org/guide/migration/async-components.html`
2315
+ link: `https://v3-migration.vuejs.org/breaking-changes/async-components.html`
2319
2316
  },
2320
2317
  ["COMPONENT_FUNCTIONAL" /* COMPONENT_FUNCTIONAL */]: {
2321
2318
  message: (comp) => {
@@ -2326,7 +2323,7 @@ var Vue = (function () {
2326
2323
  `components usage have been migrated and its compat behavior has ` +
2327
2324
  `been disabled.`);
2328
2325
  },
2329
- link: `https://v3.vuejs.org/guide/migration/functional-components.html`
2326
+ link: `https://v3-migration.vuejs.org/breaking-changes/functional-components.html`
2330
2327
  },
2331
2328
  ["COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */]: {
2332
2329
  message: (comp) => {
@@ -2343,20 +2340,20 @@ var Vue = (function () {
2343
2340
  `to work with v-model should now use the "modelValue" prop and emit the ` +
2344
2341
  `"update:modelValue" event. You can update the usage and then ${configMsg}`);
2345
2342
  },
2346
- link: `https://v3.vuejs.org/guide/migration/v-model.html`
2343
+ link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`
2347
2344
  },
2348
2345
  ["RENDER_FUNCTION" /* RENDER_FUNCTION */]: {
2349
2346
  message: `Vue 3's render function API has changed. ` +
2350
2347
  `You can opt-in to the new API with:` +
2351
2348
  `\n\n configureCompat({ ${"RENDER_FUNCTION" /* RENDER_FUNCTION */}: false })\n` +
2352
2349
  `\n (This can also be done per-component via the "compatConfig" option.)`,
2353
- link: `https://v3.vuejs.org/guide/migration/render-function-api.html`
2350
+ link: `https://v3-migration.vuejs.org/breaking-changes/render-function-api.html`
2354
2351
  },
2355
2352
  ["FILTERS" /* FILTERS */]: {
2356
2353
  message: `filters have been removed in Vue 3. ` +
2357
2354
  `The "|" symbol will be treated as native JavaScript bitwise OR operator. ` +
2358
2355
  `Use method calls or computed properties instead.`,
2359
- link: `https://v3.vuejs.org/guide/migration/filters.html`
2356
+ link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
2360
2357
  },
2361
2358
  ["PRIVATE_APIS" /* PRIVATE_APIS */]: {
2362
2359
  message: name => `"${name}" is a Vue 2 private API that no longer exists in Vue 3. ` +
@@ -2424,7 +2421,7 @@ var Vue = (function () {
2424
2421
  warn$1(`Deprecation config "${key}" is compiler-specific and you are ` +
2425
2422
  `running a runtime-only build of Vue. This deprecation should be ` +
2426
2423
  `configured via compiler options in your build setup instead.\n` +
2427
- `Details: https://v3.vuejs.org/guide/migration/migration-build.html`);
2424
+ `Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`);
2428
2425
  }
2429
2426
  }
2430
2427
  else {
@@ -5825,7 +5822,6 @@ var Vue = (function () {
5825
5822
  [bar, this.y]
5826
5823
  ])
5827
5824
  */
5828
- const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
5829
5825
  function validateDirectiveName(name) {
5830
5826
  if (isBuiltInDirective(name)) {
5831
5827
  warn$1('Do not use built-in directive ids as custom directive id: ' + name);
@@ -5960,7 +5956,7 @@ var Vue = (function () {
5960
5956
  return vm;
5961
5957
  }
5962
5958
  }
5963
- Vue.version = `2.6.14-compat:${"3.2.29"}`;
5959
+ Vue.version = `2.6.14-compat:${"3.2.30"}`;
5964
5960
  Vue.config = singletonApp.config;
5965
5961
  Vue.use = (p, ...options) => {
5966
5962
  if (p && isFunction(p.install)) {
@@ -10859,7 +10855,7 @@ var Vue = (function () {
10859
10855
  }
10860
10856
 
10861
10857
  // Core API ------------------------------------------------------------------
10862
- const version = "3.2.29";
10858
+ const version = "3.2.30";
10863
10859
  /**
10864
10860
  * SSR utils for \@vue/server-renderer. Only exposed in cjs builds.
10865
10861
  * @internal