@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
  **/
@@ -4004,6 +4004,7 @@ function defineAsyncComponent(source) {
4004
4004
  },
4005
4005
  setup() {
4006
4006
  const instance = currentInstance;
4007
+ markAsyncBoundary(instance);
4007
4008
  if (resolvedComp) {
4008
4009
  return () => createInnerComp(resolvedComp, instance);
4009
4010
  }
@@ -4025,8 +4026,6 @@ function defineAsyncComponent(source) {
4025
4026
  error: err
4026
4027
  }) : null;
4027
4028
  });
4028
- } else {
4029
- markAsyncBoundary(instance);
4030
4029
  }
4031
4030
  const loaded = ref(false);
4032
4031
  const error = ref();
@@ -5970,7 +5969,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5970
5969
  return vm;
5971
5970
  }
5972
5971
  }
5973
- Vue.version = `2.6.14-compat:${"3.5.0-alpha.3"}`;
5972
+ Vue.version = `2.6.14-compat:${"3.5.0-alpha.4"}`;
5974
5973
  Vue.config = singletonApp.config;
5975
5974
  Vue.use = (plugin, ...options) => {
5976
5975
  if (plugin && isFunction(plugin.install)) {
@@ -8554,7 +8553,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8554
8553
  const componentUpdateFn = () => {
8555
8554
  if (!instance.isMounted) {
8556
8555
  let vnodeHook;
8557
- const { el, props } = initialVNode;
8556
+ const { el, props, type } = initialVNode;
8558
8557
  const { bm, m, parent } = instance;
8559
8558
  const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
8560
8559
  toggleRecurse(instance, false);
@@ -8591,8 +8590,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8591
8590
  endMeasure(instance, `hydrate`);
8592
8591
  }
8593
8592
  };
8594
- if (isAsyncWrapperVNode) {
8595
- initialVNode.type.__asyncLoader().then(
8593
+ if (isAsyncWrapperVNode && !type.__asyncResolved) {
8594
+ type.__asyncLoader().then(
8596
8595
  // note: we are moving the render call into an async callback,
8597
8596
  // which means it won't track dependencies - but it's ok because
8598
8597
  // a server-rendered async wrapper is already in resolved state
@@ -9744,7 +9743,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9744
9743
  const modifiers = getModelModifiers(props, name);
9745
9744
  const res = customRef((track, trigger) => {
9746
9745
  let localValue;
9747
- let prevSetValue;
9746
+ let prevSetValue = EMPTY_OBJ;
9748
9747
  let prevEmittedValue;
9749
9748
  watchSyncEffect(() => {
9750
9749
  const propValue = props[name];
@@ -9759,7 +9758,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9759
9758
  return options.get ? options.get(localValue) : localValue;
9760
9759
  },
9761
9760
  set(value) {
9762
- if (!hasChanged(value, localValue)) {
9761
+ if (!hasChanged(value, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
9763
9762
  return;
9764
9763
  }
9765
9764
  const rawProps = i.vnode.props;
@@ -9770,7 +9769,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9770
9769
  }
9771
9770
  const emittedValue = options.set ? options.set(value) : value;
9772
9771
  i.emit(`update:${name}`, emittedValue);
9773
- if (value !== emittedValue && value !== prevSetValue && emittedValue === prevEmittedValue) {
9772
+ if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
9774
9773
  trigger();
9775
9774
  }
9776
9775
  prevSetValue = value;
@@ -11486,7 +11485,7 @@ function setupStatefulComponent(instance, isSSR) {
11486
11485
  resetTracking();
11487
11486
  reset();
11488
11487
  if (isPromise(setupResult)) {
11489
- markAsyncBoundary(instance);
11488
+ if (!isAsyncWrapper(instance)) markAsyncBoundary(instance);
11490
11489
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
11491
11490
  if (isSSR) {
11492
11491
  return setupResult.then((resolvedResult) => {
@@ -11991,7 +11990,7 @@ function isMemoSame(cached, memo) {
11991
11990
  return true;
11992
11991
  }
11993
11992
 
11994
- const version = "3.5.0-alpha.3";
11993
+ const version = "3.5.0-alpha.4";
11995
11994
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11996
11995
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11997
11996
  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
  **/
@@ -3988,6 +3988,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3988
3988
  },
3989
3989
  setup() {
3990
3990
  const instance = currentInstance;
3991
+ markAsyncBoundary(instance);
3991
3992
  if (resolvedComp) {
3992
3993
  return () => createInnerComp(resolvedComp, instance);
3993
3994
  }
@@ -4009,8 +4010,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4009
4010
  error: err
4010
4011
  }) : null;
4011
4012
  });
4012
- } else {
4013
- markAsyncBoundary(instance);
4014
4013
  }
4015
4014
  const loaded = ref(false);
4016
4015
  const error = ref();
@@ -5943,7 +5942,7 @@ If this is a native custom element, make sure to exclude it from component resol
5943
5942
  return vm;
5944
5943
  }
5945
5944
  }
5946
- Vue.version = `2.6.14-compat:${"3.5.0-alpha.3"}`;
5945
+ Vue.version = `2.6.14-compat:${"3.5.0-alpha.4"}`;
5947
5946
  Vue.config = singletonApp.config;
5948
5947
  Vue.use = (plugin, ...options) => {
5949
5948
  if (plugin && isFunction(plugin.install)) {
@@ -8476,7 +8475,7 @@ Server rendered element contains fewer child nodes than client vdom.`
8476
8475
  const componentUpdateFn = () => {
8477
8476
  if (!instance.isMounted) {
8478
8477
  let vnodeHook;
8479
- const { el, props } = initialVNode;
8478
+ const { el, props, type } = initialVNode;
8480
8479
  const { bm, m, parent } = instance;
8481
8480
  const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
8482
8481
  toggleRecurse(instance, false);
@@ -8513,8 +8512,8 @@ Server rendered element contains fewer child nodes than client vdom.`
8513
8512
  endMeasure(instance, `hydrate`);
8514
8513
  }
8515
8514
  };
8516
- if (isAsyncWrapperVNode) {
8517
- initialVNode.type.__asyncLoader().then(
8515
+ if (isAsyncWrapperVNode && !type.__asyncResolved) {
8516
+ type.__asyncLoader().then(
8518
8517
  // note: we are moving the render call into an async callback,
8519
8518
  // which means it won't track dependencies - but it's ok because
8520
8519
  // a server-rendered async wrapper is already in resolved state
@@ -9640,7 +9639,7 @@ Server rendered element contains fewer child nodes than client vdom.`
9640
9639
  const modifiers = getModelModifiers(props, name);
9641
9640
  const res = customRef((track, trigger) => {
9642
9641
  let localValue;
9643
- let prevSetValue;
9642
+ let prevSetValue = EMPTY_OBJ;
9644
9643
  let prevEmittedValue;
9645
9644
  watchSyncEffect(() => {
9646
9645
  const propValue = props[name];
@@ -9655,7 +9654,7 @@ Server rendered element contains fewer child nodes than client vdom.`
9655
9654
  return options.get ? options.get(localValue) : localValue;
9656
9655
  },
9657
9656
  set(value) {
9658
- if (!hasChanged(value, localValue)) {
9657
+ if (!hasChanged(value, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
9659
9658
  return;
9660
9659
  }
9661
9660
  const rawProps = i.vnode.props;
@@ -9666,7 +9665,7 @@ Server rendered element contains fewer child nodes than client vdom.`
9666
9665
  }
9667
9666
  const emittedValue = options.set ? options.set(value) : value;
9668
9667
  i.emit(`update:${name}`, emittedValue);
9669
- if (value !== emittedValue && value !== prevSetValue && emittedValue === prevEmittedValue) {
9668
+ if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
9670
9669
  trigger();
9671
9670
  }
9672
9671
  prevSetValue = value;
@@ -11368,7 +11367,7 @@ Component that was made reactive: `,
11368
11367
  resetTracking();
11369
11368
  reset();
11370
11369
  if (isPromise(setupResult)) {
11371
- markAsyncBoundary(instance);
11370
+ if (!isAsyncWrapper(instance)) markAsyncBoundary(instance);
11372
11371
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
11373
11372
  if (isSSR) {
11374
11373
  return setupResult.then((resolvedResult) => {
@@ -11859,7 +11858,7 @@ Component that was made reactive: `,
11859
11858
  return true;
11860
11859
  }
11861
11860
 
11862
- const version = "3.5.0-alpha.3";
11861
+ const version = "3.5.0-alpha.4";
11863
11862
  const warn = warn$1 ;
11864
11863
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11865
11864
  const devtools = devtools$1 ;