@vue/compat 3.4.29 → 3.4.30

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.4.29
2
+ * @vue/compat v3.4.30
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -439,8 +439,10 @@ class ReactiveEffect {
439
439
  for (let i = 0; i < this._depsLength; i++) {
440
440
  const dep = this.deps[i];
441
441
  if (dep.computed) {
442
- if (dep.computed.effect._dirtyLevel === 2)
442
+ if (dep.computed.effect._dirtyLevel === 2) {
443
+ resetTracking();
443
444
  return true;
445
+ }
444
446
  triggerComputed(dep.computed);
445
447
  if (this._dirtyLevel >= 5) {
446
448
  break;
@@ -576,13 +578,13 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
576
578
  var _a;
577
579
  pauseScheduling();
578
580
  for (const effect2 of dep.keys()) {
581
+ let tracking;
579
582
  if (!dep.computed && effect2.computed) {
580
- if (dep.get(effect2) === effect2._trackId && effect2._runnings > 0) {
583
+ if (effect2._runnings > 0 && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
581
584
  effect2._dirtyLevel = 2;
582
585
  continue;
583
586
  }
584
587
  }
585
- let tracking;
586
588
  if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
587
589
  effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
588
590
  if (effect2.computed && effect2._dirtyLevel === 2) {
@@ -1299,8 +1301,11 @@ class ComputedRefImpl {
1299
1301
  }
1300
1302
  get value() {
1301
1303
  const self = toRaw(this);
1304
+ const lastDirtyLevel = self.effect._dirtyLevel;
1302
1305
  if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {
1303
- triggerRefValue(self, 5);
1306
+ if (lastDirtyLevel !== 3) {
1307
+ triggerRefValue(self, 5);
1308
+ }
1304
1309
  }
1305
1310
  trackRefValue(self);
1306
1311
  if (self.effect._dirtyLevel >= 2) {
@@ -3273,7 +3278,6 @@ const SuspenseImpl = {
3273
3278
  }
3274
3279
  },
3275
3280
  hydrate: hydrateSuspense,
3276
- create: createSuspenseBoundary,
3277
3281
  normalize: normalizeSuspenseChildren
3278
3282
  };
3279
3283
  const Suspense = SuspenseImpl ;
@@ -5631,7 +5635,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5631
5635
  return vm;
5632
5636
  }
5633
5637
  }
5634
- Vue.version = `2.6.14-compat:${"3.4.29"}`;
5638
+ Vue.version = `2.6.14-compat:${"3.4.30"}`;
5635
5639
  Vue.config = singletonApp.config;
5636
5640
  Vue.use = (plugin, ...options) => {
5637
5641
  if (plugin && isFunction(plugin.install)) {
@@ -6942,18 +6946,8 @@ function createHydrationFunctions(rendererInternals) {
6942
6946
  let domType = node.nodeType;
6943
6947
  vnode.el = node;
6944
6948
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
6945
- if (!("__vnode" in node)) {
6946
- Object.defineProperty(node, "__vnode", {
6947
- value: vnode,
6948
- enumerable: false
6949
- });
6950
- }
6951
- if (!("__vueParentComponent" in node)) {
6952
- Object.defineProperty(node, "__vueParentComponent", {
6953
- value: parentComponent,
6954
- enumerable: false
6955
- });
6956
- }
6949
+ def(node, "__vnode", vnode, true);
6950
+ def(node, "__vueParentComponent", parentComponent, true);
6957
6951
  }
6958
6952
  if (patchFlag === -2) {
6959
6953
  optimized = false;
@@ -7176,7 +7170,9 @@ Server rendered element contains more child nodes than client vdom.`
7176
7170
  if (props) {
7177
7171
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {
7178
7172
  for (const key in props) {
7179
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
7173
+ if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks
7174
+ // as it could have mutated the DOM in any possible way
7175
+ !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
7180
7176
  logMismatchError();
7181
7177
  }
7182
7178
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -7361,7 +7357,6 @@ Server rendered element contains fewer child nodes than client vdom.`
7361
7357
  return [hydrate, hydrateNode];
7362
7358
  }
7363
7359
  function propHasMismatch(el, key, clientValue, vnode, instance) {
7364
- var _a;
7365
7360
  let mismatchType;
7366
7361
  let mismatchKey;
7367
7362
  let actual;
@@ -7384,13 +7379,8 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
7384
7379
  }
7385
7380
  }
7386
7381
  }
7387
- const root = instance == null ? void 0 : instance.subTree;
7388
- if (vnode === root || // eslint-disable-next-line no-restricted-syntax
7389
- (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
7390
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
7391
- for (const key2 in cssVars) {
7392
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
7393
- }
7382
+ if (instance) {
7383
+ resolveCssVars(instance, vnode, expectedMap);
7394
7384
  }
7395
7385
  if (!isMapEqual(actualMap, expectedMap)) {
7396
7386
  mismatchType = mismatchKey = "style";
@@ -7450,8 +7440,8 @@ function toStyleMap(str) {
7450
7440
  const styleMap = /* @__PURE__ */ new Map();
7451
7441
  for (const item of str.split(";")) {
7452
7442
  let [key, value] = item.split(":");
7453
- key = key == null ? void 0 : key.trim();
7454
- value = value == null ? void 0 : value.trim();
7443
+ key = key.trim();
7444
+ value = value && value.trim();
7455
7445
  if (key && value) {
7456
7446
  styleMap.set(key, value);
7457
7447
  }
@@ -7469,6 +7459,18 @@ function isMapEqual(a, b) {
7469
7459
  }
7470
7460
  return true;
7471
7461
  }
7462
+ function resolveCssVars(instance, vnode, expectedMap) {
7463
+ const root = instance.subTree;
7464
+ if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {
7465
+ const cssVars = instance.getCssVars();
7466
+ for (const key in cssVars) {
7467
+ expectedMap.set(`--${key}`, String(cssVars[key]));
7468
+ }
7469
+ }
7470
+ if (vnode === root && instance.parent) {
7471
+ resolveCssVars(instance.parent, instance.vnode, expectedMap);
7472
+ }
7473
+ }
7472
7474
 
7473
7475
  let supported;
7474
7476
  let perf;
@@ -7813,14 +7815,8 @@ function baseCreateRenderer(options, createHydrationFns) {
7813
7815
  }
7814
7816
  }
7815
7817
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
7816
- Object.defineProperty(el, "__vnode", {
7817
- value: vnode,
7818
- enumerable: false
7819
- });
7820
- Object.defineProperty(el, "__vueParentComponent", {
7821
- value: parentComponent,
7822
- enumerable: false
7823
- });
7818
+ def(el, "__vnode", vnode, true);
7819
+ def(el, "__vueParentComponent", parentComponent, true);
7824
7820
  }
7825
7821
  if (dirs) {
7826
7822
  invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
@@ -7882,6 +7878,9 @@ function baseCreateRenderer(options, createHydrationFns) {
7882
7878
  };
7883
7879
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7884
7880
  const el = n2.el = n1.el;
7881
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
7882
+ el.__vnode = n2;
7883
+ }
7885
7884
  let { patchFlag, dynamicChildren, dirs } = n2;
7886
7885
  patchFlag |= n1.patchFlag & 16;
7887
7886
  const oldProps = n1.props || EMPTY_OBJ;
@@ -8812,6 +8811,9 @@ function baseCreateRenderer(options, createHydrationFns) {
8812
8811
  dirs,
8813
8812
  memoIndex
8814
8813
  } = vnode;
8814
+ if (patchFlag === -2) {
8815
+ optimized = false;
8816
+ }
8815
8817
  if (ref != null) {
8816
8818
  setRef(ref, null, parentSuspense, vnode, true);
8817
8819
  }
@@ -8843,7 +8845,6 @@ function baseCreateRenderer(options, createHydrationFns) {
8843
8845
  vnode,
8844
8846
  parentComponent,
8845
8847
  parentSuspense,
8846
- optimized,
8847
8848
  internals,
8848
8849
  doRemove
8849
8850
  );
@@ -10171,7 +10172,7 @@ const TeleportImpl = {
10171
10172
  }
10172
10173
  updateCssVars(n2);
10173
10174
  },
10174
- remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
10175
+ remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
10175
10176
  const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
10176
10177
  if (target) {
10177
10178
  hostRemove(targetAnchor);
@@ -11450,7 +11451,7 @@ function isMemoSame(cached, memo) {
11450
11451
  return true;
11451
11452
  }
11452
11453
 
11453
- const version = "3.4.29";
11454
+ const version = "3.4.30";
11454
11455
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11455
11456
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11456
11457
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -12093,7 +12094,10 @@ function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBoolean
12093
12094
  if (value == null || isBoolean && !includeBooleanAttr(value)) {
12094
12095
  el.removeAttribute(key);
12095
12096
  } else {
12096
- el.setAttribute(key, isBoolean ? "" : String(value));
12097
+ el.setAttribute(
12098
+ key,
12099
+ isBoolean ? "" : isSymbol(value) ? String(value) : value
12100
+ );
12097
12101
  }
12098
12102
  }
12099
12103
  }
@@ -12295,7 +12299,7 @@ const patchProp = (el, key, prevValue, nextValue, namespace, prevChildren, paren
12295
12299
  parentSuspense,
12296
12300
  unmountChildren
12297
12301
  );
12298
- if (key === "value" || key === "checked" || key === "selected") {
12302
+ if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) {
12299
12303
  patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
12300
12304
  }
12301
12305
  } else {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.29
2
+ * @vue/compat v3.4.30
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -442,8 +442,10 @@ var Vue = (function () {
442
442
  for (let i = 0; i < this._depsLength; i++) {
443
443
  const dep = this.deps[i];
444
444
  if (dep.computed) {
445
- if (dep.computed.effect._dirtyLevel === 2)
445
+ if (dep.computed.effect._dirtyLevel === 2) {
446
+ resetTracking();
446
447
  return true;
448
+ }
447
449
  triggerComputed(dep.computed);
448
450
  if (this._dirtyLevel >= 5) {
449
451
  break;
@@ -579,13 +581,13 @@ var Vue = (function () {
579
581
  var _a;
580
582
  pauseScheduling();
581
583
  for (const effect2 of dep.keys()) {
584
+ let tracking;
582
585
  if (!dep.computed && effect2.computed) {
583
- if (dep.get(effect2) === effect2._trackId && effect2._runnings > 0) {
586
+ if (effect2._runnings > 0 && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
584
587
  effect2._dirtyLevel = 2;
585
588
  continue;
586
589
  }
587
590
  }
588
- let tracking;
589
591
  if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
590
592
  effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
591
593
  if (effect2.computed && effect2._dirtyLevel === 2) {
@@ -1302,8 +1304,11 @@ var Vue = (function () {
1302
1304
  }
1303
1305
  get value() {
1304
1306
  const self = toRaw(this);
1307
+ const lastDirtyLevel = self.effect._dirtyLevel;
1305
1308
  if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {
1306
- triggerRefValue(self, 5);
1309
+ if (lastDirtyLevel !== 3) {
1310
+ triggerRefValue(self, 5);
1311
+ }
1307
1312
  }
1308
1313
  trackRefValue(self);
1309
1314
  if (self.effect._dirtyLevel >= 2) {
@@ -3270,7 +3275,6 @@ If this is a native custom element, make sure to exclude it from component resol
3270
3275
  }
3271
3276
  },
3272
3277
  hydrate: hydrateSuspense,
3273
- create: createSuspenseBoundary,
3274
3278
  normalize: normalizeSuspenseChildren
3275
3279
  };
3276
3280
  const Suspense = SuspenseImpl ;
@@ -5626,7 +5630,7 @@ If this is a native custom element, make sure to exclude it from component resol
5626
5630
  return vm;
5627
5631
  }
5628
5632
  }
5629
- Vue.version = `2.6.14-compat:${"3.4.29"}`;
5633
+ Vue.version = `2.6.14-compat:${"3.4.30"}`;
5630
5634
  Vue.config = singletonApp.config;
5631
5635
  Vue.use = (plugin, ...options) => {
5632
5636
  if (plugin && isFunction(plugin.install)) {
@@ -6935,18 +6939,8 @@ If you want to remount the same app, move your app creation logic into a factory
6935
6939
  let domType = node.nodeType;
6936
6940
  vnode.el = node;
6937
6941
  {
6938
- if (!("__vnode" in node)) {
6939
- Object.defineProperty(node, "__vnode", {
6940
- value: vnode,
6941
- enumerable: false
6942
- });
6943
- }
6944
- if (!("__vueParentComponent" in node)) {
6945
- Object.defineProperty(node, "__vueParentComponent", {
6946
- value: parentComponent,
6947
- enumerable: false
6948
- });
6949
- }
6942
+ def(node, "__vnode", vnode, true);
6943
+ def(node, "__vueParentComponent", parentComponent, true);
6950
6944
  }
6951
6945
  if (patchFlag === -2) {
6952
6946
  optimized = false;
@@ -7169,7 +7163,9 @@ Server rendered element contains more child nodes than client vdom.`
7169
7163
  if (props) {
7170
7164
  {
7171
7165
  for (const key in props) {
7172
- if (propHasMismatch(el, key, props[key], vnode, parentComponent)) {
7166
+ if (// #11189 skip if this node has directives that have created hooks
7167
+ // as it could have mutated the DOM in any possible way
7168
+ !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
7173
7169
  logMismatchError();
7174
7170
  }
7175
7171
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -7344,7 +7340,6 @@ Server rendered element contains fewer child nodes than client vdom.`
7344
7340
  return [hydrate, hydrateNode];
7345
7341
  }
7346
7342
  function propHasMismatch(el, key, clientValue, vnode, instance) {
7347
- var _a;
7348
7343
  let mismatchType;
7349
7344
  let mismatchKey;
7350
7345
  let actual;
@@ -7367,13 +7362,8 @@ Server rendered element contains fewer child nodes than client vdom.`
7367
7362
  }
7368
7363
  }
7369
7364
  }
7370
- const root = instance == null ? void 0 : instance.subTree;
7371
- if (vnode === root || // eslint-disable-next-line no-restricted-syntax
7372
- (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
7373
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
7374
- for (const key2 in cssVars) {
7375
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
7376
- }
7365
+ if (instance) {
7366
+ resolveCssVars(instance, vnode, expectedMap);
7377
7367
  }
7378
7368
  if (!isMapEqual(actualMap, expectedMap)) {
7379
7369
  mismatchType = mismatchKey = "style";
@@ -7433,8 +7423,8 @@ Server rendered element contains fewer child nodes than client vdom.`
7433
7423
  const styleMap = /* @__PURE__ */ new Map();
7434
7424
  for (const item of str.split(";")) {
7435
7425
  let [key, value] = item.split(":");
7436
- key = key == null ? void 0 : key.trim();
7437
- value = value == null ? void 0 : value.trim();
7426
+ key = key.trim();
7427
+ value = value && value.trim();
7438
7428
  if (key && value) {
7439
7429
  styleMap.set(key, value);
7440
7430
  }
@@ -7452,6 +7442,18 @@ Server rendered element contains fewer child nodes than client vdom.`
7452
7442
  }
7453
7443
  return true;
7454
7444
  }
7445
+ function resolveCssVars(instance, vnode, expectedMap) {
7446
+ const root = instance.subTree;
7447
+ if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {
7448
+ const cssVars = instance.getCssVars();
7449
+ for (const key in cssVars) {
7450
+ expectedMap.set(`--${key}`, String(cssVars[key]));
7451
+ }
7452
+ }
7453
+ if (vnode === root && instance.parent) {
7454
+ resolveCssVars(instance.parent, instance.vnode, expectedMap);
7455
+ }
7456
+ }
7455
7457
 
7456
7458
  let supported;
7457
7459
  let perf;
@@ -7769,14 +7771,8 @@ Server rendered element contains fewer child nodes than client vdom.`
7769
7771
  }
7770
7772
  }
7771
7773
  {
7772
- Object.defineProperty(el, "__vnode", {
7773
- value: vnode,
7774
- enumerable: false
7775
- });
7776
- Object.defineProperty(el, "__vueParentComponent", {
7777
- value: parentComponent,
7778
- enumerable: false
7779
- });
7774
+ def(el, "__vnode", vnode, true);
7775
+ def(el, "__vueParentComponent", parentComponent, true);
7780
7776
  }
7781
7777
  if (dirs) {
7782
7778
  invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
@@ -7838,6 +7834,9 @@ Server rendered element contains fewer child nodes than client vdom.`
7838
7834
  };
7839
7835
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7840
7836
  const el = n2.el = n1.el;
7837
+ {
7838
+ el.__vnode = n2;
7839
+ }
7841
7840
  let { patchFlag, dynamicChildren, dirs } = n2;
7842
7841
  patchFlag |= n1.patchFlag & 16;
7843
7842
  const oldProps = n1.props || EMPTY_OBJ;
@@ -8757,6 +8756,9 @@ Server rendered element contains fewer child nodes than client vdom.`
8757
8756
  dirs,
8758
8757
  memoIndex
8759
8758
  } = vnode;
8759
+ if (patchFlag === -2) {
8760
+ optimized = false;
8761
+ }
8760
8762
  if (ref != null) {
8761
8763
  setRef(ref, null, parentSuspense, vnode, true);
8762
8764
  }
@@ -8788,7 +8790,6 @@ Server rendered element contains fewer child nodes than client vdom.`
8788
8790
  vnode,
8789
8791
  parentComponent,
8790
8792
  parentSuspense,
8791
- optimized,
8792
8793
  internals,
8793
8794
  doRemove
8794
8795
  );
@@ -10083,7 +10084,7 @@ Server rendered element contains fewer child nodes than client vdom.`
10083
10084
  }
10084
10085
  updateCssVars(n2);
10085
10086
  },
10086
- remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
10087
+ remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
10087
10088
  const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
10088
10089
  if (target) {
10089
10090
  hostRemove(targetAnchor);
@@ -11334,7 +11335,7 @@ Component that was made reactive: `,
11334
11335
  return true;
11335
11336
  }
11336
11337
 
11337
- const version = "3.4.29";
11338
+ const version = "3.4.30";
11338
11339
  const warn = warn$1 ;
11339
11340
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11340
11341
  const devtools = devtools$1 ;
@@ -11961,7 +11962,10 @@ Component that was made reactive: `,
11961
11962
  if (value == null || isBoolean && !includeBooleanAttr(value)) {
11962
11963
  el.removeAttribute(key);
11963
11964
  } else {
11964
- el.setAttribute(key, isBoolean ? "" : String(value));
11965
+ el.setAttribute(
11966
+ key,
11967
+ isBoolean ? "" : isSymbol(value) ? String(value) : value
11968
+ );
11965
11969
  }
11966
11970
  }
11967
11971
  }
@@ -12163,7 +12167,7 @@ Expected function or array of functions, received type ${typeof value}.`
12163
12167
  parentSuspense,
12164
12168
  unmountChildren
12165
12169
  );
12166
- if (key === "value" || key === "checked" || key === "selected") {
12170
+ if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) {
12167
12171
  patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
12168
12172
  }
12169
12173
  } else {