@vue/compat 3.5.13 → 3.5.14

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.13
2
+ * @vue/compat v3.5.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -399,6 +399,10 @@ var Vue = (function () {
399
399
  * @internal
400
400
  */
401
401
  this._active = true;
402
+ /**
403
+ * @internal track `on` calls, allow `on` call multiple times
404
+ */
405
+ this._on = 0;
402
406
  /**
403
407
  * @internal
404
408
  */
@@ -469,14 +473,20 @@ var Vue = (function () {
469
473
  * @internal
470
474
  */
471
475
  on() {
472
- activeEffectScope = this;
476
+ if (++this._on === 1) {
477
+ this.prevScope = activeEffectScope;
478
+ activeEffectScope = this;
479
+ }
473
480
  }
474
481
  /**
475
482
  * This should only be called on non-detached scopes
476
483
  * @internal
477
484
  */
478
485
  off() {
479
- activeEffectScope = this.parent;
486
+ if (this._on > 0 && --this._on === 0) {
487
+ activeEffectScope = this.prevScope;
488
+ this.prevScope = void 0;
489
+ }
480
490
  }
481
491
  stop(fromParent) {
482
492
  if (this._active) {
@@ -558,7 +568,7 @@ var Vue = (function () {
558
568
  }
559
569
  resume() {
560
570
  if (this.flags & 64) {
561
- this.flags &= ~64;
571
+ this.flags &= -65;
562
572
  if (pausedQueueEffects.has(this)) {
563
573
  pausedQueueEffects.delete(this);
564
574
  this.trigger();
@@ -598,7 +608,7 @@ var Vue = (function () {
598
608
  cleanupDeps(this);
599
609
  activeSub = prevEffect;
600
610
  shouldTrack = prevShouldTrack;
601
- this.flags &= ~2;
611
+ this.flags &= -3;
602
612
  }
603
613
  }
604
614
  stop() {
@@ -609,7 +619,7 @@ var Vue = (function () {
609
619
  this.deps = this.depsTail = void 0;
610
620
  cleanupEffect(this);
611
621
  this.onStop && this.onStop();
612
- this.flags &= ~1;
622
+ this.flags &= -2;
613
623
  }
614
624
  }
615
625
  trigger() {
@@ -659,7 +669,7 @@ var Vue = (function () {
659
669
  while (e) {
660
670
  const next = e.next;
661
671
  e.next = void 0;
662
- e.flags &= ~8;
672
+ e.flags &= -9;
663
673
  e = next;
664
674
  }
665
675
  }
@@ -670,7 +680,7 @@ var Vue = (function () {
670
680
  while (e) {
671
681
  const next = e.next;
672
682
  e.next = void 0;
673
- e.flags &= ~8;
683
+ e.flags &= -9;
674
684
  if (e.flags & 1) {
675
685
  try {
676
686
  ;
@@ -726,17 +736,16 @@ var Vue = (function () {
726
736
  if (computed.flags & 4 && !(computed.flags & 16)) {
727
737
  return;
728
738
  }
729
- computed.flags &= ~16;
739
+ computed.flags &= -17;
730
740
  if (computed.globalVersion === globalVersion) {
731
741
  return;
732
742
  }
733
743
  computed.globalVersion = globalVersion;
734
- const dep = computed.dep;
735
- computed.flags |= 2;
736
- if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
737
- computed.flags &= ~2;
744
+ if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {
738
745
  return;
739
746
  }
747
+ computed.flags |= 2;
748
+ const dep = computed.dep;
740
749
  const prevSub = activeSub;
741
750
  const prevShouldTrack = shouldTrack;
742
751
  activeSub = computed;
@@ -745,6 +754,7 @@ var Vue = (function () {
745
754
  prepareDeps(computed);
746
755
  const value = computed.fn(computed._value);
747
756
  if (dep.version === 0 || hasChanged(value, computed._value)) {
757
+ computed.flags |= 128;
748
758
  computed._value = value;
749
759
  dep.version++;
750
760
  }
@@ -755,7 +765,7 @@ var Vue = (function () {
755
765
  activeSub = prevSub;
756
766
  shouldTrack = prevShouldTrack;
757
767
  cleanupDeps(computed);
758
- computed.flags &= ~2;
768
+ computed.flags &= -3;
759
769
  }
760
770
  }
761
771
  function removeSub(link, soft = false) {
@@ -774,7 +784,7 @@ var Vue = (function () {
774
784
  if (dep.subs === link) {
775
785
  dep.subs = prevSub;
776
786
  if (!prevSub && dep.computed) {
777
- dep.computed.flags &= ~4;
787
+ dep.computed.flags &= -5;
778
788
  for (let l = dep.computed.deps; l; l = l.nextDep) {
779
789
  removeSub(l, true);
780
790
  }
@@ -1707,14 +1717,14 @@ var Vue = (function () {
1707
1717
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1708
1718
  return target;
1709
1719
  }
1710
- const existingProxy = proxyMap.get(target);
1711
- if (existingProxy) {
1712
- return existingProxy;
1713
- }
1714
1720
  const targetType = getTargetType(target);
1715
1721
  if (targetType === 0 /* INVALID */) {
1716
1722
  return target;
1717
1723
  }
1724
+ const existingProxy = proxyMap.get(target);
1725
+ if (existingProxy) {
1726
+ return existingProxy;
1727
+ }
1718
1728
  const proxy = new Proxy(
1719
1729
  target,
1720
1730
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -2558,11 +2568,11 @@ var Vue = (function () {
2558
2568
  queue.splice(i, 1);
2559
2569
  i--;
2560
2570
  if (cb.flags & 4) {
2561
- cb.flags &= ~1;
2571
+ cb.flags &= -2;
2562
2572
  }
2563
2573
  cb();
2564
2574
  if (!(cb.flags & 4)) {
2565
- cb.flags &= ~1;
2575
+ cb.flags &= -2;
2566
2576
  }
2567
2577
  }
2568
2578
  }
@@ -2587,10 +2597,10 @@ var Vue = (function () {
2587
2597
  continue;
2588
2598
  }
2589
2599
  if (cb.flags & 4) {
2590
- cb.flags &= ~1;
2600
+ cb.flags &= -2;
2591
2601
  }
2592
2602
  if (!(cb.flags & 8)) cb();
2593
- cb.flags &= ~1;
2603
+ cb.flags &= -2;
2594
2604
  }
2595
2605
  activePostFlushCbs = null;
2596
2606
  postFlushIndex = 0;
@@ -2626,7 +2636,7 @@ var Vue = (function () {
2626
2636
  for (; flushIndex < queue.length; flushIndex++) {
2627
2637
  const job = queue[flushIndex];
2628
2638
  if (job) {
2629
- job.flags &= ~1;
2639
+ job.flags &= -2;
2630
2640
  }
2631
2641
  }
2632
2642
  flushIndex = -1;
@@ -3643,7 +3653,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3643
3653
  namespace,
3644
3654
  slotScopeIds
3645
3655
  );
3646
- traverseStaticChildren(n1, n2, true);
3656
+ traverseStaticChildren(n1, n2, false);
3647
3657
  } else if (!optimized) {
3648
3658
  patchChildren(
3649
3659
  n1,
@@ -5325,6 +5335,9 @@ Server rendered element contains fewer child nodes than client vdom.`
5325
5335
  {
5326
5336
  devtoolsComponentAdded(instance2);
5327
5337
  }
5338
+ {
5339
+ instance2.__keepAliveStorageContainer = storageContainer;
5340
+ }
5328
5341
  };
5329
5342
  function unmount(vnode) {
5330
5343
  resetShapeFlag(vnode);
@@ -5412,7 +5425,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5412
5425
  );
5413
5426
  const { include, exclude, max } = props;
5414
5427
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
5415
- vnode.shapeFlag &= ~256;
5428
+ vnode.shapeFlag &= -257;
5416
5429
  current = vnode;
5417
5430
  return rawVNode;
5418
5431
  }
@@ -5503,8 +5516,8 @@ Server rendered element contains fewer child nodes than client vdom.`
5503
5516
  }, target);
5504
5517
  }
5505
5518
  function resetShapeFlag(vnode) {
5506
- vnode.shapeFlag &= ~256;
5507
- vnode.shapeFlag &= ~512;
5519
+ vnode.shapeFlag &= -257;
5520
+ vnode.shapeFlag &= -513;
5508
5521
  }
5509
5522
  function getInnerChild(vnode) {
5510
5523
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -5906,14 +5919,16 @@ If this is a native custom element, make sure to exclude it from component resol
5906
5919
  if (sourceIsArray || isString(source)) {
5907
5920
  const sourceIsReactiveArray = sourceIsArray && isReactive(source);
5908
5921
  let needsWrap = false;
5922
+ let isReadonlySource = false;
5909
5923
  if (sourceIsReactiveArray) {
5910
5924
  needsWrap = !isShallow(source);
5925
+ isReadonlySource = isReadonly(source);
5911
5926
  source = shallowReadArray(source);
5912
5927
  }
5913
5928
  ret = new Array(source.length);
5914
5929
  for (let i = 0, l = source.length; i < l; i++) {
5915
5930
  ret[i] = renderItem(
5916
- needsWrap ? toReactive(source[i]) : source[i],
5931
+ needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],
5917
5932
  i,
5918
5933
  void 0,
5919
5934
  cached && cached[i]
@@ -7162,7 +7177,7 @@ If this is a native custom element, make sure to exclude it from component resol
7162
7177
  return vm;
7163
7178
  }
7164
7179
  }
7165
- Vue.version = `2.6.14-compat:${"3.5.13"}`;
7180
+ Vue.version = `2.6.14-compat:${"3.5.14"}`;
7166
7181
  Vue.config = singletonApp.config;
7167
7182
  Vue.use = (plugin, ...options) => {
7168
7183
  if (plugin && isFunction(plugin.install)) {
@@ -7656,11 +7671,9 @@ If this is a native custom element, make sure to exclude it from component resol
7656
7671
  }
7657
7672
  {
7658
7673
  context.reload = () => {
7659
- render(
7660
- cloneVNode(vnode),
7661
- rootContainer,
7662
- namespace
7663
- );
7674
+ const cloned = cloneVNode(vnode);
7675
+ cloned.el = null;
7676
+ render(cloned, rootContainer, namespace);
7664
7677
  };
7665
7678
  }
7666
7679
  if (isHydrate && hydrate) {
@@ -8258,7 +8271,7 @@ If you want to remount the same app, move your app creation logic into a factory
8258
8271
  return rawSlot;
8259
8272
  }
8260
8273
  const normalized = withCtx((...args) => {
8261
- if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
8274
+ if (currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
8262
8275
  warn$1(
8263
8276
  `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
8264
8277
  );
@@ -8297,7 +8310,7 @@ If you want to remount the same app, move your app creation logic into a factory
8297
8310
  };
8298
8311
  const assignSlots = (slots, children, optimized) => {
8299
8312
  for (const key in children) {
8300
- if (optimized || key !== "_") {
8313
+ if (optimized || !isInternalKey(key)) {
8301
8314
  slots[key] = children[key];
8302
8315
  }
8303
8316
  }
@@ -8984,8 +8997,8 @@ If you want to remount the same app, move your app creation logic into a factory
8984
8997
  endMeasure(instance, `init`);
8985
8998
  }
8986
8999
  }
9000
+ if (isHmrUpdating) initialVNode.el = null;
8987
9001
  if (instance.asyncDep) {
8988
- if (isHmrUpdating) initialVNode.el = null;
8989
9002
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
8990
9003
  if (!initialVNode.el) {
8991
9004
  const placeholder = instance.subTree = createVNode(Comment);
@@ -9571,7 +9584,13 @@ If you want to remount the same app, move your app creation logic into a factory
9571
9584
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
9572
9585
  } else {
9573
9586
  const { leave, delayLeave, afterLeave } = transition;
9574
- const remove2 = () => hostInsert(el, container, anchor);
9587
+ const remove2 = () => {
9588
+ if (vnode.ctx.isUnmounted) {
9589
+ hostRemove(el);
9590
+ } else {
9591
+ hostInsert(el, container, anchor);
9592
+ }
9593
+ };
9575
9594
  const performLeave = () => {
9576
9595
  leave(el, () => {
9577
9596
  remove2();
@@ -9604,7 +9623,9 @@ If you want to remount the same app, move your app creation logic into a factory
9604
9623
  optimized = false;
9605
9624
  }
9606
9625
  if (ref != null) {
9626
+ pauseTracking();
9607
9627
  setRef(ref, null, parentSuspense, vnode, true);
9628
+ resetTracking();
9608
9629
  }
9609
9630
  if (cacheIndex != null) {
9610
9631
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -9716,12 +9737,27 @@ If you want to remount the same app, move your app creation logic into a factory
9716
9737
  if (instance.type.__hmrId) {
9717
9738
  unregisterHMR(instance);
9718
9739
  }
9719
- const { bum, scope, job, subTree, um, m, a } = instance;
9740
+ const {
9741
+ bum,
9742
+ scope,
9743
+ job,
9744
+ subTree,
9745
+ um,
9746
+ m,
9747
+ a,
9748
+ parent,
9749
+ slots: { __: slotCacheKeys }
9750
+ } = instance;
9720
9751
  invalidateMount(m);
9721
9752
  invalidateMount(a);
9722
9753
  if (bum) {
9723
9754
  invokeArrayFns(bum);
9724
9755
  }
9756
+ if (parent && isArray(slotCacheKeys)) {
9757
+ slotCacheKeys.forEach((v) => {
9758
+ parent.renderCache[v] = void 0;
9759
+ });
9760
+ }
9725
9761
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) {
9726
9762
  instance.emit("hook:beforeDestroy");
9727
9763
  }
@@ -9826,8 +9862,8 @@ If you want to remount the same app, move your app creation logic into a factory
9826
9862
  effect.flags |= 32;
9827
9863
  job.flags |= 4;
9828
9864
  } else {
9829
- effect.flags &= ~32;
9830
- job.flags &= ~4;
9865
+ effect.flags &= -33;
9866
+ job.flags &= -5;
9831
9867
  }
9832
9868
  }
9833
9869
  function needTransition(parentSuspense, transition) {
@@ -9854,6 +9890,9 @@ If you want to remount the same app, move your app creation logic into a factory
9854
9890
  if (c2.type === Comment && !c2.el) {
9855
9891
  c2.el = c1.el;
9856
9892
  }
9893
+ {
9894
+ c2.el && (c2.el.__vnode = c2);
9895
+ }
9857
9896
  }
9858
9897
  }
9859
9898
  }
@@ -11256,8 +11295,8 @@ If you want to remount the same app, move your app creation logic into a factory
11256
11295
  if (n2.shapeFlag & 6 && n1.component) {
11257
11296
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
11258
11297
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
11259
- n1.shapeFlag &= ~256;
11260
- n2.shapeFlag &= ~512;
11298
+ n1.shapeFlag &= -257;
11299
+ n2.shapeFlag &= -513;
11261
11300
  return false;
11262
11301
  }
11263
11302
  }
@@ -11716,7 +11755,7 @@ Component that was made reactive: `,
11716
11755
  const { props, children } = instance.vnode;
11717
11756
  const isStateful = isStatefulComponent(instance);
11718
11757
  initProps(instance, props, isStateful, isSSR);
11719
- initSlots(instance, children, optimized);
11758
+ initSlots(instance, children, optimized || isSSR);
11720
11759
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
11721
11760
  isSSR && setInSSRSetupState(false);
11722
11761
  return setupResult;
@@ -12057,13 +12096,15 @@ Component that was made reactive: `,
12057
12096
  if (obj.__isVue) {
12058
12097
  return ["div", vueStyle, `VueInstance`];
12059
12098
  } else if (isRef(obj)) {
12099
+ pauseTracking();
12100
+ const value = obj.value;
12101
+ resetTracking();
12060
12102
  return [
12061
12103
  "div",
12062
12104
  {},
12063
12105
  ["span", vueStyle, genRefFlag(obj)],
12064
12106
  "<",
12065
- // avoid debugger accessing value affecting behavior
12066
- formatValue("_value" in obj ? obj._value : obj),
12107
+ formatValue(value),
12067
12108
  `>`
12068
12109
  ];
12069
12110
  } else if (isReactive(obj)) {
@@ -12244,7 +12285,7 @@ Component that was made reactive: `,
12244
12285
  return true;
12245
12286
  }
12246
12287
 
12247
- const version = "3.5.13";
12288
+ const version = "3.5.14";
12248
12289
  const warn = warn$1 ;
12249
12290
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12250
12291
  const devtools = devtools$1 ;
@@ -13131,7 +13172,7 @@ Expected function or array of functions, received type ${typeof value}.`
13131
13172
  }
13132
13173
  return false;
13133
13174
  }
13134
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
13175
+ if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
13135
13176
  return false;
13136
13177
  }
13137
13178
  if (key === "form") {
@@ -13611,6 +13652,7 @@ Expected function or array of functions, received type ${typeof value}.`
13611
13652
  instance.vnode.el,
13612
13653
  moveClass
13613
13654
  )) {
13655
+ prevChildren = [];
13614
13656
  return;
13615
13657
  }
13616
13658
  prevChildren.forEach(callPendingCbs);
@@ -13634,6 +13676,7 @@ Expected function or array of functions, received type ${typeof value}.`
13634
13676
  };
13635
13677
  el.addEventListener("transitionend", cb);
13636
13678
  });
13679
+ prevChildren = [];
13637
13680
  });
13638
13681
  return () => {
13639
13682
  const rawProps = toRaw(props);
@@ -16090,7 +16133,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16090
16133
  "COMPILER_V_BIND_SYNC",
16091
16134
  currentOptions,
16092
16135
  currentProp.loc,
16093
- currentProp.rawName
16136
+ currentProp.arg.loc.source
16094
16137
  )) {
16095
16138
  currentProp.name = "model";
16096
16139
  currentProp.modifiers.splice(syncIndex, 1);
@@ -16666,6 +16709,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16666
16709
  }
16667
16710
  }
16668
16711
  let cachedAsArray = false;
16712
+ const slotCacheKeys = [];
16669
16713
  if (toCache.length === children.length && node.type === 1) {
16670
16714
  if (node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) {
16671
16715
  node.codegenNode.children = getCacheExpression(
@@ -16675,6 +16719,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16675
16719
  } else if (node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) {
16676
16720
  const slot = getSlotNode(node.codegenNode, "default");
16677
16721
  if (slot) {
16722
+ slotCacheKeys.push(context.cached.length);
16678
16723
  slot.returns = getCacheExpression(
16679
16724
  createArrayExpression(slot.returns)
16680
16725
  );
@@ -16684,6 +16729,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16684
16729
  const slotName = findDir(node, "slot", true);
16685
16730
  const slot = slotName && slotName.arg && getSlotNode(parent.codegenNode, slotName.arg);
16686
16731
  if (slot) {
16732
+ slotCacheKeys.push(context.cached.length);
16687
16733
  slot.returns = getCacheExpression(
16688
16734
  createArrayExpression(slot.returns)
16689
16735
  );
@@ -16693,9 +16739,18 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16693
16739
  }
16694
16740
  if (!cachedAsArray) {
16695
16741
  for (const child of toCache) {
16742
+ slotCacheKeys.push(context.cached.length);
16696
16743
  child.codegenNode = context.cache(child.codegenNode);
16697
16744
  }
16698
16745
  }
16746
+ if (slotCacheKeys.length && node.type === 1 && node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) {
16747
+ node.codegenNode.children.properties.push(
16748
+ createObjectProperty(
16749
+ `__`,
16750
+ createSimpleExpression(JSON.stringify(slotCacheKeys), false)
16751
+ )
16752
+ );
16753
+ }
16699
16754
  function getCacheExpression(value) {
16700
16755
  const exp = context.cache(value);
16701
16756
  if (inFor && context.hmr) {
@@ -19396,8 +19451,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
19396
19451
  context.onError(createCompilerError(44, exp.loc));
19397
19452
  return createTransformProps();
19398
19453
  }
19399
- const maybeRef = false;
19400
- if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {
19454
+ if (!expString.trim() || !isMemberExpression(exp) && true) {
19401
19455
  context.onError(
19402
19456
  createCompilerError(42, exp.loc)
19403
19457
  );