@vue/compat 3.5.4 → 3.5.6

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.6
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -535,7 +535,7 @@ var Vue = (function () {
535
535
  /**
536
536
  * @internal
537
537
  */
538
- this.nextEffect = void 0;
538
+ this.next = void 0;
539
539
  /**
540
540
  * @internal
541
541
  */
@@ -565,9 +565,7 @@ var Vue = (function () {
565
565
  return;
566
566
  }
567
567
  if (!(this.flags & 8)) {
568
- this.flags |= 8;
569
- this.nextEffect = batchedEffect;
570
- batchedEffect = this;
568
+ batch(this);
571
569
  }
572
570
  }
573
571
  run() {
@@ -628,7 +626,12 @@ var Vue = (function () {
628
626
  }
629
627
  }
630
628
  let batchDepth = 0;
631
- let batchedEffect;
629
+ let batchedSub;
630
+ function batch(sub) {
631
+ sub.flags |= 8;
632
+ sub.next = batchedSub;
633
+ batchedSub = sub;
634
+ }
632
635
  function startBatch() {
633
636
  batchDepth++;
634
637
  }
@@ -637,15 +640,16 @@ var Vue = (function () {
637
640
  return;
638
641
  }
639
642
  let error;
640
- while (batchedEffect) {
641
- let e = batchedEffect;
642
- batchedEffect = void 0;
643
+ while (batchedSub) {
644
+ let e = batchedSub;
645
+ batchedSub = void 0;
643
646
  while (e) {
644
- const next = e.nextEffect;
645
- e.nextEffect = void 0;
647
+ const next = e.next;
648
+ e.next = void 0;
646
649
  e.flags &= ~8;
647
650
  if (e.flags & 1) {
648
651
  try {
652
+ ;
649
653
  e.trigger();
650
654
  } catch (err) {
651
655
  if (!error) error = err;
@@ -666,9 +670,11 @@ var Vue = (function () {
666
670
  function cleanupDeps(sub) {
667
671
  let head;
668
672
  let tail = sub.depsTail;
669
- for (let link = tail; link; link = link.prevDep) {
673
+ let link = tail;
674
+ while (link) {
675
+ const prev = link.prevDep;
670
676
  if (link.version === -1) {
671
- if (link === tail) tail = link.prevDep;
677
+ if (link === tail) tail = prev;
672
678
  removeSub(link);
673
679
  removeDep(link);
674
680
  } else {
@@ -676,13 +682,14 @@ var Vue = (function () {
676
682
  }
677
683
  link.dep.activeLink = link.prevActiveLink;
678
684
  link.prevActiveLink = void 0;
685
+ link = prev;
679
686
  }
680
687
  sub.deps = head;
681
688
  sub.depsTail = tail;
682
689
  }
683
690
  function isDirty(sub) {
684
691
  for (let link = sub.deps; link; link = link.nextDep) {
685
- if (link.dep.version !== link.version || link.dep.computed && refreshComputed(link.dep.computed) || link.dep.version !== link.version) {
692
+ if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {
686
693
  return true;
687
694
  }
688
695
  }
@@ -702,7 +709,7 @@ var Vue = (function () {
702
709
  computed.globalVersion = globalVersion;
703
710
  const dep = computed.dep;
704
711
  computed.flags |= 2;
705
- if (dep.version > 0 && !computed.isSSR && !isDirty(computed)) {
712
+ if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
706
713
  computed.flags &= ~2;
707
714
  return;
708
715
  }
@@ -804,6 +811,14 @@ var Vue = (function () {
804
811
  }
805
812
 
806
813
  let globalVersion = 0;
814
+ class Link {
815
+ constructor(sub, dep) {
816
+ this.sub = sub;
817
+ this.dep = dep;
818
+ this.version = dep.version;
819
+ this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
820
+ }
821
+ }
807
822
  class Dep {
808
823
  constructor(computed) {
809
824
  this.computed = computed;
@@ -826,16 +841,7 @@ var Vue = (function () {
826
841
  }
827
842
  let link = this.activeLink;
828
843
  if (link === void 0 || link.sub !== activeSub) {
829
- link = this.activeLink = {
830
- dep: this,
831
- sub: activeSub,
832
- version: this.version,
833
- nextDep: void 0,
834
- prevDep: void 0,
835
- nextSub: void 0,
836
- prevSub: void 0,
837
- prevActiveLink: void 0
838
- };
844
+ link = this.activeLink = new Link(activeSub, this);
839
845
  if (!activeSub.deps) {
840
846
  activeSub.deps = activeSub.depsTail = link;
841
847
  } else {
@@ -898,7 +904,10 @@ var Vue = (function () {
898
904
  }
899
905
  }
900
906
  for (let link = this.subs; link; link = link.prevSub) {
901
- link.sub.notify();
907
+ if (link.sub.notify()) {
908
+ ;
909
+ link.sub.dep.notify();
910
+ }
902
911
  }
903
912
  } finally {
904
913
  endBatch();
@@ -1967,8 +1976,10 @@ var Vue = (function () {
1967
1976
  */
1968
1977
  notify() {
1969
1978
  this.flags |= 16;
1970
- if (activeSub !== this) {
1971
- this.dep.notify();
1979
+ if (!(this.flags & 8) && // avoid infinite self recursion
1980
+ activeSub !== this) {
1981
+ batch(this);
1982
+ return true;
1972
1983
  }
1973
1984
  }
1974
1985
  get value() {
@@ -2116,20 +2127,12 @@ var Vue = (function () {
2116
2127
  remove(scope.effects, effect);
2117
2128
  }
2118
2129
  };
2119
- if (once) {
2120
- if (cb) {
2121
- const _cb = cb;
2122
- cb = (...args) => {
2123
- _cb(...args);
2124
- watchHandle();
2125
- };
2126
- } else {
2127
- const _getter = getter;
2128
- getter = () => {
2129
- _getter();
2130
- watchHandle();
2131
- };
2132
- }
2130
+ if (once && cb) {
2131
+ const _cb = cb;
2132
+ cb = (...args) => {
2133
+ _cb(...args);
2134
+ watchHandle();
2135
+ };
2133
2136
  }
2134
2137
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
2135
2138
  const job = (immediateFirstRun) => {
@@ -2748,7 +2751,9 @@ var Vue = (function () {
2748
2751
  dirtyInstances.delete(instance);
2749
2752
  } else if (instance.parent) {
2750
2753
  queueJob(() => {
2754
+ isHmrUpdating = true;
2751
2755
  instance.parent.update();
2756
+ isHmrUpdating = false;
2752
2757
  dirtyInstances.delete(instance);
2753
2758
  });
2754
2759
  } else if (instance.appContext.reload) {
@@ -3567,6 +3572,9 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3567
3572
  insert(mainAnchor, container, anchor);
3568
3573
  const mount = (container2, anchor2) => {
3569
3574
  if (shapeFlag & 16) {
3575
+ if (parentComponent && parentComponent.isCE) {
3576
+ parentComponent.ce._teleportTarget = container2;
3577
+ }
3570
3578
  mountChildren(
3571
3579
  children,
3572
3580
  container2,
@@ -4600,7 +4608,11 @@ Server rendered element contains more child nodes than client vdom.`
4600
4608
  remove(cur);
4601
4609
  }
4602
4610
  } else if (shapeFlag & 8) {
4603
- if (el.textContent !== vnode.children) {
4611
+ let clientText = vnode.children;
4612
+ if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) {
4613
+ clientText = clientText.slice(1);
4614
+ }
4615
+ if (el.textContent !== clientText) {
4604
4616
  if (!isMismatchAllowed(el, 0 /* TEXT */)) {
4605
4617
  warn$1(
4606
4618
  `Hydration text content mismatch on`,
@@ -4799,7 +4811,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4799
4811
  }
4800
4812
  };
4801
4813
  const isTemplateNode = (node) => {
4802
- return node.nodeType === 1 && node.tagName.toLowerCase() === "template";
4814
+ return node.nodeType === 1 && node.tagName === "TEMPLATE";
4803
4815
  };
4804
4816
  return [hydrate, hydrateNode];
4805
4817
  }
@@ -5151,7 +5163,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5151
5163
  load().then(() => {
5152
5164
  loaded.value = true;
5153
5165
  if (instance.parent && isKeepAlive(instance.parent.vnode)) {
5154
- queueJob(instance.parent.update);
5166
+ instance.parent.update();
5155
5167
  }
5156
5168
  }).catch((err) => {
5157
5169
  onError(err);
@@ -7093,7 +7105,7 @@ If this is a native custom element, make sure to exclude it from component resol
7093
7105
  return vm;
7094
7106
  }
7095
7107
  }
7096
- Vue.version = `2.6.14-compat:${"3.5.4"}`;
7108
+ Vue.version = `2.6.14-compat:${"3.5.6"}`;
7097
7109
  Vue.config = singletonApp.config;
7098
7110
  Vue.use = (plugin, ...options) => {
7099
7111
  if (plugin && isFunction(plugin.install)) {
@@ -8915,6 +8927,7 @@ If you want to remount the same app, move your app creation logic into a factory
8915
8927
  }
8916
8928
  }
8917
8929
  if (instance.asyncDep) {
8930
+ if (isHmrUpdating) initialVNode.el = null;
8918
8931
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
8919
8932
  if (!initialVNode.el) {
8920
8933
  const placeholder = instance.subTree = createVNode(Comment);
@@ -12170,7 +12183,7 @@ Component that was made reactive: `,
12170
12183
  return true;
12171
12184
  }
12172
12185
 
12173
- const version = "3.5.4";
12186
+ const version = "3.5.6";
12174
12187
  const warn = warn$1 ;
12175
12188
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12176
12189
  const devtools = devtools$1 ;
@@ -13139,6 +13152,7 @@ Expected function or array of functions, received type ${typeof value}.`
13139
13152
  }
13140
13153
  }
13141
13154
  connectedCallback() {
13155
+ if (!this.isConnected) return;
13142
13156
  if (!this.shadowRoot) {
13143
13157
  this._parseSlots();
13144
13158
  }
@@ -13181,7 +13195,7 @@ Expected function or array of functions, received type ${typeof value}.`
13181
13195
  this._ob = null;
13182
13196
  }
13183
13197
  this._app && this._app.unmount();
13184
- this._instance.ce = void 0;
13198
+ if (this._instance) this._instance.ce = void 0;
13185
13199
  this._app = this._instance = null;
13186
13200
  }
13187
13201
  });
@@ -13400,7 +13414,7 @@ Expected function or array of functions, received type ${typeof value}.`
13400
13414
  }
13401
13415
  }
13402
13416
  /**
13403
- * Only called when shaddowRoot is false
13417
+ * Only called when shadowRoot is false
13404
13418
  */
13405
13419
  _parseSlots() {
13406
13420
  const slots = this._slots = {};
@@ -13412,10 +13426,10 @@ Expected function or array of functions, received type ${typeof value}.`
13412
13426
  }
13413
13427
  }
13414
13428
  /**
13415
- * Only called when shaddowRoot is false
13429
+ * Only called when shadowRoot is false
13416
13430
  */
13417
13431
  _renderSlots() {
13418
- const outlets = this.querySelectorAll("slot");
13432
+ const outlets = (this._teleportTarget || this).querySelectorAll("slot");
13419
13433
  const scopeId = this._instance.type.__scopeId;
13420
13434
  for (let i = 0; i < outlets.length; i++) {
13421
13435
  const o = outlets[i];
@@ -13591,7 +13605,7 @@ Expected function or array of functions, received type ${typeof value}.`
13591
13605
  child,
13592
13606
  resolveTransitionHooks(child, cssTransitionProps, state, instance)
13593
13607
  );
13594
- } else {
13608
+ } else if (child.type !== Text) {
13595
13609
  warn(`<TransitionGroup> children must be keyed.`);
13596
13610
  }
13597
13611
  }
@@ -14792,7 +14806,7 @@ Make sure to use the production build (*.prod.js) when deploying for production.
14792
14806
  this.sequenceIndex += 1;
14793
14807
  } else if (this.sequenceIndex === 0) {
14794
14808
  if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {
14795
- if (c === this.delimiterOpen[0]) {
14809
+ if (!this.inVPre && c === this.delimiterOpen[0]) {
14796
14810
  this.state = 2;
14797
14811
  this.delimiterIndex = 0;
14798
14812
  this.stateInterpolationOpen(c);
@@ -15762,6 +15776,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15762
15776
  getNamespace: () => 0,
15763
15777
  isVoidTag: NO,
15764
15778
  isPreTag: NO,
15779
+ isIgnoreNewlineTag: NO,
15765
15780
  isCustomElement: NO,
15766
15781
  onError: defaultOnError,
15767
15782
  onWarn: defaultOnWarn,
@@ -16204,7 +16219,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16204
16219
  el.innerLoc.end.offset
16205
16220
  );
16206
16221
  }
16207
- const { tag, ns } = el;
16222
+ const { tag, ns, children } = el;
16208
16223
  if (!inVPre) {
16209
16224
  if (tag === "slot") {
16210
16225
  el.tagType = 2;
@@ -16215,7 +16230,13 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16215
16230
  }
16216
16231
  }
16217
16232
  if (!tokenizer.inRCDATA) {
16218
- el.children = condenseWhitespace(el.children, el.tag);
16233
+ el.children = condenseWhitespace(children);
16234
+ }
16235
+ if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) {
16236
+ const first = children[0];
16237
+ if (first && first.type === 2) {
16238
+ first.content = first.content.replace(/^\r?\n/, "");
16239
+ }
16219
16240
  }
16220
16241
  if (ns === 0 && currentOptions.isPreTag(tag)) {
16221
16242
  inPre--;
@@ -16367,12 +16388,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16367
16388
  }
16368
16389
  }
16369
16390
  }
16370
- if (inPre && tag && currentOptions.isPreTag(tag)) {
16371
- const first = nodes[0];
16372
- if (first && first.type === 2) {
16373
- first.content = first.content.replace(/^\r?\n/, "");
16374
- }
16375
- }
16376
16391
  return removedWhitespace ? nodes.filter(Boolean) : nodes;
16377
16392
  }
16378
16393
  function isAllWhitespace(str) {
@@ -19638,6 +19653,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
19638
19653
  isVoidTag,
19639
19654
  isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),
19640
19655
  isPreTag: (tag) => tag === "pre",
19656
+ isIgnoreNewlineTag: (tag) => tag === "pre" || tag === "textarea",
19641
19657
  decodeEntities: decodeHtmlBrowser ,
19642
19658
  isBuiltInComponent: (tag) => {
19643
19659
  if (tag === "Transition" || tag === "transition") {