@vue/runtime-core 3.6.0-beta.6 → 3.6.0-beta.7

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/runtime-core v3.6.0-beta.6
2
+ * @vue/runtime-core v3.6.0-beta.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1177,6 +1177,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
1177
1177
  const key = String(vnode.key);
1178
1178
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
1179
1179
  return baseResolveTransitionHooks({
1180
+ isLeaving: () => leavingVNodesCache[key] === vnode,
1180
1181
  setLeavingNodeCache: () => {
1181
1182
  leavingVNodesCache[key] = vnode;
1182
1183
  },
@@ -1195,7 +1196,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
1195
1196
  }, props, state, instance);
1196
1197
  }
1197
1198
  function baseResolveTransitionHooks(context, props, state, instance) {
1198
- const { setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
1199
+ const { isLeaving, setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
1199
1200
  const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;
1200
1201
  const callHook = (hook, args) => {
1201
1202
  hook && callWithAsyncErrorHandling(hook, instance, 9, args);
@@ -1219,6 +1220,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1219
1220
  callHook(hook, [el]);
1220
1221
  },
1221
1222
  enter(el) {
1223
+ if (isLeaving()) return;
1222
1224
  let hook = onEnter;
1223
1225
  let afterHook = onAfterEnter;
1224
1226
  let cancelHook = onEnterCancelled;
@@ -2867,11 +2869,16 @@ function withAsyncContext(getAwaitable) {
2867
2869
  if (!ctx) warn$1("withAsyncContext called without active current instance. This is likely a bug.");
2868
2870
  let awaitable = getAwaitable();
2869
2871
  setCurrentInstance(null, void 0);
2872
+ const cleanup = () => setCurrentInstance(null, void 0);
2870
2873
  if ((0, _vue_shared.isPromise)(awaitable)) awaitable = awaitable.catch((e) => {
2871
2874
  setCurrentInstance(ctx);
2875
+ Promise.resolve().then(() => Promise.resolve().then(cleanup));
2872
2876
  throw e;
2873
2877
  });
2874
- return [awaitable, () => setCurrentInstance(ctx)];
2878
+ return [awaitable, () => {
2879
+ setCurrentInstance(ctx);
2880
+ Promise.resolve().then(cleanup);
2881
+ }];
2875
2882
  }
2876
2883
 
2877
2884
  //#endregion
@@ -4087,7 +4094,7 @@ function baseCreateRenderer(options, createHydrationFns) {
4087
4094
  processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
4088
4095
  break;
4089
4096
  case VaporSlot:
4090
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent);
4097
+ getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense);
4091
4098
  break;
4092
4099
  default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
4093
4100
  else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
@@ -6102,7 +6109,7 @@ function isMemoSame(cached, memo) {
6102
6109
 
6103
6110
  //#endregion
6104
6111
  //#region packages/runtime-core/src/index.ts
6105
- const version = "3.6.0-beta.6";
6112
+ const version = "3.6.0-beta.7";
6106
6113
  const warn = warn$1;
6107
6114
  /**
6108
6115
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.6.0-beta.6
2
+ * @vue/runtime-core v3.6.0-beta.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -830,6 +830,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
830
830
  const key = String(vnode.key);
831
831
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
832
832
  return baseResolveTransitionHooks({
833
+ isLeaving: () => leavingVNodesCache[key] === vnode,
833
834
  setLeavingNodeCache: () => {
834
835
  leavingVNodesCache[key] = vnode;
835
836
  },
@@ -848,7 +849,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
848
849
  }, props, state, instance);
849
850
  }
850
851
  function baseResolveTransitionHooks(context, props, state, instance) {
851
- const { setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
852
+ const { isLeaving, setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
852
853
  const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;
853
854
  const callHook = (hook, args) => {
854
855
  hook && callWithAsyncErrorHandling(hook, instance, 9, args);
@@ -872,6 +873,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
872
873
  callHook(hook, [el]);
873
874
  },
874
875
  enter(el) {
876
+ if (isLeaving()) return;
875
877
  let hook = onEnter;
876
878
  let afterHook = onAfterEnter;
877
879
  let cancelHook = onEnterCancelled;
@@ -2264,11 +2266,16 @@ function withAsyncContext(getAwaitable) {
2264
2266
  const ctx = getCurrentGenericInstance();
2265
2267
  let awaitable = getAwaitable();
2266
2268
  setCurrentInstance(null, void 0);
2269
+ const cleanup = () => setCurrentInstance(null, void 0);
2267
2270
  if ((0, _vue_shared.isPromise)(awaitable)) awaitable = awaitable.catch((e) => {
2268
2271
  setCurrentInstance(ctx);
2272
+ Promise.resolve().then(() => Promise.resolve().then(cleanup));
2269
2273
  throw e;
2270
2274
  });
2271
- return [awaitable, () => setCurrentInstance(ctx)];
2275
+ return [awaitable, () => {
2276
+ setCurrentInstance(ctx);
2277
+ Promise.resolve().then(cleanup);
2278
+ }];
2272
2279
  }
2273
2280
 
2274
2281
  //#endregion
@@ -3165,7 +3172,7 @@ function baseCreateRenderer(options, createHydrationFns) {
3165
3172
  processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
3166
3173
  break;
3167
3174
  case VaporSlot:
3168
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent);
3175
+ getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense);
3169
3176
  break;
3170
3177
  default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
3171
3178
  else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
@@ -4813,7 +4820,7 @@ function isMemoSame(cached, memo) {
4813
4820
 
4814
4821
  //#endregion
4815
4822
  //#region packages/runtime-core/src/index.ts
4816
- const version = "3.6.0-beta.6";
4823
+ const version = "3.6.0-beta.7";
4817
4824
  const warn = _vue_shared.NOOP;
4818
4825
  /**
4819
4826
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -593,6 +593,7 @@ export declare const BaseTransition: {
593
593
  };
594
594
  };
595
595
  export interface TransitionHooksContext {
596
+ isLeaving: () => boolean;
596
597
  setLeavingNodeCache: (node: any) => void;
597
598
  unsetLeavingNodeCache: (node: any) => void;
598
599
  earlyRemove: () => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.6.0-beta.6
2
+ * @vue/runtime-core v3.6.0-beta.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -250,6 +250,14 @@ function logError(err, type, instance, throwInDev = true, throwInProd = false) {
250
250
 
251
251
  //#endregion
252
252
  //#region packages/runtime-core/src/scheduler.ts
253
+ const SchedulerJobFlags = {
254
+ "QUEUED": 1,
255
+ "1": "QUEUED",
256
+ "ALLOW_RECURSE": 2,
257
+ "2": "ALLOW_RECURSE",
258
+ "DISPOSED": 4,
259
+ "4": "DISPOSED"
260
+ };
253
261
  const jobs = [];
254
262
  let postJobs = [];
255
263
  let activePostJobs = null;
@@ -1181,6 +1189,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
1181
1189
  const key = String(vnode.key);
1182
1190
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
1183
1191
  return baseResolveTransitionHooks({
1192
+ isLeaving: () => leavingVNodesCache[key] === vnode,
1184
1193
  setLeavingNodeCache: () => {
1185
1194
  leavingVNodesCache[key] = vnode;
1186
1195
  },
@@ -1199,7 +1208,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
1199
1208
  }, props, state, instance);
1200
1209
  }
1201
1210
  function baseResolveTransitionHooks(context, props, state, instance) {
1202
- const { setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
1211
+ const { isLeaving, setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
1203
1212
  const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;
1204
1213
  const callHook = (hook, args) => {
1205
1214
  hook && callWithAsyncErrorHandling(hook, instance, 9, args);
@@ -1223,6 +1232,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1223
1232
  callHook(hook, [el]);
1224
1233
  },
1225
1234
  enter(el) {
1235
+ if (isLeaving()) return;
1226
1236
  let hook = onEnter;
1227
1237
  let afterHook = onAfterEnter;
1228
1238
  let cancelHook = onEnterCancelled;
@@ -2347,7 +2357,6 @@ function deactivate(vnode, container, { m: move }, parentComponent, parentSuspen
2347
2357
  instance.isDeactivated = true;
2348
2358
  }, void 0, parentSuspense);
2349
2359
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentAdded(instance);
2350
- if (!!(process.env.NODE_ENV !== "production") && true) instance.__keepAliveStorageContainer = container;
2351
2360
  }
2352
2361
 
2353
2362
  //#endregion
@@ -2891,11 +2900,16 @@ function withAsyncContext(getAwaitable) {
2891
2900
  if (!!(process.env.NODE_ENV !== "production") && !ctx) warn$1("withAsyncContext called without active current instance. This is likely a bug.");
2892
2901
  let awaitable = getAwaitable();
2893
2902
  setCurrentInstance(null, void 0);
2903
+ const cleanup = () => setCurrentInstance(null, void 0);
2894
2904
  if (isPromise(awaitable)) awaitable = awaitable.catch((e) => {
2895
2905
  setCurrentInstance(ctx);
2906
+ Promise.resolve().then(() => Promise.resolve().then(cleanup));
2896
2907
  throw e;
2897
2908
  });
2898
- return [awaitable, () => setCurrentInstance(ctx)];
2909
+ return [awaitable, () => {
2910
+ setCurrentInstance(ctx);
2911
+ Promise.resolve().then(cleanup);
2912
+ }];
2899
2913
  }
2900
2914
 
2901
2915
  //#endregion
@@ -4153,7 +4167,7 @@ function baseCreateRenderer(options, createHydrationFns) {
4153
4167
  processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
4154
4168
  break;
4155
4169
  case VaporSlot:
4156
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent);
4170
+ getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense);
4157
4171
  break;
4158
4172
  default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
4159
4173
  else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
@@ -6198,7 +6212,7 @@ function isMemoSame(cached, memo) {
6198
6212
 
6199
6213
  //#endregion
6200
6214
  //#region packages/runtime-core/src/index.ts
6201
- const version = "3.6.0-beta.6";
6215
+ const version = "3.6.0-beta.7";
6202
6216
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
6203
6217
  /**
6204
6218
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -6235,4 +6249,4 @@ const compatUtils = null;
6235
6249
  const DeprecationTypes = null;
6236
6250
 
6237
6251
  //#endregion
6238
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, TriggerOpTypes, activate, assertNumber, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureVaporSlotFallback, expose, flushOnAppMount, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initFeatureFlags, inject, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, normalizeClass, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, setBlockTracking, setCurrentInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, useAsyncComponentState, useAttrs, useId, useInstanceOption, useModel, useSSRContext, useSlots, useTemplateRef, useTransitionState, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
6252
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, TriggerOpTypes, activate, assertNumber, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureVaporSlotFallback, expose, flushOnAppMount, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initFeatureFlags, inject, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, normalizeClass, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, useAsyncComponentState, useAttrs, useId, useInstanceOption, useModel, useSSRContext, useSlots, useTemplateRef, useTransitionState, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.6.0-beta.6",
3
+ "version": "3.6.0-beta.7",
4
4
  "description": "@vue/runtime-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/runtime-core.esm-bundler.js",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
48
48
  "dependencies": {
49
- "@vue/shared": "3.6.0-beta.6",
50
- "@vue/reactivity": "3.6.0-beta.6"
49
+ "@vue/shared": "3.6.0-beta.7",
50
+ "@vue/reactivity": "3.6.0-beta.7"
51
51
  }
52
52
  }