@vue/server-renderer 3.4.0-rc.1 → 3.4.0-rc.3

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.
@@ -318,7 +318,7 @@ const stringifySymbol = (v, i = "") => {
318
318
  return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
319
319
  };
320
320
 
321
- function warn$1(msg, ...args) {
321
+ function warn$2(msg, ...args) {
322
322
  console.warn(`[Vue warn] ${msg}`, ...args);
323
323
  }
324
324
 
@@ -358,7 +358,7 @@ class EffectScope {
358
358
  activeEffectScope = currentEffectScope;
359
359
  }
360
360
  } else {
361
- warn$1(`cannot run an inactive effect scope.`);
361
+ warn$2(`cannot run an inactive effect scope.`);
362
362
  }
363
363
  }
364
364
  /**
@@ -824,7 +824,7 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler {
824
824
  }
825
825
  set(target, key) {
826
826
  {
827
- warn$1(
827
+ warn$2(
828
828
  `Set operation on key "${String(key)}" failed: target is readonly.`,
829
829
  target
830
830
  );
@@ -833,7 +833,7 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler {
833
833
  }
834
834
  deleteProperty(target, key) {
835
835
  {
836
- warn$1(
836
+ warn$2(
837
837
  `Delete operation on key "${String(key)}" failed: target is readonly.`,
838
838
  target
839
839
  );
@@ -1365,7 +1365,7 @@ function pushWarningContext(vnode) {
1365
1365
  function popWarningContext() {
1366
1366
  stack.pop();
1367
1367
  }
1368
- function warn(msg, ...args) {
1368
+ function warn$1(msg, ...args) {
1369
1369
  pauseTracking();
1370
1370
  const instance = stack.length ? stack[stack.length - 1].component : null;
1371
1371
  const appWarnHandler = instance && instance.appContext.config.warnHandler;
@@ -1492,7 +1492,7 @@ const ErrorTypeStrings = {
1492
1492
  [11]: "app warnHandler",
1493
1493
  [12]: "ref function",
1494
1494
  [13]: "async component loader",
1495
- [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core"
1495
+ [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
1496
1496
  };
1497
1497
  function callWithErrorHandling(fn, instance, type, args) {
1498
1498
  let res;
@@ -1555,7 +1555,7 @@ function logError(err, type, contextVNode, throwInDev = true) {
1555
1555
  if (contextVNode) {
1556
1556
  pushWarningContext(contextVNode);
1557
1557
  }
1558
- warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1558
+ warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1559
1559
  if (contextVNode) {
1560
1560
  popWarningContext();
1561
1561
  }
@@ -1962,7 +1962,7 @@ function emit(instance, event, ...rawArgs) {
1962
1962
  if (emitsOptions) {
1963
1963
  if (!(event in emitsOptions) && true) {
1964
1964
  if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
1965
- warn(
1965
+ warn$1(
1966
1966
  `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`
1967
1967
  );
1968
1968
  }
@@ -1971,7 +1971,7 @@ function emit(instance, event, ...rawArgs) {
1971
1971
  if (isFunction(validator)) {
1972
1972
  const isValid = validator(...rawArgs);
1973
1973
  if (!isValid) {
1974
- warn(
1974
+ warn$1(
1975
1975
  `Invalid event arguments: event validation failed for event "${event}".`
1976
1976
  );
1977
1977
  }
@@ -1998,11 +1998,13 @@ function emit(instance, event, ...rawArgs) {
1998
1998
  {
1999
1999
  const lowerCaseEvent = event.toLowerCase();
2000
2000
  if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
2001
- warn(
2001
+ warn$1(
2002
2002
  `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(
2003
2003
  instance,
2004
2004
  instance.type
2005
- )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(event)}" instead of "${event}".`
2005
+ )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(
2006
+ event
2007
+ )}" instead of "${event}".`
2006
2008
  );
2007
2009
  }
2008
2010
  }
@@ -2159,7 +2161,7 @@ function renderComponentRoot$1(instance) {
2159
2161
  const proxyToUse = withProxy || proxy;
2160
2162
  const thisProxy = setupState.__isScriptSetup ? new Proxy(proxyToUse, {
2161
2163
  get(target, key, receiver) {
2162
- warn(
2164
+ warn$1(
2163
2165
  `Property '${String(
2164
2166
  key
2165
2167
  )}' was accessed via 'this'. Avoid using 'this' in templates.`
@@ -2239,12 +2241,12 @@ function renderComponentRoot$1(instance) {
2239
2241
  }
2240
2242
  }
2241
2243
  if (extraAttrs.length) {
2242
- warn(
2244
+ warn$1(
2243
2245
  `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
2244
2246
  );
2245
2247
  }
2246
2248
  if (eventAttrs.length) {
2247
- warn(
2249
+ warn$1(
2248
2250
  `Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`
2249
2251
  );
2250
2252
  }
@@ -2253,7 +2255,7 @@ function renderComponentRoot$1(instance) {
2253
2255
  }
2254
2256
  if (vnode.dirs) {
2255
2257
  if (!isElementRoot(root)) {
2256
- warn(
2258
+ warn$1(
2257
2259
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
2258
2260
  );
2259
2261
  }
@@ -2262,7 +2264,7 @@ function renderComponentRoot$1(instance) {
2262
2264
  }
2263
2265
  if (vnode.transition) {
2264
2266
  if (!isElementRoot(root)) {
2265
- warn(
2267
+ warn$1(
2266
2268
  `Component inside <Transition> renders non-element root node that cannot be animated.`
2267
2269
  );
2268
2270
  }
@@ -2431,13 +2433,20 @@ function queueEffectWithSuspense(fn, suspense) {
2431
2433
  const INITIAL_WATCHER_VALUE = {};
2432
2434
  function watch(source, cb, options) {
2433
2435
  if (!isFunction(cb)) {
2434
- warn(
2436
+ warn$1(
2435
2437
  `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
2436
2438
  );
2437
2439
  }
2438
2440
  return doWatch(source, cb, options);
2439
2441
  }
2440
- function doWatch(source, cb, { immediate, deep, flush, once, onTrack, onTrigger } = EMPTY_OBJ) {
2442
+ function doWatch(source, cb, {
2443
+ immediate,
2444
+ deep,
2445
+ flush,
2446
+ once,
2447
+ onTrack,
2448
+ onTrigger
2449
+ } = EMPTY_OBJ) {
2441
2450
  var _a;
2442
2451
  if (cb && once) {
2443
2452
  const _cb = cb;
@@ -2448,23 +2457,23 @@ function doWatch(source, cb, { immediate, deep, flush, once, onTrack, onTrigger
2448
2457
  }
2449
2458
  if (!cb) {
2450
2459
  if (immediate !== void 0) {
2451
- warn(
2460
+ warn$1(
2452
2461
  `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
2453
2462
  );
2454
2463
  }
2455
2464
  if (deep !== void 0) {
2456
- warn(
2465
+ warn$1(
2457
2466
  `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
2458
2467
  );
2459
2468
  }
2460
2469
  if (once !== void 0) {
2461
- warn(
2470
+ warn$1(
2462
2471
  `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
2463
2472
  );
2464
2473
  }
2465
2474
  }
2466
2475
  const warnInvalidSource = (s) => {
2467
- warn(
2476
+ warn$1(
2468
2477
  `Invalid watch source: `,
2469
2478
  s,
2470
2479
  `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
@@ -2670,7 +2679,7 @@ function traverse(value, seen) {
2670
2679
 
2671
2680
  function validateDirectiveName(name) {
2672
2681
  if (isBuiltInDirective(name)) {
2673
- warn("Do not use built-in directive ids as custom directive id: " + name);
2682
+ warn$1("Do not use built-in directive ids as custom directive id: " + name);
2674
2683
  }
2675
2684
  }
2676
2685
  function invokeDirectiveHook(vnode, prevVNode, instance, name) {
@@ -2761,7 +2770,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
2761
2770
  return wrappedHook;
2762
2771
  } else {
2763
2772
  const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ""));
2764
- warn(
2773
+ warn$1(
2765
2774
  `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )
2766
2775
  );
2767
2776
  }
@@ -2888,13 +2897,13 @@ const PublicInstanceProxyHandlers = {
2888
2897
  // to infinite warning loop
2889
2898
  key.indexOf("__v") !== 0)) {
2890
2899
  if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
2891
- warn(
2900
+ warn$1(
2892
2901
  `Property ${JSON.stringify(
2893
2902
  key
2894
2903
  )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
2895
2904
  );
2896
2905
  } else if (instance === currentRenderingInstance) {
2897
- warn(
2906
+ warn$1(
2898
2907
  `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`
2899
2908
  );
2900
2909
  }
@@ -2906,17 +2915,17 @@ const PublicInstanceProxyHandlers = {
2906
2915
  setupState[key] = value;
2907
2916
  return true;
2908
2917
  } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) {
2909
- warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
2918
+ warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
2910
2919
  return false;
2911
2920
  } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
2912
2921
  data[key] = value;
2913
2922
  return true;
2914
2923
  } else if (hasOwn(instance.props, key)) {
2915
- warn(`Attempting to mutate prop "${key}". Props are readonly.`);
2924
+ warn$1(`Attempting to mutate prop "${key}". Props are readonly.`);
2916
2925
  return false;
2917
2926
  }
2918
2927
  if (key[0] === "$" && key.slice(1) in instance) {
2919
- warn(
2928
+ warn$1(
2920
2929
  `Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`
2921
2930
  );
2922
2931
  return false;
@@ -2950,7 +2959,7 @@ const PublicInstanceProxyHandlers = {
2950
2959
  };
2951
2960
  {
2952
2961
  PublicInstanceProxyHandlers.ownKeys = (target) => {
2953
- warn(
2962
+ warn$1(
2954
2963
  `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`
2955
2964
  );
2956
2965
  return Reflect.ownKeys(target);
@@ -2996,7 +3005,7 @@ function exposeSetupStateOnRenderContext(instance) {
2996
3005
  Object.keys(toRaw(setupState)).forEach((key) => {
2997
3006
  if (!setupState.__isScriptSetup) {
2998
3007
  if (isReservedPrefix(key[0])) {
2999
- warn(
3008
+ warn$1(
3000
3009
  `setup() return property ${JSON.stringify(
3001
3010
  key
3002
3011
  )} should not start with "$" or "_" which are reserved prefixes for Vue internals.`
@@ -3024,7 +3033,7 @@ function createDuplicateChecker() {
3024
3033
  const cache = /* @__PURE__ */ Object.create(null);
