@vue/compat 3.4.23 → 3.4.24

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.23
2
+ * @vue/compat v3.4.24
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -2535,11 +2535,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
2535
2535
  warnedInvalidKeys[key] = true;
2536
2536
  }
2537
2537
  }
2538
- if (instance && config["OPTIONS_DATA_MERGE"] != null) {
2539
- warn$1(
2540
- `Deprecation config "${"OPTIONS_DATA_MERGE"}" can only be configured globally.`
2541
- );
2542
- }
2543
2538
  }
2544
2539
  function getCompatConfigForKey(key, instance) {
2545
2540
  const instanceConfig = instance && instance.type.compatConfig;
@@ -2922,21 +2917,21 @@ function renderComponentRoot(instance) {
2922
2917
  vnode,
2923
2918
  proxy,
2924
2919
  withProxy,
2925
- props,
2926
2920
  propsOptions: [propsOptions],
2927
2921
  slots,
2928
2922
  attrs,
2929
2923
  emit,
2930
2924
  render,
2931
2925
  renderCache,
2926
+ props,
2932
2927
  data,
2933
2928
  setupState,
2934
2929
  ctx,
2935
2930
  inheritAttrs
2936
2931
  } = instance;
2932
+ const prev = setCurrentRenderingInstance(instance);
2937
2933
  let result;
2938
2934
  let fallthroughAttrs;
2939
- const prev = setCurrentRenderingInstance(instance);
2940
2935
  {
2941
2936
  accessedAttrs = false;
2942
2937
  }
@@ -2958,7 +2953,7 @@ function renderComponentRoot(instance) {
2958
2953
  thisProxy,
2959
2954
  proxyToUse,
2960
2955
  renderCache,
2961
- props,
2956
+ true ? shallowReadonly(props) : props,
2962
2957
  setupState,
2963
2958
  data,
2964
2959
  ctx
@@ -2972,7 +2967,7 @@ function renderComponentRoot(instance) {
2972
2967
  }
2973
2968
  result = normalizeVNode(
2974
2969
  render2.length > 1 ? render2(
2975
- props,
2970
+ true ? shallowReadonly(props) : props,
2976
2971
  true ? {
2977
2972
  get attrs() {
2978
2973
  markAttrsAccessed();
@@ -2982,9 +2977,8 @@ function renderComponentRoot(instance) {
2982
2977
  emit
2983
2978
  } : { attrs, slots, emit }
2984
2979
  ) : render2(
2985
- props,
2980
+ true ? shallowReadonly(props) : props,
2986
2981
  null
2987
- /* we know it doesn't need it */
2988
2982
  )
2989
2983
  );
2990
2984
  fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
@@ -4525,11 +4519,19 @@ function emptyPlaceholder(vnode) {
4525
4519
  }
4526
4520
  }
4527
4521
  function getKeepAliveChild(vnode) {
4528
- return isKeepAlive(vnode) ? (
4529
- // #7121 ensure get the child component subtree in case
4530
- // it's been replaced during HMR
4531
- vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0
4532
- ) : vnode;
4522
+ if (!isKeepAlive(vnode)) {
4523
+ return vnode;
4524
+ }
4525
+ if (vnode.component) {
4526
+ return vnode.component.subTree;
4527
+ }
4528
+ const { shapeFlag, children } = vnode;
4529
+ if (shapeFlag & 16) {
4530
+ return children[0];
4531
+ }
4532
+ if (shapeFlag & 32 && isFunction(children.default)) {
4533
+ return children.default();
4534
+ }
4533
4535
  }
4534
4536
  function setTransitionHooks(vnode, hooks) {
4535
4537
  if (vnode.shapeFlag & 6 && vnode.component) {
@@ -6541,7 +6543,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6541
6543
  return vm;
6542
6544
  }
6543
6545
  }
6544
- Vue.version = `2.6.14-compat:${"3.4.23"}`;
6546
+ Vue.version = `2.6.14-compat:${"3.4.24"}`;
6545
6547
  Vue.config = singletonApp.config;
6546
6548
  Vue.use = (p, ...options) => {
6547
6549
  if (p && isFunction(p.install)) {
@@ -7660,23 +7662,17 @@ const normalizeVNodeSlots = (instance, children) => {
7660
7662
  instance.slots.default = () => normalized;
7661
7663
  };
7662
7664
  const initSlots = (instance, children) => {
7665
+ const slots = instance.slots = createInternalObject();
7663
7666
  if (instance.vnode.shapeFlag & 32) {
7664
7667
  const type = children._;
7665
7668
  if (type) {
7666
- instance.slots = toRaw(children);
7667
- def(instance.slots, "_", type);
7669
+ extend(slots, children);
7670
+ def(slots, "_", type);
7668
7671
  } else {
7669
- normalizeObjectSlots(
7670
- children,
7671
- instance.slots = createInternalObject(),
7672
- instance
7673
- );
7674
- }
7675
- } else {
7676
- instance.slots = createInternalObject();
7677
- if (children) {
7678
- normalizeVNodeSlots(instance, children);
7672
+ normalizeObjectSlots(children, slots, instance);
7679
7673
  }
7674
+ } else if (children) {
7675
+ normalizeVNodeSlots(instance, children);
7680
7676
  }
7681
7677
  };
7682
7678
  const updateSlots = (instance, children, optimized) => {
@@ -11377,7 +11373,7 @@ function isMemoSame(cached, memo) {
11377
11373
  return true;
11378
11374
  }
11379
11375
 
11380
- const version = "3.4.23";
11376
+ const version = "3.4.24";
11381
11377
  const warn = warn$1 ;
11382
11378
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11383
11379
  const devtools = devtools$1 ;
@@ -11614,8 +11610,8 @@ function resolveTransitionProps(rawProps) {
11614
11610
  if (legacyClassEnabled && legacyLeaveFromClass) {
11615
11611
  addTransitionClass(el, legacyLeaveFromClass);
11616
11612
  }
11617
- forceReflow();
11618
11613
  addTransitionClass(el, leaveActiveClass);
11614
+ forceReflow();
11619
11615
  nextFrame(() => {
11620
11616
  if (!el._isLeaving) {
11621
11617
  return;
@@ -15770,6 +15766,7 @@ function createTransformContext(root, {
15770
15766
  vOnce: 0
15771
15767
  },
15772
15768
  parent: null,
15769
+ grandParent: null,
15773
15770
  currentNode: root,
15774
15771
  childIndex: 0,
15775
15772
  inVOnce: false,
@@ -15916,6 +15913,7 @@ function traverseChildren(parent, context) {
15916
15913
  const child = parent.children[i];
15917
15914
  if (isString(child))
15918
15915
  continue;
15916
+ context.grandParent = context.parent;
15919
15917
  context.parent = parent;
15920
15918
  context.childIndex = i;
15921
15919
  context.onNodeRemoved = nodeRemoved;
@@ -17489,6 +17487,16 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
17489
17487
  if (arg)
17490
17488
  mergeArgs.push(arg);
17491
17489
  };
17490
+ const pushRefVForMarker = () => {
17491
+ if (context.scopes.vFor > 0) {
17492
+ properties.push(
17493
+ createObjectProperty(
17494
+ createSimpleExpression("ref_for", true),
17495
+ createSimpleExpression("true")
17496
+ )
17497
+ );
17498
+ }
17499
+ };
17492
17500
  const analyzePatchFlag = ({ key, value }) => {
17493
17501
  if (isStaticExp(key)) {
17494
17502
  const name = key.content;
@@ -17532,14 +17540,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
17532
17540
  let isStatic = true;
17533
17541
  if (name === "ref") {
17534
17542
  hasRef = true;
17535
- if (context.scopes.vFor > 0) {
17536
- properties.push(
17537
- createObjectProperty(
17538
- createSimpleExpression("ref_for", true),
17539
- createSimpleExpression("true")
17540
- )
17541
- );
17542
- }
17543
+ pushRefVForMarker();
17543
17544
  }
17544
17545
  if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || isCompatEnabled(
17545
17546
  "COMPILER_IS_ON_ELEMENT",
@@ -17589,18 +17590,14 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
17589
17590
  ) {
17590
17591
  shouldUseBlock = true;
17591
17592
  }
17592
- if (isVBind && isStaticArgOf(arg, "ref") && context.scopes.vFor > 0) {
17593
- properties.push(
17594
- createObjectProperty(
17595
- createSimpleExpression("ref_for", true),
17596
- createSimpleExpression("true")
17597
- )
17598
- );
17593
+ if (isVBind && isStaticArgOf(arg, "ref")) {
17594
+ pushRefVForMarker();
17599
17595
  }
17600
17596
  if (!arg && (isVBind || isVOn)) {
17601
17597
  hasDynamicKeys = true;
17602
17598
  if (exp) {
17603
17599
  if (isVBind) {
17600
+ pushRefVForMarker();
17604
17601
  pushMergeArg();
17605
17602
  {
17606
17603
  {
@@ -19014,8 +19011,7 @@ ${codeFrame}` : message);
19014
19011
  registerRuntimeCompiler(compileToFunction);
19015
19012
  const Vue = createCompatVue();
19016
19013
  Vue.compile = compileToFunction;
19017
- var Vue$1 = Vue;
19018
19014
 
19019
- const { configureCompat } = Vue$1;
19015
+ const { configureCompat } = Vue;
19020
19016
 
19021
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, Vue$1 as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useModel, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
19017
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, Vue as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useModel, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };