@vue/compat 3.5.0-alpha.3 → 3.5.0-alpha.4

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.0-alpha.3
2
+ * @vue/compat v3.5.0-alpha.4
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3937,6 +3937,7 @@ function defineAsyncComponent(source) {
3937
3937
  },
3938
3938
  setup() {
3939
3939
  const instance = currentInstance;
3940
+ markAsyncBoundary(instance);
3940
3941
  if (resolvedComp) {
3941
3942
  return () => createInnerComp(resolvedComp, instance);
3942
3943
  }
@@ -3958,8 +3959,6 @@ function defineAsyncComponent(source) {
3958
3959
  error: err
3959
3960
  }) : null;
3960
3961
  });
3961
- } else {
3962
- markAsyncBoundary(instance);
3963
3962
  }
3964
3963
  const loaded = ref(false);
3965
3964
  const error = ref();
@@ -5903,7 +5902,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5903
5902
  return vm;
5904
5903
  }
5905
5904
  }
5906
- Vue.version = `2.6.14-compat:${"3.5.0-alpha.3"}`;
5905
+ Vue.version = `2.6.14-compat:${"3.5.0-alpha.4"}`;
5907
5906
  Vue.config = singletonApp.config;
5908
5907
  Vue.use = (plugin, ...options) => {
5909
5908
  if (plugin && isFunction(plugin.install)) {
@@ -8487,7 +8486,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8487
8486
  const componentUpdateFn = () => {
8488
8487
  if (!instance.isMounted) {
8489
8488
  let vnodeHook;
8490
- const { el, props } = initialVNode;
8489
+ const { el, props, type } = initialVNode;
8491
8490
  const { bm, m, parent } = instance;
8492
8491
  const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
8493
8492
  toggleRecurse(instance, false);
@@ -8524,8 +8523,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8524
8523
  endMeasure(instance, `hydrate`);
8525
8524
  }
8526
8525
  };
8527
- if (isAsyncWrapperVNode) {
8528
- initialVNode.type.__asyncLoader().then(
8526
+ if (isAsyncWrapperVNode && !type.__asyncResolved) {
8527
+ type.__asyncLoader().then(
8529
8528
  // note: we are moving the render call into an async callback,
8530
8529
  // which means it won't track dependencies - but it's ok because
8531
8530
  // a server-rendered async wrapper is already in resolved state
@@ -9677,7 +9676,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9677
9676
  const modifiers = getModelModifiers(props, name);
9678
9677
  const res = customRef((track, trigger) => {
9679
9678
  let localValue;
9680
- let prevSetValue;
9679
+ let prevSetValue = EMPTY_OBJ;
9681
9680
  let prevEmittedValue;
9682
9681
  watchSyncEffect(() => {
9683
9682
  const propValue = props[name];
@@ -9692,7 +9691,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9692
9691
  return options.get ? options.get(localValue) : localValue;
9693
9692
  },
9694
9693
  set(value) {
9695
- if (!hasChanged(value, localValue)) {
9694
+ if (!hasChanged(value, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
9696
9695
  return;
9697
9696
  }
9698
9697
  const rawProps = i.vnode.props;
@@ -9703,7 +9702,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9703
9702
  }
9704
9703
  const emittedValue = options.set ? options.set(value) : value;
9705
9704
  i.emit(`update:${name}`, emittedValue);
9706
- if (value !== emittedValue && value !== prevSetValue && emittedValue === prevEmittedValue) {
9705
+ if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
9707
9706
  trigger();
9708
9707
  }
9709
9708
  prevSetValue = value;
@@ -11419,7 +11418,7 @@ function setupStatefulComponent(instance, isSSR) {
11419
11418
  resetTracking();
11420
11419
  reset();
11421
11420
  if (isPromise(setupResult)) {
11422
- markAsyncBoundary(instance);
11421
+ if (!isAsyncWrapper(instance)) markAsyncBoundary(instance);
11423
11422
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
11424
11423
  if (isSSR) {
11425
11424
  return setupResult.then((resolvedResult) => {
@@ -11924,7 +11923,7 @@ function isMemoSame(cached, memo) {
11924
11923
  return true;
11925
11924
  }
11926
11925
 
11927
- const version = "3.5.0-alpha.3";
11926
+ const version = "3.5.0-alpha.4";
11928
11927
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11929
11928
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11930
11929
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.0-alpha.3
2
+ * @vue/compat v3.5.0-alpha.4
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3921,6 +3921,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3921
3921
  },
3922
3922
  setup() {
3923
3923
  const instance = currentInstance;
3924
+ markAsyncBoundary(instance);
3924
3925
  if (resolvedComp) {
3925
3926
  return () => createInnerComp(resolvedComp, instance);
3926
3927
  }
@@ -3942,8 +3943,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3942
3943
  error: err
3943
3944
  }) : null;
3944
3945
  });
3945
- } else {
3946
- markAsyncBoundary(instance);
3947
3946
  }
3948
3947
  const loaded = ref(false);
3949
3948
  const error = ref();
@@ -5876,7 +5875,7 @@ If this is a native custom element, make sure to exclude it from component resol
5876
5875
  return vm;
5877
5876
  }
5878
5877
  }
5879
- Vue.version = `2.6.14-compat:${"3.5.0-alpha.3"}`;
5878
+ Vue.version = `2.6.14-compat:${"3.5.0-alpha.4"}`;
5880
5879
  Vue.config = singletonApp.config;
5881
5880
  Vue.use = (plugin, ...options) => {
5882
5881
  if (plugin && isFunction(plugin.install)) {
@@ -8409,7 +8408,7 @@ Server rendered element contains fewer child nodes than client vdom.`
8409
8408
  const componentUpdateFn = () => {
8410
8409
  if (!instance.isMounted) {
8411
8410
  let vnodeHook;
8412
- const { el, props } = initialVNode;
8411
+ const { el, props, type } = initialVNode;
8413
8412
  const { bm, m, parent } = instance;
8414
8413
  const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
8415
8414
  toggleRecurse(instance, false);
@@ -8446,8 +8445,8 @@ Server rendered element contains fewer child nodes than client vdom.`
8446
8445
  endMeasure(instance, `hydrate`);
8447
8446
  }
8448
8447
  };
8449
- if (isAsyncWrapperVNode) {
8450
- initialVNode.type.__asyncLoader().then(
8448
+ if (isAsyncWrapperVNode && !type.__asyncResolved) {
8449
+ type.__asyncLoader().then(
8451
8450
  // note: we are moving the render call into an async callback,
8452
8451
  // which means it won't track dependencies - but it's ok because
8453
8452
  // a server-rendered async wrapper is already in resolved state
@@ -9573,7 +9572,7 @@ Server rendered element contains fewer child nodes than client vdom.`
9573
9572
  const modifiers = getModelModifiers(props, name);
9574
9573
  const res = customRef((track, trigger) => {
9575
9574
  let localValue;
9576
- let prevSetValue;
9575
+ let prevSetValue = EMPTY_OBJ;
9577
9576
  let prevEmittedValue;
9578
9577
  watchSyncEffect(() => {
9579
9578
  const propValue = props[name];
@@ -9588,7 +9587,7 @@ Server rendered element contains fewer child nodes than client vdom.`
9588
9587
  return options.get ? options.get(localValue) : localValue;
9589
9588
  },
9590
9589
  set(value) {
9591
- if (!hasChanged(value, localValue)) {
9590
+ if (!hasChanged(value, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
9592
9591
  return;
9593
9592
  }
9594
9593
  const rawProps = i.vnode.props;
@@ -9599,7 +9598,7 @@ Server rendered element contains fewer child nodes than client vdom.`
9599
9598
  }
9600
9599
  const emittedValue = options.set ? options.set(value) : value;
9601
9600
  i.emit(`update:${name}`, emittedValue);
9602
- if (value !== emittedValue && value !== prevSetValue && emittedValue === prevEmittedValue) {
9601
+ if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
9603
9602
  trigger();
9604
9603
  }
9605
9604
  prevSetValue = value;
@@ -11301,7 +11300,7 @@ Component that was made reactive: `,
11301
11300
  resetTracking();
11302
11301
  reset();
11303
11302
  if (isPromise(setupResult)) {
11304
- markAsyncBoundary(instance);
11303
+ if (!isAsyncWrapper(instance)) markAsyncBoundary(instance);
11305
11304
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
11306
11305
  if (isSSR) {
11307
11306
  return setupResult.then((resolvedResult) => {
@@ -11792,7 +11791,7 @@ Component that was made reactive: `,
11792
11791
  return true;
11793
11792
  }
11794
11793
 
11795
- const version = "3.5.0-alpha.3";
11794
+ const version = "3.5.0-alpha.4";
11796
11795
  const warn = warn$1 ;
11797
11796
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11798
11797
  const devtools = devtools$1 ;