3025
3034
  return (type, key) => {
3026
3035
  if (cache[key]) {
3027
- warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
3036
+ warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`);
3028
3037
  } else {
3029
3038
  cache[key] = type;
3030
3039
  }
@@ -3100,7 +3109,7 @@ function applyOptions(instance) {
3100
3109
  checkDuplicateProperties("Methods" /* METHODS */, key);
3101
3110
  }
3102
3111
  } else {
3103
- warn(
3112
+ warn$1(
3104
3113
  `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
3105
3114
  );
3106
3115
  }
@@ -3108,18 +3117,18 @@ function applyOptions(instance) {
3108
3117
  }
3109
3118
  if (dataOptions) {
3110
3119
  if (!isFunction(dataOptions)) {
3111
- warn(
3120
+ warn$1(
3112
3121
  `The data option must be a function. Plain object usage is no longer supported.`
3113
3122
  );
3114
3123
  }
3115
3124
  const data = dataOptions.call(publicThis, publicThis);
3116
3125
  if (isPromise(data)) {
3117
- warn(
3126
+ warn$1(
3118
3127
  `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`
3119
3128
  );
3120
3129
  }
3121
3130
  if (!isObject(data)) {
3122
- warn(`data() should return an object.`);
3131
+ warn$1(`data() should return an object.`);
3123
3132
  } else {
3124
3133
  instance.data = reactive(data);
3125
3134
  {
@@ -3143,10 +3152,10 @@ function applyOptions(instance) {
3143
3152
  const opt = computedOptions[key];
3144
3153
  const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
3145
3154
  if (get === NOOP) {
3146
- warn(`Computed property "${key}" has no getter.`);
3155
+ warn$1(`Computed property "${key}" has no getter.`);
3147
3156
  }
3148
3157
  const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
3149
- warn(
3158
+ warn$1(
3150
3159
  `Write operation failed: computed property "${key}" is readonly.`
3151
3160
  );
3152
3161
  } ;
@@ -3235,7 +3244,6 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
3235
3244
  opt.from || key,
3236
3245
  opt.default,
3237
3246
  true
3238
- /* treat default function as factory */
3239
3247
  );
3240
3248
  } else {
3241
3249
  injected = inject(opt.from || key);
@@ -3272,7 +3280,7 @@ function createWatcher(raw, ctx, publicThis, key) {
3272
3280
  if (isFunction(handler)) {
3273
3281
  watch(getter, handler);
3274
3282
  } else {
3275
- warn(`Invalid watch handler specified by key "${raw}"`, handler);
3283
+ warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
3276
3284
  }
3277
3285
  } else if (isFunction(raw)) {
3278
3286
  watch(getter, raw.bind(publicThis));
@@ -3284,11 +3292,11 @@ function createWatcher(raw, ctx, publicThis, key) {
3284
3292
  if (isFunction(handler)) {
3285
3293
  watch(getter, handler, raw);
3286
3294
  } else {
3287
- warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
3295
+ warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
3288
3296
  }
3289
3297
  }
3290
3298
  } else {
3291
- warn(`Invalid watch option: "${key}"`, raw);
3299
+ warn$1(`Invalid watch option: "${key}"`, raw);
3292
3300
  }
3293
3301
  }
3294
3302
  function resolveMergedOptions(instance) {
@@ -3333,7 +3341,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
3333
3341
  }
3334
3342
  for (const key in from) {
3335
3343
  if (asMixin && key === "expose") {
3336
- warn(
3344
+ warn$1(
3337
3345
  `"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`
3338
3346
  );
3339
3347
  } else {
@@ -3461,7 +3469,7 @@ function createAppAPI(render, hydrate) {
3461
3469
  rootComponent = extend({}, rootComponent);
3462
3470
  }
3463
3471
  if (rootProps != null && !isObject(rootProps)) {
3464
- warn(`root props passed to app.mount() must be an object.`);
3472
+ warn$1(`root props passed to app.mount() must be an object.`);
3465
3473
  rootProps = null;
3466
3474
  }
3467
3475
  const context = createAppContext();
@@ -3480,14 +3488,14 @@ function createAppAPI(render, hydrate) {
3480
3488
  },
3481
3489
  set config(v) {
3482
3490
  {
3483
- warn(
3491
+ warn$1(
3484
3492
  `app.config cannot be replaced. Modify individual options instead.`
3485
3493
  );
3486
3494
  }
3487
3495
  },
3488
3496
  use(plugin, ...options) {
3489
3497
  if (installedPlugins.has(plugin)) {
3490
- warn(`Plugin has already been applied to target app.`);
3498
+ warn$1(`Plugin has already been applied to target app.`);
3491
3499
  } else if (plugin && isFunction(plugin.install)) {
3492
3500
  installedPlugins.add(plugin);
3493
3501
  plugin.install(app, ...options);
@@ -3495,7 +3503,7 @@ function createAppAPI(render, hydrate) {
3495
3503
  installedPlugins.add(plugin);
3496
3504
  plugin(app, ...options);
3497
3505
  } else {
3498
- warn(
3506
+ warn$1(
3499
3507
  `A plugin must either be a function or an object with an "install" function.`
3500
3508
  );
3501
3509
  }
@@ -3506,7 +3514,7 @@ function createAppAPI(render, hydrate) {
3506
3514
  if (!context.mixins.includes(mixin)) {
3507
3515
  context.mixins.push(mixin);
3508
3516
  } else {
3509
- warn(
3517
+ warn$1(
3510
3518
  "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
3511
3519
  );
3512
3520
  }
@@ -3521,7 +3529,7 @@ function createAppAPI(render, hydrate) {
3521
3529
  return context.components[name];
3522
3530
  }
3523
3531
  if (context.components[name]) {
3524
- warn(`Component "${name}" has already been registered in target app.`);
3532
+ warn$1(`Component "${name}" has already been registered in target app.`);
3525
3533
  }
3526
3534
  context.components[name] = component;
3527
3535
  return app;
@@ -3534,7 +3542,7 @@ function createAppAPI(render, hydrate) {
3534
3542
  return context.directives[name];
3535
3543
  }
3536
3544
  if (context.directives[name]) {
3537
- warn(`Directive "${name}" has already been registered in target app.`);
3545
+ warn$1(`Directive "${name}" has already been registered in target app.`);
3538
3546
  }
3539
3547
  context.directives[name] = directive;
3540
3548
  return app;
@@ -3542,7 +3550,7 @@ function createAppAPI(render, hydrate) {
3542
3550
  mount(rootContainer, isHydrate, namespace) {
3543
3551
  if (!isMounted) {
3544
3552
  if (rootContainer.__vue_app__) {
3545
- warn(
3553
+ warn$1(
3546
3554
  `There is already an app instance mounted on the host container.
3547
3555
  If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
3548
3556
  );
@@ -3577,7 +3585,7 @@ function createAppAPI(render, hydrate) {
3577
3585
  }
3578
3586
  return getExposeProxy(vnode.component) || vnode.component.proxy;
3579
3587
  } else {
3580
- warn(
3588
+ warn$1(
3581
3589
  `App has already been mounted.
3582
3590
  If you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \`const createMyApp = () => createApp(App)\``
3583
3591
  );
@@ -3592,12 +3600,12 @@ If you want to remount the same app, move your app creation logic into a factory
3592
3600
  }
3593
3601
  delete app._container.__vue_app__;
3594
3602
  } else {
3595
- warn(`Cannot unmount an app that is not mounted.`);
3603
+ warn$1(`Cannot unmount an app that is not mounted.`);
3596
3604
  }
3597
3605
  },
3598
3606
  provide(key, value) {
3599
3607
  if (key in context.provides) {
3600
- warn(
3608
+ warn$1(
3601
3609
  `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
3602
3610
  );
3603
3611
  }
@@ -3621,7 +3629,7 @@ let currentApp = null;
3621
3629
  function provide(key, value) {
3622
3630
  if (!currentInstance) {
3623
3631
  {
3624
- warn(`provide() can only be used inside setup().`);
3632
+ warn$1(`provide() can only be used inside setup().`);
3625
3633
  }
3626
3634
  } else {
3627
3635
  let provides = currentInstance.provides;
@@ -3641,10 +3649,10 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3641
3649
  } else if (arguments.length > 1) {
3642
3650
  return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
3643
3651
  } else {
3644
- warn(`injection "${String(key)}" not found.`);
3652
+ warn$1(`injection "${String(key)}" not found.`);
3645
3653
  }
3646
3654
  } else {
3647
- warn(`inject() can only be used inside setup() or functional components.`);
3655
+ warn$1(`inject() can only be used inside setup() or functional components.`);
3648
3656
  }
3649
3657
  }
3650
3658
 
@@ -3718,7 +3726,6 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
3718
3726
  value,
3719
3727
  instance,
3720
3728
  false
3721
- /* isAbsent */
3722
3729
  );
3723
3730
  }
3724
3731
  } else {
@@ -3750,7 +3757,6 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
3750
3757
  void 0,
3751
3758
  instance,
3752
3759
  true
3753
- /* isAbsent */
3754
3760
  );
3755
3761
  }
3756
3762
  } else {
@@ -3885,7 +3891,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
3885
3891
  if (isArray(raw)) {
3886
3892
  for (let i = 0; i < raw.length; i++) {
3887
3893
  if (!isString(raw[i])) {
3888
- warn(`props must be strings when using array syntax.`, raw[i]);
3894
+ warn$1(`props must be strings when using array syntax.`, raw[i]);
3889
3895
  }
3890
3896
  const normalizedKey = camelize(raw[i]);
3891
3897
  if (validatePropName(normalizedKey)) {
@@ -3894,7 +3900,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
3894
3900
  }
3895
3901
  } else if (raw) {
3896
3902
  if (!isObject(raw)) {
3897
- warn(`invalid props options`, raw);
3903
+ warn$1(`invalid props options`, raw);
3898
3904
  }
3899
3905
  for (const key in raw) {
3900
3906
  const normalizedKey = camelize(key);
@@ -3923,7 +3929,7 @@ function validatePropName(key) {
3923
3929
  if (key[0] !== "$") {
3924
3930
  return true;
3925
3931
  } else {
3926
- warn(`Invalid prop name: "${key}" is a reserved property.`);
3932
+ warn$1(`Invalid prop name: "${key}" is a reserved property.`);
3927
3933
  }
3928
3934
  return false;
3929
3935
  }
@@ -3961,7 +3967,7 @@ function validateProps(rawProps, props, instance) {
3961
3967
  function validateProp(name, value, prop, props, isAbsent) {
3962
3968
  const { type, required, validator, skipCheck } = prop;
3963
3969
  if (required && isAbsent) {
3964
- warn('Missing required prop: "' + name + '"');
3970
+ warn$1('Missing required prop: "' + name + '"');
3965
3971
  return;
3966
3972
  }
3967
3973
  if (value == null && !required) {
@@ -3977,12 +3983,12 @@ function validateProp(name, value, prop, props, isAbsent) {
3977
3983
  isValid = valid;
3978
3984
  }
3979
3985
  if (!isValid) {
3980
- warn(getInvalidTypeMessage(name, value, expectedTypes));
3986
+ warn$1(getInvalidTypeMessage(name, value, expectedTypes));
3981
3987
  return;
3982
3988
  }
3983
3989
  }
3984
3990
  if (validator && !validator(value, props)) {
3985
- warn('Invalid prop: custom validator check failed for prop "' + name + '".');
3991
+ warn$1('Invalid prop: custom validator check failed for prop "' + name + '".');
3986
3992
  }
3987
3993
  }
3988
3994
  const isSimpleType = /* @__PURE__ */ makeMap(
@@ -4054,7 +4060,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
4054
4060
  }
4055
4061
  const normalized = withCtx((...args) => {
4056
4062
  if (currentInstance) {
4057
- warn(
4063
+ warn$1(
4058
4064
  `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
4059
4065
  );
4060
4066
  }
@@ -4073,7 +4079,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
4073
4079
  slots[key] = normalizeSlot(key, value, ctx);
4074
4080
  } else if (value != null) {
4075
4081
  {
4076
- warn(
4082
+ warn$1(
4077
4083
  `Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
4078
4084
  );
4079
4085
  }
@@ -4084,7 +4090,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
4084
4090
  };
4085
4091
  const normalizeVNodeSlots = (instance, children) => {
4086
4092
  if (!isKeepAlive(instance.vnode) && true) {
4087
- warn(
4093
+ warn$1(
4088
4094
  `Non-function value encountered for default slot. Prefer function slots for better performance.`
4089
4095
  );
4090
4096
  }
@@ -4166,7 +4172,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4166
4172
  const value = isUnmount ? null : refValue;
4167
4173
  const { i: owner, r: ref } = rawRef;
4168
4174
  if (!owner) {
4169
- warn(
4175
+ warn$1(
4170
4176
  `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`
4171
4177
  );
4172
4178
  return;
@@ -4221,7 +4227,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4221
4227
  if (rawRef.k)
4222
4228
  refs[rawRef.k] = value;
4223
4229
  } else {
4224
- warn("Invalid template ref type:", ref, `(${typeof ref})`);
4230
+ warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
4225
4231
  }
4226
4232
  };
4227
4233
  if (value) {
@@ -4231,7 +4237,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4231
4237
  doSet();
4232
4238
  }
4233
4239
  } else {
4234
- warn("Invalid template ref type:", ref, `(${typeof ref})`);
4240
+ warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
4235
4241
  }
4236
4242
  }
4237
4243
  }
@@ -4393,7 +4399,7 @@ function baseCreateRenderer(options, createHydrationFns) {
4393
4399
  internals
4394
4400
  );
4395
4401
  } else {
4396
- warn("Invalid VNode type:", type, `(${typeof type})`);
4402
+ warn$1("Invalid VNode type:", type, `(${typeof type})`);
4397
4403
  }
4398
4404
  }
4399
4405
  if (ref != null && parentComponent) {
@@ -5362,7 +5368,7 @@ function baseCreateRenderer(options, createHydrationFns) {
5362
5368
  const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode$1(c2[i]);
5363
5369
  if (nextChild.key != null) {
5364
5370
  if (keyToNewIndexMap.has(nextChild.key)) {
5365
- warn(
5371
+ warn$1(
5366
5372
  `Duplicate keys found during update:`,
5367
5373
  JSON.stringify(nextChild.key),
5368
5374
  `Make sure keys are unique.`
@@ -5860,7 +5866,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
5860
5866
  vnode.shapeFlag |= isString(children) ? 8 : 16;
5861
5867
  }
5862
5868
  if (vnode.key !== vnode.key) {
5863
- warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
5869
+ warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
5864
5870
  }
5865
5871
  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
5866
5872
  !isBlockNode && // has current parent block
@@ -5879,7 +5885,7 @@ const createVNode = createVNodeWithArgsTransform ;
5879
5885
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
5880
5886
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
5881
5887
  if (!type) {
5882
- warn(`Invalid vnode type when creating vnode: ${type}.`);
5888
+ warn$1(`Invalid vnode type when creating vnode: ${type}.`);
5883
5889
  }
5884
5890
  type = Comment;
5885
5891
  }
@@ -5922,7 +5928,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
5922
5928
  const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;
5923
5929
  if (shapeFlag & 4 && isProxy(type)) {
5924
5930
  type = toRaw(type);
5925
- warn(
5931
+ warn$1(
5926
5932
  `Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \`markRaw\` or using \`shallowRef\` instead of \`ref\`.`,
5927
5933
  `
5928
5934
  Component that was made reactive: `,
@@ -6226,7 +6232,7 @@ const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
6226
6232
  function validateComponentName(name, config) {
6227
6233
  const appIsNativeTag = config.isNativeTag || NO;
6228
6234
  if (isBuiltInTag(name) || appIsNativeTag(name)) {
6229
- warn(
6235
+ warn$1(
6230
6236
  "Do not use built-in or reserved HTML elements as component id: " + name
6231
6237
  );
6232
6238
  }
@@ -6265,7 +6271,7 @@ function setupStatefulComponent(instance, isSSR) {
6265
6271
  }
6266
6272
  }
6267
6273
  if (Component.compilerOptions && isRuntimeOnly()) {
6268
- warn(
6274
+ warn$1(
6269
6275
  `"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`
6270
6276
  );
6271
6277
  }
@@ -6284,7 +6290,10 @@ function setupStatefulComponent(instance, isSSR) {
6284
6290
  setup,
6285
6291
  instance,
6286
6292
  0,
6287
- [shallowReadonly(instance.props) , setupContext]
6293
+ [
6294
+ shallowReadonly(instance.props) ,
6295
+ setupContext
6296
+ ]
6288
6297
  );
6289
6298
  resetTracking();
6290
6299
  unsetCurrentInstance();
@@ -6300,7 +6309,7 @@ function setupStatefulComponent(instance, isSSR) {
6300
6309
  instance.asyncDep = setupResult;
6301
6310
  if (!instance.suspense) {
6302
6311
  const name = (_a = Component.name) != null ? _a : "Anonymous";
6303
- warn(
6312
+ warn$1(
6304
6313
  `Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`
6305
6314
  );
6306
6315
  }
@@ -6321,7 +6330,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
6321
6330
  }
6322
6331
  } else if (isObject(setupResult)) {
6323
6332
  if (isVNode$2(setupResult)) {
6324
- warn(
6333
+ warn$1(
6325
6334
  `setup() should not return VNodes directly - return a render function instead.`
6326
6335
  );
6327
6336
  }
@@ -6333,7 +6342,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
6333
6342
  exposeSetupStateOnRenderContext(instance);
6334
6343
  }
6335
6344
  } else if (setupResult !== void 0) {
6336
- warn(
6345
+ warn$1(
6337
6346
  `setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`
6338
6347
  );
6339
6348
  }
@@ -6382,12 +6391,11 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
6382
6391
  }
6383
6392
  if (!Component.render && instance.render === NOOP && !isSSR) {
6384
6393
  if (Component.template) {
6385
- warn(
6394
+ warn$1(
6386
6395
  `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Use "vue.esm-browser.js" instead.` )
6387
- /* should not happen */
6388
6396
  );
6389
6397
  } else {
6390
- warn(`Component is missing template or render function.`);
6398
+ warn$1(`Component is missing template or render function.`);
6391
6399
  }
6392
6400
  }
6393
6401
  }
@@ -6401,11 +6409,11 @@ function getAttrsProxy(instance) {
6401
6409
  return target[key];
6402
6410
  },
6403
6411
  set() {
6404
- warn(`setupContext.attrs is readonly.`);
6412
+ warn$1(`setupContext.attrs is readonly.`);
6405
6413
  return false;
6406
6414
  },
6407
6415
  deleteProperty() {
6408
- warn(`setupContext.attrs is readonly.`);
6416
+ warn$1(`setupContext.attrs is readonly.`);
6409
6417
  return false;
6410
6418
  }
6411
6419
  }
@@ -6423,7 +6431,7 @@ function createSetupContext(instance) {
6423
6431
  const expose = (exposed) => {
6424
6432
  {
6425
6433
  if (instance.exposed) {
6426
- warn(`expose() should be called only once per setup().`);
6434
+ warn$1(`expose() should be called only once per setup().`);
6427
6435
  }
6428
6436
  if (exposed != null) {
6429
6437
  let exposedType = typeof exposed;
@@ -6435,7 +6443,7 @@ function createSetupContext(instance) {
6435
6443
  }
6436
6444
  }
6437
6445
  if (exposedType !== "object") {
6438
- warn(
6446
+ warn$1(
6439
6447
  `expose() should be passed a plain object, received ${exposedType}.`
6440
6448
  );
6441
6449
  }
@@ -6514,7 +6522,7 @@ const useSSRContext = () => {
6514
6522
  {
6515
6523
  const ctx = inject(ssrContextKey);
6516
6524
  if (!ctx) {
6517
- warn(
6525
+ warn$1(
6518
6526
  `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
6519
6527
  );
6520
6528
  }
@@ -6522,7 +6530,8 @@ const useSSRContext = () => {
6522
6530
  }
6523
6531
  };
6524
6532
 
6525
- const version = "3.4.0-rc.1";
6533
+ const version = "3.4.0-rc.3";
6534
+ const warn = warn$1 ;
6526
6535
  const _ssrUtils = {
6527
6536
  createComponentInstance: createComponentInstance$1,
6528
6537
  setupComponent: setupComponent$1,
@@ -7067,7 +7076,7 @@ function injectNativeTagCheck(app) {
7067
7076
  });
7068
7077
  }
7069
7078
  function injectCompilerOptionsCheck(app) {
7070
- {
7079
+ if (isRuntimeOnly()) {
7071
7080
  const isCustomElement = app.config.isCustomElement;
7072
7081
  Object.defineProperty(app.config, "isCustomElement", {
7073
7082
  get() {
@@ -7409,7 +7418,9 @@ function renderComponentVNode(vnode, parentComponent = null, slotScopeId) {
7409
7418
  let p = hasAsyncSetup ? res : Promise.resolve();
7410
7419
  if (prefetches) {
7411
7420
  p = p.then(
7412
- () => Promise.all(prefetches.map((prefetch) => prefetch.call(instance.proxy)))
7421
+ () => Promise.all(
7422
+ prefetches.map((prefetch) => prefetch.call(instance.proxy))
7423
+ )
7413
7424
  ).catch(() => {
7414
7425
  });
7415
7426
  }