@vue/compat 3.5.4 → 3.5.5

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.4
2
+ * @vue/compat v3.5.5
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -596,9 +596,11 @@ function prepareDeps(sub) {
596
596
  function cleanupDeps(sub) {
597
597
  let head;
598
598
  let tail = sub.depsTail;
599
- for (let link = tail; link; link = link.prevDep) {
599
+ let link = tail;
600
+ while (link) {
601
+ const prev = link.prevDep;
600
602
  if (link.version === -1) {
601
- if (link === tail) tail = link.prevDep;
603
+ if (link === tail) tail = prev;
602
604
  removeSub(link);
603
605
  removeDep(link);
604
606
  } else {
@@ -606,6 +608,7 @@ function cleanupDeps(sub) {
606
608
  }
607
609
  link.dep.activeLink = link.prevActiveLink;
608
610
  link.prevActiveLink = void 0;
611
+ link = prev;
609
612
  }
610
613
  sub.deps = head;
611
614
  sub.depsTail = tail;
@@ -734,6 +737,14 @@ function cleanupEffect(e) {
734
737
  }
735
738
 
736
739
  let globalVersion = 0;
740
+ class Link {
741
+ constructor(sub, dep) {
742
+ this.sub = sub;
743
+ this.dep = dep;
744
+ this.version = dep.version;
745
+ this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
746
+ }
747
+ }
737
748
  class Dep {
738
749
  constructor(computed) {
739
750
  this.computed = computed;
@@ -756,16 +767,7 @@ class Dep {
756
767
  }
757
768
  let link = this.activeLink;
758
769
  if (link === void 0 || link.sub !== activeSub) {
759
- link = this.activeLink = {
760
- dep: this,
761
- sub: activeSub,
762
- version: this.version,
763
- nextDep: void 0,
764
- prevDep: void 0,
765
- nextSub: void 0,
766
- prevSub: void 0,
767
- prevActiveLink: void 0
768
- };
770
+ link = this.activeLink = new Link(activeSub, this);
769
771
  if (!activeSub.deps) {
770
772
  activeSub.deps = activeSub.depsTail = link;
771
773
  } else {
@@ -2693,7 +2695,9 @@ function reload(id, newComp) {
2693
2695
  dirtyInstances.delete(instance);
2694
2696
  } else if (instance.parent) {
2695
2697
  queueJob(() => {
2698
+ isHmrUpdating = true;
2696
2699
  instance.parent.update();
2700
+ isHmrUpdating = false;
2697
2701
  dirtyInstances.delete(instance);
2698
2702
  });
2699
2703
  } else if (instance.appContext.reload) {
@@ -3515,6 +3519,9 @@ const TeleportImpl = {
3515
3519
  insert(mainAnchor, container, anchor);
3516
3520
  const mount = (container2, anchor2) => {
3517
3521
  if (shapeFlag & 16) {
3522
+ if (parentComponent && parentComponent.isCE) {
3523
+ parentComponent.ce._teleportTarget = container2;
3524
+ }
3518
3525
  mountChildren(
3519
3526
  children,
3520
3527
  container2,
@@ -4549,7 +4556,11 @@ Server rendered element contains more child nodes than client vdom.`
4549
4556
  remove(cur);
4550
4557
  }
4551
4558
  } else if (shapeFlag & 8) {
4552
- if (el.textContent !== vnode.children) {
4559
+ let clientText = vnode.children;
4560
+ if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) {
4561
+ clientText = clientText.slice(1);
4562
+ }
4563
+ if (el.textContent !== clientText) {
4553
4564
  if (!isMismatchAllowed(el, 0 /* TEXT */)) {
4554
4565
  (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
4555
4566
  `Hydration text content mismatch on`,
@@ -4759,7 +4770,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4759
4770
  }
4760
4771
  };
4761
4772
  const isTemplateNode = (node) => {
4762
- return node.nodeType === 1 && node.tagName.toLowerCase() === "template";
4773
+ return node.nodeType === 1 && node.tagName === "TEMPLATE";
4763
4774
  };
4764
4775
  return [hydrate, hydrateNode];
4765
4776
  }
@@ -5111,7 +5122,7 @@ function defineAsyncComponent(source) {
5111
5122
  load().then(() => {
5112
5123
  loaded.value = true;
5113
5124
  if (instance.parent && isKeepAlive(instance.parent.vnode)) {
5114
- queueJob(instance.parent.update);
5125
+ instance.parent.update();
5115
5126
  }
5116
5127
  }).catch((err) => {
5117
5128
  onError(err);
@@ -7064,7 +7075,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7064
7075
  return vm;
7065
7076
  }
7066
7077
  }
7067
- Vue.version = `2.6.14-compat:${"3.5.4"}`;
7078
+ Vue.version = `2.6.14-compat:${"3.5.5"}`;
7068
7079
  Vue.config = singletonApp.config;
7069
7080
  Vue.use = (plugin, ...options) => {
7070
7081
  if (plugin && isFunction(plugin.install)) {
@@ -8926,6 +8937,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8926
8937
  }
8927
8938
  }
8928
8939
  if (instance.asyncDep) {
8940
+ if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) initialVNode.el = null;
8929
8941
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
8930
8942
  if (!initialVNode.el) {
8931
8943
  const placeholder = instance.subTree = createVNode(Comment);
@@ -12231,7 +12243,7 @@ function isMemoSame(cached, memo) {
12231
12243
  return true;
12232
12244
  }
12233
12245
 
12234
- const version = "3.5.4";
12246
+ const version = "3.5.5";
12235
12247
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12236
12248
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12237
12249
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13219,6 +13231,7 @@ class VueElement extends BaseClass {
13219
13231
  }
13220
13232
  }
13221
13233
  connectedCallback() {
13234
+ if (!this.isConnected) return;
13222
13235
  if (!this.shadowRoot) {
13223
13236
  this._parseSlots();
13224
13237
  }
@@ -13261,7 +13274,7 @@ class VueElement extends BaseClass {
13261
13274
  this._ob = null;
13262
13275
  }
13263
13276
  this._app && this._app.unmount();
13264
- this._instance.ce = void 0;
13277
+ if (this._instance) this._instance.ce = void 0;
13265
13278
  this._app = this._instance = null;
13266
13279
  }
13267
13280
  });
@@ -13480,7 +13493,7 @@ class VueElement extends BaseClass {
13480
13493
  }
13481
13494
  }
13482
13495
  /**
13483
- * Only called when shaddowRoot is false
13496
+ * Only called when shadowRoot is false
13484
13497
  */
13485
13498
  _parseSlots() {
13486
13499
  const slots = this._slots = {};
@@ -13492,10 +13505,10 @@ class VueElement extends BaseClass {
13492
13505
  }
13493
13506
  }
13494
13507
  /**
13495
- * Only called when shaddowRoot is false
13508
+ * Only called when shadowRoot is false
13496
13509
  */
13497
13510
  _renderSlots() {
13498
- const outlets = this.querySelectorAll("slot");
13511
+ const outlets = (this._teleportTarget || this).querySelectorAll("slot");
13499
13512
  const scopeId = this._instance.type.__scopeId;
13500
13513
  for (let i = 0; i < outlets.length; i++) {
13501
13514
  const o = outlets[i];
@@ -13683,7 +13696,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13683
13696
  child,
13684
13697
  resolveTransitionHooks(child, cssTransitionProps, state, instance)
13685
13698
  );
13686
- } else if (!!(process.env.NODE_ENV !== "production")) {
13699
+ } else if (!!(process.env.NODE_ENV !== "production") && child.type !== Text) {
13687
13700
  warn(`<TransitionGroup> children must be keyed.`);
13688
13701
  }
13689
13702
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.4
2
+ * @vue/compat v3.5.5
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -599,9 +599,11 @@ var Vue = (function () {
599
599
  function cleanupDeps(sub) {
600
600
  let head;
601
601
  let tail = sub.depsTail;
602
- for (let link = tail; link; link = link.prevDep) {
602
+ let link = tail;
603
+ while (link) {
604
+ const prev = link.prevDep;
603
605
  if (link.version === -1) {
604
- if (link === tail) tail = link.prevDep;
606
+ if (link === tail) tail = prev;
605
607
  removeSub(link);
606
608
  removeDep(link);
607
609
  } else {
@@ -609,6 +611,7 @@ var Vue = (function () {
609
611
  }
610
612
  link.dep.activeLink = link.prevActiveLink;
611
613
  link.prevActiveLink = void 0;
614
+ link = prev;
612
615
  }
613
616
  sub.deps = head;
614
617
  sub.depsTail = tail;
@@ -737,6 +740,14 @@ var Vue = (function () {
737
740
  }
738
741
 
739
742
  let globalVersion = 0;
743
+ class Link {
744
+ constructor(sub, dep) {
745
+ this.sub = sub;
746
+ this.dep = dep;
747
+ this.version = dep.version;
748
+ this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
749
+ }
750
+ }
740
751
  class Dep {
741
752
  constructor(computed) {
742
753
  this.computed = computed;
@@ -759,16 +770,7 @@ var Vue = (function () {
759
770
  }
760
771
  let link = this.activeLink;
761
772
  if (link === void 0 || link.sub !== activeSub) {
762
- link = this.activeLink = {
763
- dep: this,
764
- sub: activeSub,
765
- version: this.version,
766
- nextDep: void 0,
767
- prevDep: void 0,
768
- nextSub: void 0,
769
- prevSub: void 0,
770
- prevActiveLink: void 0
771
- };
773
+ link = this.activeLink = new Link(activeSub, this);
772
774
  if (!activeSub.deps) {
773
775
  activeSub.deps = activeSub.depsTail = link;
774
776
  } else {
@@ -2681,7 +2683,9 @@ var Vue = (function () {
2681
2683
  dirtyInstances.delete(instance);
2682
2684
  } else if (instance.parent) {
2683
2685
  queueJob(() => {
2686
+ isHmrUpdating = true;
2684
2687
  instance.parent.update();
2688
+ isHmrUpdating = false;
2685
2689
  dirtyInstances.delete(instance);
2686
2690
  });
2687
2691
  } else if (instance.appContext.reload) {
@@ -3500,6 +3504,9 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3500
3504
  insert(mainAnchor, container, anchor);
3501
3505
  const mount = (container2, anchor2) => {
3502
3506
  if (shapeFlag & 16) {
3507
+ if (parentComponent && parentComponent.isCE) {
3508
+ parentComponent.ce._teleportTarget = container2;
3509
+ }
3503
3510
  mountChildren(
3504
3511
  children,
3505
3512
  container2,
@@ -4533,7 +4540,11 @@ Server rendered element contains more child nodes than client vdom.`
4533
4540
  remove(cur);
4534
4541
  }
4535
4542
  } else if (shapeFlag & 8) {
4536
- if (el.textContent !== vnode.children) {
4543
+ let clientText = vnode.children;
4544
+ if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) {
4545
+ clientText = clientText.slice(1);
4546
+ }
4547
+ if (el.textContent !== clientText) {
4537
4548
  if (!isMismatchAllowed(el, 0 /* TEXT */)) {
4538
4549
  warn$1(
4539
4550
  `Hydration text content mismatch on`,
@@ -4732,7 +4743,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4732
4743
  }
4733
4744
  };
4734
4745
  const isTemplateNode = (node) => {
4735
- return node.nodeType === 1 && node.tagName.toLowerCase() === "template";
4746
+ return node.nodeType === 1 && node.tagName === "TEMPLATE";
4736
4747
  };
4737
4748
  return [hydrate, hydrateNode];
4738
4749
  }
@@ -5084,7 +5095,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5084
5095
  load().then(() => {
5085
5096
  loaded.value = true;
5086
5097
  if (instance.parent && isKeepAlive(instance.parent.vnode)) {
5087
- queueJob(instance.parent.update);
5098
+ instance.parent.update();
5088
5099
  }
5089
5100
  }).catch((err) => {
5090
5101
  onError(err);
@@ -7026,7 +7037,7 @@ If this is a native custom element, make sure to exclude it from component resol
7026
7037
  return vm;
7027
7038
  }
7028
7039
  }
7029
- Vue.version = `2.6.14-compat:${"3.5.4"}`;
7040
+ Vue.version = `2.6.14-compat:${"3.5.5"}`;
7030
7041
  Vue.config = singletonApp.config;
7031
7042
  Vue.use = (plugin, ...options) => {
7032
7043
  if (plugin && isFunction(plugin.install)) {
@@ -8848,6 +8859,7 @@ If you want to remount the same app, move your app creation logic into a factory
8848
8859
  }
8849
8860
  }
8850
8861
  if (instance.asyncDep) {
8862
+ if (isHmrUpdating) initialVNode.el = null;
8851
8863
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
8852
8864
  if (!initialVNode.el) {
8853
8865
  const placeholder = instance.subTree = createVNode(Comment);
@@ -12103,7 +12115,7 @@ Component that was made reactive: `,
12103
12115
  return true;
12104
12116
  }
12105
12117
 
12106
- const version = "3.5.4";
12118
+ const version = "3.5.5";
12107
12119
  const warn = warn$1 ;
12108
12120
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12109
12121
  const devtools = devtools$1 ;
@@ -13072,6 +13084,7 @@ Expected function or array of functions, received type ${typeof value}.`
13072
13084
  }
13073
13085
  }
13074
13086
  connectedCallback() {
13087
+ if (!this.isConnected) return;
13075
13088
  if (!this.shadowRoot) {
13076
13089
  this._parseSlots();
13077
13090
  }
@@ -13114,7 +13127,7 @@ Expected function or array of functions, received type ${typeof value}.`
13114
13127
  this._ob = null;
13115
13128
  }
13116
13129
  this._app && this._app.unmount();
13117
- this._instance.ce = void 0;
13130
+ if (this._instance) this._instance.ce = void 0;
13118
13131
  this._app = this._instance = null;
13119
13132
  }
13120
13133
  });
@@ -13333,7 +13346,7 @@ Expected function or array of functions, received type ${typeof value}.`
13333
13346
  }
13334
13347
  }
13335
13348
  /**
13336
- * Only called when shaddowRoot is false
13349
+ * Only called when shadowRoot is false
13337
13350
  */
13338
13351
  _parseSlots() {
13339
13352
  const slots = this._slots = {};
@@ -13345,10 +13358,10 @@ Expected function or array of functions, received type ${typeof value}.`
13345
13358
  }
13346
13359
  }
13347
13360
  /**
13348
- * Only called when shaddowRoot is false
13361
+ * Only called when shadowRoot is false
13349
13362
  */
13350
13363
  _renderSlots() {
13351
- const outlets = this.querySelectorAll("slot");
13364
+ const outlets = (this._teleportTarget || this).querySelectorAll("slot");
13352
13365
  const scopeId = this._instance.type.__scopeId;
13353
13366
  for (let i = 0; i < outlets.length; i++) {
13354
13367
  const o = outlets[i];
@@ -13524,7 +13537,7 @@ Expected function or array of functions, received type ${typeof value}.`
13524
13537
  child,
13525
13538
  resolveTransitionHooks(child, cssTransitionProps, state, instance)
13526
13539
  );
13527
- } else {
13540
+ } else if (child.type !== Text) {
13528
13541
  warn(`<TransitionGroup> children must be keyed.`);
13529
13542
  }
13530
13543
  }