@vue/compat 3.5.34 → 3.5.35

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.34
2
+ * @vue/compat v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1749,9 +1749,6 @@ function targetTypeMap(rawType) {
1749
1749
  return 0 /* INVALID */;
1750
1750
  }
1751
1751
  }
1752
- function getTargetType(value) {
1753
- return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1754
- }
1755
1752
  // @__NO_SIDE_EFFECTS__
1756
1753
  function reactive(target) {
1757
1754
  if (/* @__PURE__ */ isReadonly(target)) {
@@ -1809,14 +1806,17 @@ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandl
1809
1806
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1810
1807
  return target;
1811
1808
  }
1812
- const targetType = getTargetType(target);
1813
- if (targetType === 0 /* INVALID */) {
1809
+ if (target["__v_skip"] || !Object.isExtensible(target)) {
1814
1810
  return target;
1815
1811
  }
1816
1812
  const existingProxy = proxyMap.get(target);
1817
1813
  if (existingProxy) {
1818
1814
  return existingProxy;
1819
1815
  }
1816
+ const targetType = targetTypeMap(toRawType(target));
1817
+ if (targetType === 0 /* INVALID */) {
1818
+ return target;
1819
+ }
1820
1820
  const proxy = new Proxy(
1821
1821
  target,
1822
1822
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -3982,19 +3982,18 @@ const TeleportImpl = {
3982
3982
  target,
3983
3983
  props
3984
3984
  } = vnode;
3985
- let shouldRemove = doRemove || !isTeleportDisabled(props);
3985
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
3986
3986
  const pendingMount = pendingMounts.get(vnode);
3987
3987
  if (pendingMount) {
3988
3988
  pendingMount.flags |= 8;
3989
3989
  pendingMounts.delete(vnode);
3990
- shouldRemove = false;
3991
3990
  }
3992
3991
  if (target) {
3993
3992
  hostRemove(targetStart);
3994
3993
  hostRemove(targetAnchor);
3995
3994
  }
3996
3995
  doRemove && hostRemove(anchor);
3997
- if (shapeFlag & 16) {
3996
+ if (!pendingMount && shapeFlag & 16) {
3998
3997
  for (let i = 0; i < children.length; i++) {
3999
3998
  const child = children[i];
4000
3999
  unmount(
@@ -4966,20 +4965,16 @@ function createHydrationFunctions(rendererInternals) {
4966
4965
  slotScopeIds,
4967
4966
  optimized
4968
4967
  );
4969
- let hasWarned = false;
4970
- while (next) {
4971
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
4972
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
4973
- warn$1(
4974
- `Hydration children mismatch on`,
4975
- el,
4976
- `
4968
+ if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {
4969
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
4970
+ `Hydration children mismatch on`,
4971
+ el,
4972
+ `
4977
4973
  Server rendered element contains more child nodes than client vdom.`
4978
- );
4979
- hasWarned = true;
4980
- }
4981
- logMismatchError();
4982
- }
4974
+ );
4975
+ logMismatchError();
4976
+ }
4977
+ while (next) {
4983
4978
  const cur = next;
4984
4979
  next = next.nextSibling;
4985
4980
  remove(cur);
@@ -5053,7 +5048,7 @@ Server rendered element contains more child nodes than client vdom.`
5053
5048
  optimized = optimized || !!parentVNode.dynamicChildren;
5054
5049
  const children = parentVNode.children;
5055
5050
  const l = children.length;
5056
- let hasWarned = false;
5051
+ let hasCheckedMismatch = false;
5057
5052
  for (let i = 0; i < l; i++) {
5058
5053
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
5059
5054
  const isText = vnode.type === Text;
@@ -5081,17 +5076,17 @@ Server rendered element contains more child nodes than client vdom.`
5081
5076
  } else if (isText && !vnode.children) {
5082
5077
  insert(vnode.el = createText(""), container);
5083
5078
  } else {
5084
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5085
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
5086
- warn$1(
5079
+ if (!hasCheckedMismatch) {
5080
+ hasCheckedMismatch = true;
5081
+ if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5082
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
5087
5083
  `Hydration children mismatch on`,
5088
5084
  container,
5089
5085
  `
5090
5086
  Server rendered element contains fewer child nodes than client vdom.`
5091
5087
  );
5092
- hasWarned = true;
5088
+ logMismatchError();
5093
5089
  }
5094
- logMismatchError();
5095
5090
  }
5096
5091
  patch(
5097
5092
  null,
@@ -7579,7 +7574,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7579
7574
  return vm;
7580
7575
  }
7581
7576
  }
7582
- Vue.version = `2.6.14-compat:${"3.5.34"}`;
7577
+ Vue.version = `2.6.14-compat:${"3.5.35"}`;
7583
7578
  Vue.config = singletonApp.config;
7584
7579
  Vue.use = (plugin, ...options) => {
7585
7580
  if (plugin && isFunction(plugin.install)) {
@@ -10625,9 +10620,13 @@ function baseCreateRenderer(options, createHydrationFns) {
10625
10620
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
10626
10621
  if (needTransition2) {
10627
10622
  if (moveType === 0) {
10628
- transition.beforeEnter(el);
10629
- hostInsert(el, container, anchor);
10630
- queuePostRenderEffect(() => transition.enter(el), parentSuspense);
10623
+ if (transition.persisted && !el[leaveCbKey]) {
10624
+ hostInsert(el, container, anchor);
10625
+ } else {
10626
+ transition.beforeEnter(el);
10627
+ hostInsert(el, container, anchor);
10628
+ queuePostRenderEffect(() => transition.enter(el), parentSuspense);
10629
+ }
10631
10630
  } else {
10632
10631
  const { leave, delayLeave, afterLeave } = transition;
10633
10632
  const remove2 = () => {
@@ -10638,16 +10637,21 @@ function baseCreateRenderer(options, createHydrationFns) {
10638
10637
  }
10639
10638
  };
10640
10639
  const performLeave = () => {
10640
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
10641
10641
  if (el._isLeaving) {
10642
10642
  el[leaveCbKey](
10643
10643
  true
10644
10644
  /* cancelled */
10645
10645
  );
10646
10646
  }
10647
- leave(el, () => {
10647
+ if (transition.persisted && !wasLeaving) {
10648
10648
  remove2();
10649
- afterLeave && afterLeave();
10650
- });
10649
+ } else {
10650
+ leave(el, () => {
10651
+ remove2();
10652
+ afterLeave && afterLeave();
10653
+ });
10654
+ }
10651
10655
  };
10652
10656
  if (delayLeave) {
10653
10657
  delayLeave(el, remove2, performLeave);
@@ -12756,7 +12760,7 @@ function isMemoSame(cached, memo) {
12756
12760
  return true;
12757
12761
  }
12758
12762
 
12759
- const version = "3.5.34";
12763
+ const version = "3.5.35";
12760
12764
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12761
12765
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12762
12766
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13601,12 +13605,37 @@ function createInvoker(initialValue, instance) {
13601
13605
  } else if (e._vts <= invoker.attached) {
13602
13606
  return;
13603
13607
  }
13604
- callWithAsyncErrorHandling(
13605
- patchStopImmediatePropagation(e, invoker.value),
13606
- instance,
13607
- 5,
13608
- [e]
13609
- );
13608
+ const value = invoker.value;
13609
+ if (isArray(value)) {
13610
+ const originalStop = e.stopImmediatePropagation;
13611
+ e.stopImmediatePropagation = () => {
13612
+ originalStop.call(e);
13613
+ e._stopped = true;
13614
+ };
13615
+ const handlers = value.slice();
13616
+ const args = [e];
13617
+ for (let i = 0; i < handlers.length; i++) {
13618
+ if (e._stopped) {
13619
+ break;
13620
+ }
13621
+ const handler = handlers[i];
13622
+ if (handler) {
13623
+ callWithAsyncErrorHandling(
13624
+ handler,
13625
+ instance,
13626
+ 5,
13627
+ args
13628
+ );
13629
+ }
13630
+ }
13631
+ } else {
13632
+ callWithAsyncErrorHandling(
13633
+ value,
13634
+ instance,
13635
+ 5,
13636
+ [e]
13637
+ );
13638
+ }
13610
13639
  };
13611
13640
  invoker.value = initialValue;
13612
13641
  invoker.attached = getNow();
@@ -13622,20 +13651,6 @@ Expected function or array of functions, received type ${typeof value}.`
13622
13651
  );
13623
13652
  return NOOP;
13624
13653
  }
13625
- function patchStopImmediatePropagation(e, value) {
13626
- if (isArray(value)) {
13627
- const originalStop = e.stopImmediatePropagation;
13628
- e.stopImmediatePropagation = () => {
13629
- originalStop.call(e);
13630
- e._stopped = true;
13631
- };
13632
- return value.map(
13633
- (fn) => (e2) => !e2._stopped && fn && fn(e2)
13634
- );
13635
- } else {
13636
- return value;
13637
- }
13638
- }
13639
13654
 
13640
13655
  const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
13641
13656
  key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
@@ -18806,7 +18821,7 @@ const transformFor = createStructuralDirectiveTransform(
18806
18821
  const keyProp = findProp(node, `key`, false, true);
18807
18822
  keyProp && keyProp.type === 7;
18808
18823
  let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
18809
- const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
18824
+ const keyProperty = keyExp ? createObjectProperty(`key`, keyExp) : null;
18810
18825
  const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
18811
18826
  const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
18812
18827
  forNode.codegenNode = createVNodeCall(
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.34
2
+ * @vue/compat v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1748,9 +1748,6 @@ var Vue = (function () {
1748
1748
  return 0 /* INVALID */;
1749
1749
  }
1750
1750
  }
1751
- function getTargetType(value) {
1752
- return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1753
- }
1754
1751
  // @__NO_SIDE_EFFECTS__
1755
1752
  function reactive(target) {
1756
1753
  if (/* @__PURE__ */ isReadonly(target)) {
@@ -1808,14 +1805,17 @@ var Vue = (function () {
1808
1805
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1809
1806
  return target;
1810
1807
  }
1811
- const targetType = getTargetType(target);
1812
- if (targetType === 0 /* INVALID */) {
1808
+ if (target["__v_skip"] || !Object.isExtensible(target)) {
1813
1809
  return target;
1814
1810
  }
1815
1811
  const existingProxy = proxyMap.get(target);
1816
1812
  if (existingProxy) {
1817
1813
  return existingProxy;
1818
1814
  }
1815
+ const targetType = targetTypeMap(toRawType(target));
1816
+ if (targetType === 0 /* INVALID */) {
1817
+ return target;
1818
+ }
1819
1819
  const proxy = new Proxy(
1820
1820
  target,
1821
1821
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -3939,19 +3939,18 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3939
3939
  target,
3940
3940
  props
3941
3941
  } = vnode;
3942
- let shouldRemove = doRemove || !isTeleportDisabled(props);
3942
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
3943
3943
  const pendingMount = pendingMounts.get(vnode);
3944
3944
  if (pendingMount) {
3945
3945
  pendingMount.flags |= 8;
3946
3946
  pendingMounts.delete(vnode);
3947
- shouldRemove = false;
3948
3947
  }
3949
3948
  if (target) {
3950
3949
  hostRemove(targetStart);
3951
3950
  hostRemove(targetAnchor);
3952
3951
  }
3953
3952
  doRemove && hostRemove(anchor);
3954
- if (shapeFlag & 16) {
3953
+ if (!pendingMount && shapeFlag & 16) {
3955
3954
  for (let i = 0; i < children.length; i++) {
3956
3955
  const child = children[i];
3957
3956
  unmount(
@@ -4922,20 +4921,16 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4922
4921
  slotScopeIds,
4923
4922
  optimized
4924
4923
  );
4925
- let hasWarned = false;
4926
- while (next) {
4927
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
4928
- if (!hasWarned) {
4929
- warn$1(
4930
- `Hydration children mismatch on`,
4931
- el,
4932
- `
4924
+ if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {
4925
+ warn$1(
4926
+ `Hydration children mismatch on`,
4927
+ el,
4928
+ `
4933
4929
  Server rendered element contains more child nodes than client vdom.`
4934
- );
4935
- hasWarned = true;
4936
- }
4937
- logMismatchError();
4938
- }
4930
+ );
4931
+ logMismatchError();
4932
+ }
4933
+ while (next) {
4939
4934
  const cur = next;
4940
4935
  next = next.nextSibling;
4941
4936
  remove(cur);
@@ -4998,7 +4993,7 @@ Server rendered element contains more child nodes than client vdom.`
4998
4993
  optimized = optimized || !!parentVNode.dynamicChildren;
4999
4994
  const children = parentVNode.children;
5000
4995
  const l = children.length;
5001
- let hasWarned = false;
4996
+ let hasCheckedMismatch = false;
5002
4997
  for (let i = 0; i < l; i++) {
5003
4998
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
5004
4999
  const isText = vnode.type === Text;
@@ -5026,17 +5021,17 @@ Server rendered element contains more child nodes than client vdom.`
5026
5021
  } else if (isText && !vnode.children) {
5027
5022
  insert(vnode.el = createText(""), container);
5028
5023
  } else {
5029
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5030
- if (!hasWarned) {
5024
+ if (!hasCheckedMismatch) {
5025
+ hasCheckedMismatch = true;
5026
+ if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5031
5027
  warn$1(
5032
5028
  `Hydration children mismatch on`,
5033
5029
  container,
5034
5030
  `
5035
5031
  Server rendered element contains fewer child nodes than client vdom.`
5036
5032
  );
5037
- hasWarned = true;
5033
+ logMismatchError();
5038
5034
  }
5039
- logMismatchError();
5040
5035
  }
5041
5036
  patch(
5042
5037
  null,
@@ -7513,7 +7508,7 @@ If this is a native custom element, make sure to exclude it from component resol
7513
7508
  return vm;
7514
7509
  }
7515
7510
  }
7516
- Vue.version = `2.6.14-compat:${"3.5.34"}`;
7511
+ Vue.version = `2.6.14-compat:${"3.5.35"}`;
7517
7512
  Vue.config = singletonApp.config;
7518
7513
  Vue.use = (plugin, ...options) => {
7519
7514
  if (plugin && isFunction(plugin.install)) {
@@ -10519,9 +10514,13 @@ If you want to remount the same app, move your app creation logic into a factory
10519
10514
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
10520
10515
  if (needTransition2) {
10521
10516
  if (moveType === 0) {
10522
- transition.beforeEnter(el);
10523
- hostInsert(el, container, anchor);
10524
- queuePostRenderEffect(() => transition.enter(el), parentSuspense);
10517
+ if (transition.persisted && !el[leaveCbKey]) {
10518
+ hostInsert(el, container, anchor);
10519
+ } else {
10520
+ transition.beforeEnter(el);
10521
+ hostInsert(el, container, anchor);
10522
+ queuePostRenderEffect(() => transition.enter(el), parentSuspense);
10523
+ }
10525
10524
  } else {
10526
10525
  const { leave, delayLeave, afterLeave } = transition;
10527
10526
  const remove2 = () => {
@@ -10532,16 +10531,21 @@ If you want to remount the same app, move your app creation logic into a factory
10532
10531
  }
10533
10532
  };
10534
10533
  const performLeave = () => {
10534
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
10535
10535
  if (el._isLeaving) {
10536
10536
  el[leaveCbKey](
10537
10537
  true
10538
10538
  /* cancelled */
10539
10539
  );
10540
10540
  }
10541
- leave(el, () => {
10541
+ if (transition.persisted && !wasLeaving) {
10542
10542
  remove2();
10543
- afterLeave && afterLeave();
10544
- });
10543
+ } else {
10544
+ leave(el, () => {
10545
+ remove2();
10546
+ afterLeave && afterLeave();
10547
+ });
10548
+ }
10545
10549
  };
10546
10550
  if (delayLeave) {
10547
10551
  delayLeave(el, remove2, performLeave);
@@ -12622,7 +12626,7 @@ Component that was made reactive: `,
12622
12626
  return true;
12623
12627
  }
12624
12628
 
12625
- const version = "3.5.34";
12629
+ const version = "3.5.35";
12626
12630
  const warn = warn$1 ;
12627
12631
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12628
12632
  const devtools = devtools$1 ;
@@ -13448,12 +13452,37 @@ Component that was made reactive: `,
13448
13452
  } else if (e._vts <= invoker.attached) {
13449
13453
  return;
13450
13454
  }
13451
- callWithAsyncErrorHandling(
13452
- patchStopImmediatePropagation(e, invoker.value),
13453
- instance,
13454
- 5,
13455
- [e]
13456
- );
13455
+ const value = invoker.value;
13456
+ if (isArray(value)) {
13457
+ const originalStop = e.stopImmediatePropagation;
13458
+ e.stopImmediatePropagation = () => {
13459
+ originalStop.call(e);
13460
+ e._stopped = true;
13461
+ };
13462
+ const handlers = value.slice();
13463
+ const args = [e];
13464
+ for (let i = 0; i < handlers.length; i++) {
13465
+ if (e._stopped) {
13466
+ break;
13467
+ }
13468
+ const handler = handlers[i];
13469
+ if (handler) {
13470
+ callWithAsyncErrorHandling(
13471
+ handler,
13472
+ instance,
13473
+ 5,
13474
+ args
13475
+ );
13476
+ }
13477
+ }
13478
+ } else {
13479
+ callWithAsyncErrorHandling(
13480
+ value,
13481
+ instance,
13482
+ 5,
13483
+ [e]
13484
+ );
13485
+ }
13457
13486
  };
13458
13487
  invoker.value = initialValue;
13459
13488
  invoker.attached = getNow();
@@ -13469,20 +13498,6 @@ Expected function or array of functions, received type ${typeof value}.`
13469
13498
  );
13470
13499
  return NOOP;
13471
13500
  }
13472
- function patchStopImmediatePropagation(e, value) {
13473
- if (isArray(value)) {
13474
- const originalStop = e.stopImmediatePropagation;
13475
- e.stopImmediatePropagation = () => {
13476
- originalStop.call(e);
13477
- e._stopped = true;
13478
- };
13479
- return value.map(
13480
- (fn) => (e2) => !e2._stopped && fn && fn(e2)
13481
- );
13482
- } else {
13483
- return value;
13484
- }
13485
- }
13486
13501
 
13487
13502
  const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
13488
13503
  key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
@@ -18603,7 +18618,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18603
18618
  const keyProp = findProp(node, `key`, false, true);
18604
18619
  keyProp && keyProp.type === 7;
18605
18620
  let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
18606
- const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
18621
+ const keyProperty = keyExp ? createObjectProperty(`key`, keyExp) : null;
18607
18622
  const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
18608
18623
  const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
18609
18624
  forNode.codegenNode = createVNodeCall(