@vue/compat 3.5.33 → 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.33
2
+ * @vue/compat v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -430,12 +430,18 @@ var Vue = (function () {
430
430
  */
431
431
  this.cleanups = [];
432
432
  this._isPaused = false;
433
+ this._warnOnRun = true;
433
434
  this.__v_skip = true;
434
- this.parent = activeEffectScope;
435
435
  if (!detached && activeEffectScope) {
436
- this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
437
- this
438
- ) - 1;
436
+ if (activeEffectScope.active) {
437
+ this.parent = activeEffectScope;
438
+ this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
439
+ this
440
+ ) - 1;
441
+ } else {
442
+ this._active = false;
443
+ this._warnOnRun = false;
444
+ }
439
445
  }
440
446
  }
441
447
  get active() {
@@ -483,7 +489,7 @@ var Vue = (function () {
483
489
  } finally {
484
490
  activeEffectScope = currentEffectScope;
485
491
  }
486
- } else {
492
+ } else if (this._warnOnRun) {
487
493
  warn$2(`cannot run an inactive effect scope.`);
488
494
  }
489
495
  }
@@ -589,8 +595,12 @@ var Vue = (function () {
589
595
  */
590
596
  this.cleanup = void 0;
591
597
  this.scheduler = void 0;
592
- if (activeEffectScope && activeEffectScope.active) {
593
- activeEffectScope.effects.push(this);
598
+ if (activeEffectScope) {
599
+ if (activeEffectScope.active) {
600
+ activeEffectScope.effects.push(this);
601
+ } else {
602
+ this.flags &= -2;
603
+ }
594
604
  }
595
605
  }
596
606
  pause() {
@@ -1738,9 +1748,6 @@ var Vue = (function () {
1738
1748
  return 0 /* INVALID */;
1739
1749
  }
1740
1750
  }
1741
- function getTargetType(value) {
1742
- return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1743
- }
1744
1751
  // @__NO_SIDE_EFFECTS__
1745
1752
  function reactive(target) {
1746
1753
  if (/* @__PURE__ */ isReadonly(target)) {
@@ -1798,14 +1805,17 @@ var Vue = (function () {
1798
1805
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1799
1806
  return target;
1800
1807
  }
1801
- const targetType = getTargetType(target);
1802
- if (targetType === 0 /* INVALID */) {
1808
+ if (target["__v_skip"] || !Object.isExtensible(target)) {
1803
1809
  return target;
1804
1810
  }
1805
1811
  const existingProxy = proxyMap.get(target);
1806
1812
  if (existingProxy) {
1807
1813
  return existingProxy;
1808
1814
  }
1815
+ const targetType = targetTypeMap(toRawType(target));
1816
+ if (targetType === 0 /* INVALID */) {
1817
+ return target;
1818
+ }
1809
1819
  const proxy = new Proxy(
1810
1820
  target,
1811
1821
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -3929,19 +3939,18 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3929
3939
  target,
3930
3940
  props
3931
3941
  } = vnode;
3932
- let shouldRemove = doRemove || !isTeleportDisabled(props);
3942
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
3933
3943
  const pendingMount = pendingMounts.get(vnode);
3934
3944
  if (pendingMount) {
3935
3945
  pendingMount.flags |= 8;
3936
3946
  pendingMounts.delete(vnode);
3937
- shouldRemove = false;
3938
3947
  }
3939
3948
  if (target) {
3940
3949
  hostRemove(targetStart);
3941
3950
  hostRemove(targetAnchor);
3942
3951
  }
3943
3952
  doRemove && hostRemove(anchor);
3944
- if (shapeFlag & 16) {
3953
+ if (!pendingMount && shapeFlag & 16) {
3945
3954
  for (let i = 0; i < children.length; i++) {
3946
3955
  const child = children[i];
3947
3956
  unmount(
@@ -4912,20 +4921,16 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4912
4921
  slotScopeIds,
4913
4922
  optimized
4914
4923
  );
4915
- let hasWarned = false;
4916
- while (next) {
4917
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
4918
- if (!hasWarned) {
4919
- warn$1(
4920
- `Hydration children mismatch on`,
4921
- el,
4922
- `
4924
+ if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {
4925
+ warn$1(
4926
+ `Hydration children mismatch on`,
4927
+ el,
4928
+ `
4923
4929
  Server rendered element contains more child nodes than client vdom.`
4924
- );
4925
- hasWarned = true;
4926
- }
4927
- logMismatchError();
4928
- }
4930
+ );
4931
+ logMismatchError();
4932
+ }
4933
+ while (next) {
4929
4934
  const cur = next;
4930
4935
  next = next.nextSibling;
4931
4936
  remove(cur);
@@ -4988,7 +4993,7 @@ Server rendered element contains more child nodes than client vdom.`
4988
4993
  optimized = optimized || !!parentVNode.dynamicChildren;
4989
4994
  const children = parentVNode.children;
4990
4995
  const l = children.length;
4991
- let hasWarned = false;
4996
+ let hasCheckedMismatch = false;
4992
4997
  for (let i = 0; i < l; i++) {
4993
4998
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
4994
4999
  const isText = vnode.type === Text;
@@ -5016,17 +5021,17 @@ Server rendered element contains more child nodes than client vdom.`
5016
5021
  } else if (isText && !vnode.children) {
5017
5022
  insert(vnode.el = createText(""), container);
5018
5023
  } else {
5019
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5020
- if (!hasWarned) {
5024
+ if (!hasCheckedMismatch) {
5025
+ hasCheckedMismatch = true;
5026
+ if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5021
5027
  warn$1(
5022
5028
  `Hydration children mismatch on`,
5023
5029
  container,
5024
5030
  `
5025
5031
  Server rendered element contains fewer child nodes than client vdom.`
5026
5032
  );
5027
- hasWarned = true;
5033
+ logMismatchError();
5028
5034
  }
5029
- logMismatchError();
5030
5035
  }
5031
5036
  patch(
5032
5037
  null,
@@ -7503,7 +7508,7 @@ If this is a native custom element, make sure to exclude it from component resol
7503
7508
  return vm;
7504
7509
  }
7505
7510
  }
7506
- Vue.version = `2.6.14-compat:${"3.5.33"}`;
7511
+ Vue.version = `2.6.14-compat:${"3.5.35"}`;
7507
7512
  Vue.config = singletonApp.config;
7508
7513
  Vue.use = (plugin, ...options) => {
7509
7514
  if (plugin && isFunction(plugin.install)) {
@@ -9138,7 +9143,7 @@ If you want to remount the same app, move your app creation logic into a factory
9138
9143
  const receivedType = toRawType(value);
9139
9144
  const expectedValue = styleValue(value, expectedType);
9140
9145
  const receivedValue = styleValue(value, receivedType);
9141
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
9146
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
9142
9147
  message += ` with value ${expectedValue}`;
9143
9148
  }
9144
9149
  message += `, got ${receivedType} `;
@@ -9148,7 +9153,9 @@ If you want to remount the same app, move your app creation logic into a factory
9148
9153
  return message;
9149
9154
  }
9150
9155
  function styleValue(value, type) {
9151
- if (type === "String") {
9156
+ if (isSymbol(value)) {
9157
+ return value.toString();
9158
+ } else if (type === "String") {
9152
9159
  return `"${value}"`;
9153
9160
  } else if (type === "Number") {
9154
9161
  return `${Number(value)}`;
@@ -9160,8 +9167,11 @@ If you want to remount the same app, move your app creation logic into a factory
9160
9167
  const explicitTypes = ["string", "number", "boolean"];
9161
9168
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
9162
9169
  }
9163
- function isBoolean(...args) {
9164
- return args.some((elem) => elem.toLowerCase() === "boolean");
9170
+ function isCoercible(...args) {
9171
+ return args.every((elem) => {
9172
+ const value = elem.toLowerCase();
9173
+ return value !== "boolean" && value !== "symbol";
9174
+ });
9165
9175
  }
9166
9176
 
9167
9177
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -10504,9 +10514,13 @@ If you want to remount the same app, move your app creation logic into a factory
10504
10514
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
10505
10515
  if (needTransition2) {
10506
10516
  if (moveType === 0) {
10507
- transition.beforeEnter(el);
10508
- hostInsert(el, container, anchor);
10509
- 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
+ }
10510
10524
  } else {
10511
10525
  const { leave, delayLeave, afterLeave } = transition;
10512
10526
  const remove2 = () => {
@@ -10517,16 +10531,21 @@ If you want to remount the same app, move your app creation logic into a factory
10517
10531
  }
10518
10532
  };
10519
10533
  const performLeave = () => {
10534
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
10520
10535
  if (el._isLeaving) {
10521
10536
  el[leaveCbKey](
10522
10537
  true
10523
10538
  /* cancelled */
10524
10539
  );
10525
10540
  }
10526
- leave(el, () => {
10541
+ if (transition.persisted && !wasLeaving) {
10527
10542
  remove2();
10528
- afterLeave && afterLeave();
10529
- });
10543
+ } else {
10544
+ leave(el, () => {
10545
+ remove2();
10546
+ afterLeave && afterLeave();
10547
+ });
10548
+ }
10530
10549
  };
10531
10550
  if (delayLeave) {
10532
10551
  delayLeave(el, remove2, performLeave);
@@ -11215,13 +11234,14 @@ If you want to remount the same app, move your app creation logic into a factory
11215
11234
  suspense.isHydrating = false;
11216
11235
  } else if (!resume) {
11217
11236
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
11237
+ let hasUpdatedAnchor = false;
11218
11238
  if (delayEnter) {
11219
11239
  activeBranch.transition.afterLeave = () => {
11220
11240
  if (pendingId === suspense.pendingId) {
11221
11241
  move(
11222
11242
  pendingBranch,
11223
11243
  container2,
11224
- anchor === initialAnchor ? next(activeBranch) : anchor,
11244
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
11225
11245
  0
11226
11246
  );
11227
11247
  queuePostFlushCb(effects);
@@ -11234,6 +11254,7 @@ If you want to remount the same app, move your app creation logic into a factory
11234
11254
  if (activeBranch && !suspense.isFallbackMountPending) {
11235
11255
  if (parentNode(activeBranch.el) === container2) {
11236
11256
  anchor = next(activeBranch);
11257
+ hasUpdatedAnchor = true;
11237
11258
  }
11238
11259
  unmount(activeBranch, parentComponent2, suspense, true);
11239
11260
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -12605,7 +12626,7 @@ Component that was made reactive: `,
12605
12626
  return true;
12606
12627
  }
12607
12628
 
12608
- const version = "3.5.33";
12629
+ const version = "3.5.35";
12609
12630
  const warn = warn$1 ;
12610
12631
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12611
12632
  const devtools = devtools$1 ;
@@ -13431,12 +13452,37 @@ Component that was made reactive: `,
13431
13452
  } else if (e._vts <= invoker.attached) {
13432
13453
  return;
13433
13454
  }
13434
- callWithAsyncErrorHandling(
13435
- patchStopImmediatePropagation(e, invoker.value),
13436
- instance,
13437
- 5,
13438
- [e]
13439
- );
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
+ }
13440
13486
  };
13441
13487
  invoker.value = initialValue;
13442
13488
  invoker.attached = getNow();
@@ -13452,20 +13498,6 @@ Expected function or array of functions, received type ${typeof value}.`
13452
13498
  );
13453
13499
  return NOOP;
13454
13500
  }
13455
- function patchStopImmediatePropagation(e, value) {
13456
- if (isArray(value)) {
13457
- const originalStop = e.stopImmediatePropagation;
13458
- e.stopImmediatePropagation = () => {
13459
- originalStop.call(e);
13460
- e._stopped = true;
13461
- };
13462
- return value.map(
13463
- (fn) => (e2) => !e2._stopped && fn && fn(e2)
13464
- );
13465
- } else {
13466
- return value;
13467
- }
13468
- }
13469
13501
 
13470
13502
  const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
13471
13503
  key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
@@ -18586,7 +18618,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18586
18618
  const keyProp = findProp(node, `key`, false, true);
18587
18619
  keyProp && keyProp.type === 7;
18588
18620
  let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
18589
- const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
18621
+ const keyProperty = keyExp ? createObjectProperty(`key`, keyExp) : null;
18590
18622
  const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
18591
18623
  const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
18592
18624
  forNode.codegenNode = createVNodeCall(