@vue/compat 3.4.23 → 3.4.25

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.25
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,21 @@ 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 (children) {
4530
+ if (shapeFlag & 16) {
4531
+ return children[0];
4532
+ }
4533
+ if (shapeFlag & 32 && isFunction(children.default)) {
4534
+ return children.default();
4535
+ }
4536
+ }
4533
4537
  }
4534
4538
  function setTransitionHooks(vnode, hooks) {
4535
4539
  if (vnode.shapeFlag & 6 && vnode.component) {
@@ -6541,7 +6545,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6541
6545
  return vm;
6542
6546
  }
6543
6547
  }
6544
- Vue.version = `2.6.14-compat:${"3.4.23"}`;
6548
+ Vue.version = `2.6.14-compat:${"3.4.25"}`;
6545
6549
  Vue.config = singletonApp.config;
6546
6550
  Vue.use = (p, ...options) => {
6547
6551
  if (p && isFunction(p.install)) {
@@ -7178,7 +7182,7 @@ function shouldSkipAttr(key, instance) {
7178
7182
  return false;
7179
7183
  }
7180
7184
 
7181
- const internalObjectProto = /* @__PURE__ */ Object.create(null);
7185
+ const internalObjectProto = {};
7182
7186
  const createInternalObject = () => Object.create(internalObjectProto);
7183
7187
  const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
7184
7188
 
@@ -7660,23 +7664,17 @@ const normalizeVNodeSlots = (instance, children) => {
7660
7664
  instance.slots.default = () => normalized;
7661
7665
  };
7662
7666
  const initSlots = (instance, children) => {
7667
+ const slots = instance.slots = createInternalObject();
7663
7668
  if (instance.vnode.shapeFlag & 32) {
7664
7669
  const type = children._;
7665
7670
  if (type) {
7666
- instance.slots = toRaw(children);
7667
- def(instance.slots, "_", type);
7671
+ extend(slots, children);
7672
+ def(slots, "_", type);
7668
7673
  } 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);
7674
+ normalizeObjectSlots(children, slots, instance);
7679
7675
  }
7676
+ } else if (children) {
7677
+ normalizeVNodeSlots(instance, children);
7680
7678
  }
7681
7679
  };
7682
7680
  const updateSlots = (instance, children, optimized) => {
@@ -11377,7 +11375,7 @@ function isMemoSame(cached, memo) {
11377
11375
  return true;
11378
11376
  }
11379
11377
 
11380
- const version = "3.4.23";
11378
+ const version = "3.4.25";
11381
11379
  const warn = warn$1 ;
11382
11380
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11383
11381
  const devtools = devtools$1 ;
@@ -11614,8 +11612,8 @@ function resolveTransitionProps(rawProps) {
11614
11612
  if (legacyClassEnabled && legacyLeaveFromClass) {
11615
11613
  addTransitionClass(el, legacyLeaveFromClass);
11616
11614
  }
11617
- forceReflow();
11618
11615
  addTransitionClass(el, leaveActiveClass);
11616
+ forceReflow();
11619
11617
  nextFrame(() => {
11620
11618
  if (!el._isLeaving) {
11621
11619
  return;
@@ -15770,6 +15768,7 @@ function createTransformContext(root, {
15770
15768
  vOnce: 0
15771
15769
  },
15772
15770
  parent: null,
15771
+ grandParent: null,
15773
15772
  currentNode: root,
15774
15773
  childIndex: 0,
15775
15774
  inVOnce: false,
@@ -15916,6 +15915,7 @@ function traverseChildren(parent, context) {
15916
15915
  const child = parent.children[i];
15917
15916
  if (isString(child))
15918
15917
  continue;
15918
+ context.grandParent = context.parent;
15919
15919
  context.parent = parent;
15920
15920
  context.childIndex = i;
15921
15921
  context.onNodeRemoved = nodeRemoved;
@@ -17489,6 +17489,16 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
17489
17489
  if (arg)
17490
17490
  mergeArgs.push(arg);
17491
17491
  };
17492
+ const pushRefVForMarker = () => {
17493
+ if (context.scopes.vFor > 0) {
17494
+ properties.push(
17495
+ createObjectProperty(
17496
+ createSimpleExpression("ref_for", true),
17497
+ createSimpleExpression("true")
17498
+ )
17499
+ );
17500
+ }
17501
+ };
17492
17502
  const analyzePatchFlag = ({ key, value }) => {
17493
17503
  if (isStaticExp(key)) {
17494
17504
  const name = key.content;
@@ -17532,14 +17542,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
17532
17542
  let isStatic = true;
17533
17543
  if (name === "ref") {
17534
17544
  hasRef = true;
17535
- if (context.scopes.vFor > 0) {
17536
- properties.push(
17537
- createObjectProperty(
17538
- createSimpleExpression("ref_for", true),
17539
- createSimpleExpression("true")
17540
- )
17541
- );
17542
- }
17545
+ pushRefVForMarker();
17543
17546
  }
17544
17547
  if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || isCompatEnabled(
17545
17548
  "COMPILER_IS_ON_ELEMENT",
@@ -17589,18 +17592,14 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
17589
17592
  ) {
17590
17593
  shouldUseBlock = true;
17591
17594
  }
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
- );
17595
+ if (isVBind && isStaticArgOf(arg, "ref")) {
17596
+ pushRefVForMarker();
17599
17597
  }
17600
17598
  if (!arg && (isVBind || isVOn)) {
17601
17599
  hasDynamicKeys = true;
17602
17600
  if (exp) {
17603
17601
  if (isVBind) {
17602
+ pushRefVForMarker();
17604
17603
  pushMergeArg();
17605
17604
  {
17606
17605
  {
@@ -19014,8 +19013,7 @@ ${codeFrame}` : message);
19014
19013
  registerRuntimeCompiler(compileToFunction);
19015
19014
  const Vue = createCompatVue();
19016
19015
  Vue.compile = compileToFunction;
19017
- var Vue$1 = Vue;
19018
19016
 
19019
- const { configureCompat } = Vue$1;
19017
+ const { configureCompat } = Vue;
19020
19018
 
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 };
19019
+ 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 };