vue 3.6.0-beta.13 → 3.6.0-beta.14

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.
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-beta.13
2
+ * vue v3.6.0-beta.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -68,6 +68,7 @@ function compileToFunction(template, options) {
68
68
  (0, _vue_runtime_dom.registerRuntimeCompiler)(compileToFunction);
69
69
  //#endregion
70
70
  exports.compile = compileToFunction;
71
+ exports.defineVaporAsyncComponent = _vue_runtime_dom.defineAsyncComponent;
71
72
  Object.keys(_vue_runtime_dom).forEach(function(k) {
72
73
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
73
74
  enumerable: true,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-beta.13
2
+ * vue v3.6.0-beta.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -59,6 +59,7 @@ function compileToFunction(template, options) {
59
59
  (0, _vue_runtime_dom.registerRuntimeCompiler)(compileToFunction);
60
60
  //#endregion
61
61
  exports.compile = compileToFunction;
62
+ exports.defineVaporAsyncComponent = _vue_runtime_dom.defineAsyncComponent;
62
63
  Object.keys(_vue_runtime_dom).forEach(function(k) {
63
64
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
64
65
  enumerable: true,
package/dist/vue.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CompilerOptions } from "@vue/compiler-dom";
2
- import { RenderFunction } from "@vue/runtime-dom";
3
- import { VaporSlot, withAsyncContext } from "@vue/runtime-vapor";
2
+ import { RenderFunction, defineAsyncComponent as defineVaporAsyncComponent$1 } from "@vue/runtime-dom";
3
+ import { VaporSlot, defineVaporAsyncComponent, withAsyncContext } from "@vue/runtime-vapor";
4
4
  export * from "@vue/runtime-dom";
5
5
  export * from "@vue/runtime-vapor";
6
6
 
@@ -9,4 +9,4 @@ export * from "@vue/runtime-vapor";
9
9
  //#region temp/packages/vue/src/index.d.ts
10
10
  export declare function compileToFunction(template: string | HTMLElement, options?: CompilerOptions): RenderFunction;
11
11
  //#endregion
12
- export { type VaporSlot, compileToFunction as compile, withAsyncContext };
12
+ export { type VaporSlot, compileToFunction as compile, defineVaporAsyncComponent, withAsyncContext };
package/dist/vue.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CompilerOptions } from "@vue/compiler-dom";
2
- import { RenderFunction } from "@vue/runtime-dom";
3
- import { VaporSlot, withAsyncContext } from "@vue/runtime-vapor";
2
+ import { RenderFunction, defineAsyncComponent as defineVaporAsyncComponent$1 } from "@vue/runtime-dom";
3
+ import { VaporSlot, defineVaporAsyncComponent, withAsyncContext } from "@vue/runtime-vapor";
4
4
  export * from "@vue/runtime-dom";
5
5
  export * from "@vue/runtime-vapor";
6
6
 
@@ -9,4 +9,4 @@ export * from "@vue/runtime-vapor";
9
9
  //#region temp/packages/vue/src/index.d.ts
10
10
  export declare function compileToFunction(template: string | HTMLElement, options?: CompilerOptions): RenderFunction;
11
11
  //#endregion
12
- export { type VaporSlot, compileToFunction as compile, withAsyncContext };
12
+ export { type VaporSlot, compileToFunction as compile, defineVaporAsyncComponent, withAsyncContext };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-beta.13
2
+ * vue v3.6.0-beta.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -2678,6 +2678,7 @@ function flushJobs(seen) {
2678
2678
  }
2679
2679
  flushIndex = 0;
2680
2680
  jobsLength = 0;
2681
+ jobs.length = 0;
2681
2682
  flushPostFlushCbs(seen);
2682
2683
  currentFlushPromise = null;
2683
2684
  if (jobsLength || postJobs.length) flushJobs(seen);
@@ -2735,6 +2736,14 @@ function createRecord(id, initialDef) {
2735
2736
  function normalizeClassComponent(component) {
2736
2737
  return isClassComponent(component) ? component.__vccOpts : component;
2737
2738
  }
2739
+ function hasDirtyAncestor(instance, dirtyInstances) {
2740
+ let parent = instance.parent;
2741
+ while (parent) {
2742
+ if (dirtyInstances.has(parent)) return true;
2743
+ parent = parent.parent;
2744
+ }
2745
+ return false;
2746
+ }
2738
2747
  function rerender(id, newRender) {
2739
2748
  const record = map.get(id);
2740
2749
  if (!record) return;
@@ -2766,42 +2775,69 @@ function reload(id, newComp) {
2766
2775
  const isVapor = record.initialDef.__vapor;
2767
2776
  updateComponentDef(record.initialDef, newComp);
2768
2777
  const instances = [...record.instances];
2769
- if (isVapor && newComp.__vapor && !instances.some((i) => i.ceReload)) {
2778
+ if (isVapor && newComp.__vapor && !instances.some((instance) => instance.parent && !instance.parent.vapor) && !instances.some((i) => i.ceReload)) {
2770
2779
  for (const instance of instances) if (instance.root && instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(instance.type);
2771
- for (const instance of instances) instance.hmrReload(newComp);
2772
- } else for (const instance of instances) {
2773
- const oldComp = normalizeClassComponent(instance.type);
2774
- let dirtyInstances = hmrDirtyComponents.get(oldComp);
2775
- if (!dirtyInstances) {
2776
- if (oldComp !== record.initialDef) updateComponentDef(oldComp, newComp);
2777
- hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());
2778
- }
2779
- dirtyInstances.add(instance);
2780
- hmrDirtyComponentsMode.set(oldComp, !!isVapor);
2781
- instance.appContext.propsCache.delete(instance.type);
2782
- instance.appContext.emitsCache.delete(instance.type);
2783
- instance.appContext.optionsCache.delete(instance.type);
2784
- if (instance.ceReload) {
2785
- dirtyInstances.add(instance);
2786
- instance.ceReload(newComp.styles);
2787
- dirtyInstances.delete(instance);
2788
- } else if (instance.parent) queueJob(() => {
2789
- isHmrUpdating = true;
2780
+ const dirtyInstances = new Set(instances);
2781
+ const rerenderedParents = /* @__PURE__ */ new Set();
2782
+ for (const instance of instances) {
2790
2783
  const parent = instance.parent;
2791
- if (parent.vapor) parent.hmrRerender();
2792
- else if (!(parent.effect.flags & 1024)) {
2793
- parent.renderCache = [];
2794
- parent.effect.run();
2784
+ if (parent) {
2785
+ if (!hasDirtyAncestor(instance, dirtyInstances) && !rerenderedParents.has(parent)) {
2786
+ rerenderedParents.add(parent);
2787
+ parent.hmrRerender();
2788
+ }
2789
+ } else instance.hmrReload(newComp);
2790
+ }
2791
+ } else {
2792
+ const parentUpdates = /* @__PURE__ */ new Map();
2793
+ const dirtyInstanceSet = new Set(instances);
2794
+ for (const instance of instances) {
2795
+ const oldComp = normalizeClassComponent(instance.type);
2796
+ let dirtyInstances = hmrDirtyComponents.get(oldComp);
2797
+ if (!dirtyInstances) {
2798
+ if (oldComp !== record.initialDef) updateComponentDef(oldComp, newComp);
2799
+ hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());
2795
2800
  }
2796
- nextTick(() => {
2797
- isHmrUpdating = false;
2801
+ dirtyInstances.add(instance);
2802
+ hmrDirtyComponentsMode.set(oldComp, !!isVapor);
2803
+ instance.appContext.propsCache.delete(instance.type);
2804
+ instance.appContext.emitsCache.delete(instance.type);
2805
+ instance.appContext.optionsCache.delete(instance.type);
2806
+ if (instance.ceReload) {
2807
+ dirtyInstances.add(instance);
2808
+ instance.ceReload(newComp.styles);
2809
+ dirtyInstances.delete(instance);
2810
+ } else if (instance.parent) {
2811
+ const parent = instance.parent;
2812
+ if (!hasDirtyAncestor(instance, dirtyInstanceSet)) {
2813
+ let updates = parentUpdates.get(parent);
2814
+ if (!updates) parentUpdates.set(parent, updates = []);
2815
+ updates.push([instance, dirtyInstances]);
2816
+ }
2817
+ } else if (instance.appContext.reload) instance.appContext.reload();
2818
+ else if (typeof window !== "undefined") window.location.reload();
2819
+ else console.warn("[HMR] Root or manually mounted instance modified. Full reload required.");
2820
+ if (instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(oldComp);
2821
+ }
2822
+ parentUpdates.forEach((updates, parent) => {
2823
+ queueJob(() => {
2824
+ isHmrUpdating = true;
2825
+ if (parent.vapor) parent.hmrRerender();
2826
+ else {
2827
+ const i = parent;
2828
+ if (!(i.effect.flags & 1024)) {
2829
+ i.renderCache = [];
2830
+ i.effect.run();
2831
+ }
2832
+ }
2833
+ nextTick(() => {
2834
+ isHmrUpdating = false;
2835
+ });
2836
+ updates.forEach(([instance, dirtyInstances]) => {
2837
+ dirtyInstances.delete(instance);
2838
+ });
2798
2839
  });
2799
- dirtyInstances.delete(instance);
2800
2840
  });
2801
- else if (instance.appContext.reload) instance.appContext.reload();
2802
- else if (typeof window !== "undefined") window.location.reload();
2803
- else console.warn("[HMR] Root or manually mounted instance modified. Full reload required.");
2804
- if (instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(oldComp);
2805
2841
  }
2806
2842
  queuePostFlushCb(() => {
2807
2843
  hmrDirtyComponents.clear();
@@ -4753,6 +4789,7 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
4753
4789
  slot: vaporSlot,
4754
4790
  fallback
4755
4791
  };
4792
+ if (!noSlotted && ret.scopeId) ret.slotScopeIds = [ret.scopeId + "-s"];
4756
4793
  return ret;
4757
4794
  }
4758
4795
  if (currentRenderingInstance && (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce)) {
@@ -8457,7 +8494,7 @@ function isMemoSame(cached, memo) {
8457
8494
  }
8458
8495
  //#endregion
8459
8496
  //#region packages/runtime-core/src/index.ts
8460
- const version = "3.6.0-beta.13";
8497
+ const version = "3.6.0-beta.14";
8461
8498
  const warn = warn$1;
8462
8499
  /**
8463
8500
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -14344,4 +14381,4 @@ function compileToFunction(template, options) {
14344
14381
  }
14345
14382
  registerRuntimeCompiler(compileToFunction);
14346
14383
  //#endregion
14347
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, VueElementBase, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, compileToFunction as compile, computed, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getCurrentWatcher, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, nodeOps, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setIsHydratingEnabled, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
14384
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, VueElementBase, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, compileToFunction as compile, computed, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineAsyncComponent as defineVaporAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getCurrentWatcher, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, nodeOps, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setIsHydratingEnabled, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };