@vue/runtime-core 3.2.45 → 3.2.47

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/README.md CHANGED
@@ -2,18 +2,18 @@
2
2
 
3
3
  > This package is published only for typing and building custom renderers. It is NOT meant to be used in applications.
4
4
 
5
- For full exposed APIs, see `src/index.ts`. You can also run `yarn build runtime-core --types` from repo root, which will generate an API report at `temp/runtime-core.api.md`.
5
+ For full exposed APIs, see `src/index.ts`. You can also run `pnpm build runtime-core --types` from repo root, which will generate an API report at `temp/runtime-core.api.md`.
6
6
 
7
7
  ## Building a Custom Renderer
8
8
 
9
- ``` ts
9
+ ```ts
10
10
  import { createRenderer } from '@vue/runtime-core'
11
11
 
12
12
  const { render, createApp } = createRenderer({
13
13
  patchProp,
14
14
  insert,
15
15
  remove,
16
- createElement,
16
+ createElement
17
17
  // ...
18
18
  })
19
19
 
@@ -118,6 +118,20 @@ function formatProp(key, value, raw) {
118
118
  return raw ? value : [`${key}=`, value];
119
119
  }
120
120
  }
121
+ /**
122
+ * @internal
123
+ */
124
+ function assertNumber(val, type) {
125
+ if (val === undefined) {
126
+ return;
127
+ }
128
+ else if (typeof val !== 'number') {
129
+ warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);
130
+ }
131
+ else if (isNaN(val)) {
132
+ warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');
133
+ }
134
+ }
121
135
 
122
136
  const ErrorTypeStrings = {
123
137
  ["sp" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',
@@ -555,9 +569,10 @@ function tryWrap(fn) {
555
569
  };
556
570
  }
557
571
 
572
+ exports.devtools = void 0;
558
573
  let buffer = [];
559
574
  let devtoolsNotInstalled = false;
560
- function emit(event, ...args) {
575
+ function emit$1(event, ...args) {
561
576
  if (exports.devtools) {
562
577
  exports.devtools.emit(event, ...args);
563
578
  }
@@ -604,7 +619,7 @@ function setDevtoolsHook(hook, target) {
604
619
  }
605
620
  }
606
621
  function devtoolsInitApp(app, version) {
607
- emit("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
622
+ emit$1("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
608
623
  Fragment,
609
624
  Text,
610
625
  Comment,
@@ -612,7 +627,7 @@ function devtoolsInitApp(app, version) {
612
627
  });
613
628
  }
614
629
  function devtoolsUnmountApp(app) {
615
- emit("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
630
+ emit$1("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
616
631
  }
617
632
  const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* DevtoolsHooks.COMPONENT_ADDED */);
618
633
  const devtoolsComponentUpdated =
@@ -628,21 +643,21 @@ const devtoolsComponentRemoved = (component) => {
628
643
  };
629
644
  function createDevtoolsComponentHook(hook) {
630
645
  return (component) => {
631
- emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
646
+ emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
632
647
  };
633
648
  }
634
649
  const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* DevtoolsHooks.PERFORMANCE_START */);
635
650
  const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* DevtoolsHooks.PERFORMANCE_END */);
636
651
  function createDevtoolsPerformanceHook(hook) {
637
652
  return (component, type, time) => {
638
- emit(hook, component.appContext.app, component.uid, component, type, time);
653
+ emit$1(hook, component.appContext.app, component.uid, component, type, time);
639
654
  };
640
655
  }
641
656
  function devtoolsComponentEmit(component, event, params) {
642
- emit("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
657
+ emit$1("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
643
658
  }
644
659
 
645
- function emit$1(instance, event, ...rawArgs) {
660
+ function emit(instance, event, ...rawArgs) {
646
661
  if (instance.isUnmounted)
647
662
  return;
648
663
  const props = instance.vnode.props || shared.EMPTY_OBJ;
@@ -678,7 +693,7 @@ function emit$1(instance, event, ...rawArgs) {
678
693
  args = rawArgs.map(a => (shared.isString(a) ? a.trim() : a));
679
694
  }
680
695
  if (number) {
681
- args = rawArgs.map(shared.toNumber);
696
+ args = rawArgs.map(shared.looseToNumber);
682
697
  }
683
698
  }
684
699
  {
@@ -1326,7 +1341,10 @@ function createSuspenseBoundary(vnode, parent, parentComponent, container, hidde
1326
1341
  console[console.info ? 'info' : 'log'](`<Suspense> is an experimental feature and its API will likely change.`);
1327
1342
  }
1328
1343
  const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;
1329
- const timeout = shared.toNumber(vnode.props && vnode.props.timeout);
1344
+ const timeout = vnode.props ? shared.toNumber(vnode.props.timeout) : undefined;
1345
+ {
1346
+ assertNumber(timeout, `Suspense timeout`);
1347
+ }
1330
1348
  const suspense = {
1331
1349
  vnode,
1332
1350
  parent,
@@ -1644,12 +1662,10 @@ function watchEffect(effect, options) {
1644
1662
  return doWatch(effect, null, options);
1645
1663
  }
1646
1664
  function watchPostEffect(effect, options) {
1647
- return doWatch(effect, null, ({ ...options, flush: 'post' }
1648
- ));
1665
+ return doWatch(effect, null, { ...options, flush: 'post' } );
1649
1666
  }
1650
1667
  function watchSyncEffect(effect, options) {
1651
- return doWatch(effect, null, ({ ...options, flush: 'sync' }
1652
- ));
1668
+ return doWatch(effect, null, { ...options, flush: 'sync' } );
1653
1669
  }
1654
1670
  // initial value for watchers to trigger on undefined initial values
1655
1671
  const INITIAL_WATCHER_VALUE = {};
@@ -1677,7 +1693,8 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = sh
1677
1693
  warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
1678
1694
  `a reactive object, or an array of these types.`);
1679
1695
  };
1680
- const instance = currentInstance;
1696
+ const instance = reactivity.getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;
1697
+ // const instance = currentInstance
1681
1698
  let getter;
1682
1699
  let forceTrigger = false;
1683
1700
  let isMultiSource = false;
@@ -1788,7 +1805,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = sh
1788
1805
  // pass undefined as the old value when it's changed for the first time
1789
1806
  oldValue === INITIAL_WATCHER_VALUE
1790
1807
  ? undefined
1791
- : (isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE)
1808
+ : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE
1792
1809
  ? []
1793
1810
  : oldValue,
1794
1811
  onCleanup
@@ -2491,7 +2508,7 @@ const KeepAliveImpl = {
2491
2508
  }
2492
2509
  function pruneCacheEntry(key) {
2493
2510
  const cached = cache.get(key);
2494
- if (!current || cached.type !== current.type) {
2511
+ if (!current || !isSameVNodeType(cached, current)) {
2495
2512
  unmount(cached);
2496
2513
  }
2497
2514
  else if (current) {
@@ -2523,7 +2540,7 @@ const KeepAliveImpl = {
2523
2540
  cache.forEach(cached => {
2524
2541
  const { subTree, suspense } = instance;
2525
2542
  const vnode = getInnerChild(subTree);
2526
- if (cached.type === vnode.type) {
2543
+ if (cached.type === vnode.type && cached.key === vnode.key) {
2527
2544
  // current instance will be unmounted as part of keep-alive's unmount
2528
2545
  resetShapeFlag(vnode);
2529
2546
  // but invoke its deactivated hook here
@@ -2620,7 +2637,7 @@ function matches(pattern, name) {
2620
2637
  else if (shared.isString(pattern)) {
2621
2638
  return pattern.split(',').includes(name);
2622
2639
  }
2623
- else if (pattern.test) {
2640
+ else if (shared.isRegExp(pattern)) {
2624
2641
  return pattern.test(name);
2625
2642
  }
2626
2643
  /* istanbul ignore next */
@@ -4033,8 +4050,8 @@ function validatePropName(key) {
4033
4050
  // use function string name to check type constructors
4034
4051
  // so that it works across vms / iframes.
4035
4052
  function getType(ctor) {
4036
- const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
4037
- return match ? match[1] : ctor === null ? 'null' : '';
4053
+ const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
4054
+ return match ? match[2] : ctor === null ? 'null' : '';
4038
4055
  }
4039
4056
  function isSameType(a, b) {
4040
4057
  return getType(a) === getType(b);
@@ -4322,7 +4339,7 @@ function createAppContext() {
4322
4339
  emitsCache: new WeakMap()
4323
4340
  };
4324
4341
  }
4325
- let uid = 0;
4342
+ let uid$1 = 0;
4326
4343
  function createAppAPI(render, hydrate) {
4327
4344
  return function createApp(rootComponent, rootProps = null) {
4328
4345
  if (!shared.isFunction(rootComponent)) {
@@ -4336,7 +4353,7 @@ function createAppAPI(render, hydrate) {
4336
4353
  const installedPlugins = new Set();
4337
4354
  let isMounted = false;
4338
4355
  const app = (context.app = {
4339
- _uid: uid++,
4356
+ _uid: uid$1++,
4340
4357
  _component: rootComponent,
4341
4358
  _props: rootProps,
4342
4359
  _container: null,
@@ -5138,6 +5155,8 @@ function baseCreateRenderer(options, createHydrationFns) {
5138
5155
  if (dirs) {
5139
5156
  invokeDirectiveHook(vnode, null, parentComponent, 'created');
5140
5157
  }
5158
+ // scopeId
5159
+ setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
5141
5160
  // props
5142
5161
  if (props) {
5143
5162
  for (const key in props) {
@@ -5161,8 +5180,6 @@ function baseCreateRenderer(options, createHydrationFns) {
5161
5180
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
5162
5181
  }
5163
5182
  }
5164
- // scopeId
5165
- setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
5166
5183
  {
5167
5184
  Object.defineProperty(el, '__vnode', {
5168
5185
  value: vnode,
@@ -6850,7 +6867,8 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
6850
6867
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
6851
6868
  el: vnode.el,
6852
6869
  anchor: vnode.anchor,
6853
- ctx: vnode.ctx
6870
+ ctx: vnode.ctx,
6871
+ ce: vnode.ce
6854
6872
  };
6855
6873
  return cloned;
6856
6874
  }
@@ -7017,13 +7035,13 @@ function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
7017
7035
  }
7018
7036
 
7019
7037
  const emptyAppContext = createAppContext();
7020
- let uid$1 = 0;
7038
+ let uid = 0;
7021
7039
  function createComponentInstance(vnode, parent, suspense) {
7022
7040
  const type = vnode.type;
7023
7041
  // inherit parent app context - or - if root, adopt from root vnode
7024
7042
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
7025
7043
  const instance = {
7026
- uid: uid$1++,
7044
+ uid: uid++,
7027
7045
  vnode,
7028
7046
  type,
7029
7047
  parent,
@@ -7093,7 +7111,7 @@ function createComponentInstance(vnode, parent, suspense) {
7093
7111
  instance.ctx = createDevRenderContext(instance);
7094
7112
  }
7095
7113
  instance.root = parent ? parent.root : instance;
7096
- instance.emit = emit$1.bind(null, instance);
7114
+ instance.emit = emit.bind(null, instance);
7097
7115
  // apply custom element special handling
7098
7116
  if (vnode.ce) {
7099
7117
  vnode.ce(instance);
@@ -7333,8 +7351,24 @@ function createAttrsProxy(instance) {
7333
7351
  }
7334
7352
  function createSetupContext(instance) {
7335
7353
  const expose = exposed => {
7336
- if (instance.exposed) {
7337
- warn(`expose() should be called only once per setup().`);
7354
+ {
7355
+ if (instance.exposed) {
7356
+ warn(`expose() should be called only once per setup().`);
7357
+ }
7358
+ if (exposed != null) {
7359
+ let exposedType = typeof exposed;
7360
+ if (exposedType === 'object') {
7361
+ if (shared.isArray(exposed)) {
7362
+ exposedType = 'array';
7363
+ }
7364
+ else if (reactivity.isRef(exposed)) {
7365
+ exposedType = 'ref';
7366
+ }
7367
+ }
7368
+ if (exposedType !== 'object') {
7369
+ warn(`expose() should be passed a plain object, received ${exposedType}.`);
7370
+ }
7371
+ }
7338
7372
  }
7339
7373
  instance.exposed = exposed || {};
7340
7374
  };
@@ -7827,7 +7861,7 @@ function isMemoSame(cached, memo) {
7827
7861
  }
7828
7862
 
7829
7863
  // Core API ------------------------------------------------------------------
7830
- const version = "3.2.45";
7864
+ const version = "3.2.47";
7831
7865
  const _ssrUtils = {
7832
7866
  createComponentInstance,
7833
7867
  setupComponent,
@@ -7891,6 +7925,7 @@ exports.Static = Static;
7891
7925
  exports.Suspense = Suspense;
7892
7926
  exports.Teleport = Teleport;
7893
7927
  exports.Text = Text;
7928
+ exports.assertNumber = assertNumber;
7894
7929
  exports.callWithAsyncErrorHandling = callWithAsyncErrorHandling;
7895
7930
  exports.callWithErrorHandling = callWithErrorHandling;
7896
7931
  exports.cloneVNode = cloneVNode;
@@ -8,6 +8,12 @@ var shared = require('@vue/shared');
8
8
  function warn(msg, ...args) {
9
9
  return;
10
10
  }
11
+ /**
12
+ * @internal
13
+ */
14
+ function assertNumber(val, type) {
15
+ return;
16
+ }
11
17
 
12
18
  function callWithErrorHandling(fn, instance, type, args) {
13
19
  let res;
@@ -225,6 +231,7 @@ function flushJobs(seen) {
225
231
  }
226
232
  }
227
233
 
234
+ exports.devtools = void 0;
228
235
  let buffer = [];
229
236
  function setDevtoolsHook(hook, target) {
230
237
  var _a, _b;
@@ -277,7 +284,7 @@ function emit(instance, event, ...rawArgs) {
277
284
  args = rawArgs.map(a => (shared.isString(a) ? a.trim() : a));
278
285
  }
279
286
  if (number) {
280
- args = rawArgs.map(shared.toNumber);
287
+ args = rawArgs.map(shared.looseToNumber);
281
288
  }
282
289
  }
283
290
  let handlerName;
@@ -802,7 +809,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
802
809
  }
803
810
  function createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
804
811
  const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;
805
- const timeout = shared.toNumber(vnode.props && vnode.props.timeout);
812
+ const timeout = vnode.props ? shared.toNumber(vnode.props.timeout) : undefined;
806
813
  const suspense = {
807
814
  vnode,
808
815
  parent,
@@ -1094,10 +1101,10 @@ function watchEffect(effect, options) {
1094
1101
  return doWatch(effect, null, options);
1095
1102
  }
1096
1103
  function watchPostEffect(effect, options) {
1097
- return doWatch(effect, null, ({ flush: 'post' }));
1104
+ return doWatch(effect, null, { flush: 'post' });
1098
1105
  }
1099
1106
  function watchSyncEffect(effect, options) {
1100
- return doWatch(effect, null, ({ flush: 'sync' }));
1107
+ return doWatch(effect, null, { flush: 'sync' });
1101
1108
  }
1102
1109
  // initial value for watchers to trigger on undefined initial values
1103
1110
  const INITIAL_WATCHER_VALUE = {};
@@ -1106,7 +1113,8 @@ function watch(source, cb, options) {
1106
1113
  return doWatch(source, cb, options);
1107
1114
  }
1108
1115
  function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = shared.EMPTY_OBJ) {
1109
- const instance = currentInstance;
1116
+ const instance = reactivity.getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;
1117
+ // const instance = currentInstance
1110
1118
  let getter;
1111
1119
  let forceTrigger = false;
1112
1120
  let isMultiSource = false;
@@ -1214,7 +1222,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = sh
1214
1222
  // pass undefined as the old value when it's changed for the first time
1215
1223
  oldValue === INITIAL_WATCHER_VALUE
1216
1224
  ? undefined
1217
- : (isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE)
1225
+ : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE
1218
1226
  ? []
1219
1227
  : oldValue,
1220
1228
  onCleanup
@@ -1881,7 +1889,7 @@ const KeepAliveImpl = {
1881
1889
  }
1882
1890
  function pruneCacheEntry(key) {
1883
1891
  const cached = cache.get(key);
1884
- if (!current || cached.type !== current.type) {
1892
+ if (!current || !isSameVNodeType(cached, current)) {
1885
1893
  unmount(cached);
1886
1894
  }
1887
1895
  else if (current) {
@@ -1913,7 +1921,7 @@ const KeepAliveImpl = {
1913
1921
  cache.forEach(cached => {
1914
1922
  const { subTree, suspense } = instance;
1915
1923
  const vnode = getInnerChild(subTree);
1916
- if (cached.type === vnode.type) {
1924
+ if (cached.type === vnode.type && cached.key === vnode.key) {
1917
1925
  // current instance will be unmounted as part of keep-alive's unmount
1918
1926
  resetShapeFlag(vnode);
1919
1927
  // but invoke its deactivated hook here
@@ -2007,7 +2015,7 @@ function matches(pattern, name) {
2007
2015
  else if (shared.isString(pattern)) {
2008
2016
  return pattern.split(',').includes(name);
2009
2017
  }
2010
- else if (pattern.test) {
2018
+ else if (shared.isRegExp(pattern)) {
2011
2019
  return pattern.test(name);
2012
2020
  }
2013
2021
  /* istanbul ignore next */
@@ -3169,8 +3177,8 @@ function validatePropName(key) {
3169
3177
  // use function string name to check type constructors
3170
3178
  // so that it works across vms / iframes.
3171
3179
  function getType(ctor) {
3172
- const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
3173
- return match ? match[1] : ctor === null ? 'null' : '';
3180
+ const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
3181
+ return match ? match[2] : ctor === null ? 'null' : '';
3174
3182
  }
3175
3183
  function isSameType(a, b) {
3176
3184
  return getType(a) === getType(b);
@@ -3310,7 +3318,7 @@ function createAppContext() {
3310
3318
  emitsCache: new WeakMap()
3311
3319
  };
3312
3320
  }
3313
- let uid = 0;
3321
+ let uid$1 = 0;
3314
3322
  function createAppAPI(render, hydrate) {
3315
3323
  return function createApp(rootComponent, rootProps = null) {
3316
3324
  if (!shared.isFunction(rootComponent)) {
@@ -3323,7 +3331,7 @@ function createAppAPI(render, hydrate) {
3323
3331
  const installedPlugins = new Set();
3324
3332
  let isMounted = false;
3325
3333
  const app = (context.app = {
3326
- _uid: uid++,
3334
+ _uid: uid$1++,
3327
3335
  _component: rootComponent,
3328
3336
  _props: rootProps,
3329
3337
  _container: null,
@@ -3969,6 +3977,8 @@ function baseCreateRenderer(options, createHydrationFns) {
3969
3977
  if (dirs) {
3970
3978
  invokeDirectiveHook(vnode, null, parentComponent, 'created');
3971
3979
  }
3980
+ // scopeId
3981
+ setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
3972
3982
  // props
3973
3983
  if (props) {
3974
3984
  for (const key in props) {
@@ -3992,8 +4002,6 @@ function baseCreateRenderer(options, createHydrationFns) {
3992
4002
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
3993
4003
  }
3994
4004
  }
3995
- // scopeId
3996
- setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
3997
4005
  if (dirs) {
3998
4006
  invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');
3999
4007
  }
@@ -5480,7 +5488,8 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
5480
5488
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
5481
5489
  el: vnode.el,
5482
5490
  anchor: vnode.anchor,
5483
- ctx: vnode.ctx
5491
+ ctx: vnode.ctx,
5492
+ ce: vnode.ce
5484
5493
  };
5485
5494
  return cloned;
5486
5495
  }
@@ -5636,13 +5645,13 @@ function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
5636
5645
  }
5637
5646
 
5638
5647
  const emptyAppContext = createAppContext();
5639
- let uid$1 = 0;
5648
+ let uid = 0;
5640
5649
  function createComponentInstance(vnode, parent, suspense) {
5641
5650
  const type = vnode.type;
5642
5651
  // inherit parent app context - or - if root, adopt from root vnode
5643
5652
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
5644
5653
  const instance = {
5645
- uid: uid$1++,
5654
+ uid: uid++,
5646
5655
  vnode,
5647
5656
  type,
5648
5657
  parent,
@@ -6113,7 +6122,7 @@ function isMemoSame(cached, memo) {
6113
6122
  }
6114
6123
 
6115
6124
  // Core API ------------------------------------------------------------------
6116
- const version = "3.2.45";
6125
+ const version = "3.2.47";
6117
6126
  const _ssrUtils = {
6118
6127
  createComponentInstance,
6119
6128
  setupComponent,
@@ -6177,6 +6186,7 @@ exports.Static = Static;
6177
6186
  exports.Suspense = Suspense;
6178
6187
  exports.Teleport = Teleport;
6179
6188
  exports.Text = Text;
6189
+ exports.assertNumber = assertNumber;
6180
6190
  exports.callWithAsyncErrorHandling = callWithAsyncErrorHandling;
6181
6191
  exports.callWithErrorHandling = callWithErrorHandling;
6182
6192
  exports.cloneVNode = cloneVNode;
@@ -75,7 +75,8 @@ export declare interface AllowedComponentProps {
75
75
  export declare interface App<HostElement = any> {
76
76
  version: string;
77
77
  config: AppConfig;
78
- use(plugin: Plugin_2, ...options: any[]): this;
78
+ use<Options extends unknown[]>(plugin: Plugin_2<Options>, ...options: Options): this;
79
+ use<Options>(plugin: Plugin_2<Options>, options: Options): this;
79
80
  mixin(mixin: ComponentOptions): this;
80
81
  component(name: string): Component | undefined;
81
82
  component(name: string, component: Component): this;
@@ -142,6 +143,8 @@ declare interface AppRecord {
142
143
  types: Record<string, string | Symbol>;
143
144
  }
144
145
 
146
+ /* Excluded from this release type: assertNumber */
147
+
145
148
  export declare type AsyncComponentLoader<T = any> = () => Promise<AsyncComponentResolveResult<T>>;
146
149
 
147
150
  export declare interface AsyncComponentOptions<T = any> {
@@ -185,6 +188,8 @@ declare const enum BooleanFlags {
185
188
  shouldCastTrue = 1
186
189
  }
187
190
 
191
+ declare type BooleanKey<T, K extends keyof T = keyof T> = K extends any ? [T[K]] extends [boolean | undefined] ? K : never : never;
192
+
188
193
  export declare function callWithAsyncErrorHandling(fn: Function | Function[], instance: ComponentInternalInstance | null, type: ErrorTypes, args?: unknown[]): any[];
189
194
 
190
195
  export declare function callWithErrorHandling(fn: Function, instance: ComponentInternalInstance | null, type: ErrorTypes, args?: unknown[]): any;
@@ -444,7 +449,7 @@ export declare interface ComponentOptionsBase<Props, RawBindings, D, C extends C
444
449
  inheritAttrs?: boolean;
445
450
  emits?: (E | EE[]) & ThisType<void>;
446
451
  expose?: string[];
447
- serverPrefetch?(): Promise<any>;
452
+ serverPrefetch?(): void | Promise<any>;
448
453
  compilerOptions?: RuntimeCompilerOptions;
449
454
  /* Excluded from this release type: ssrRender */
450
455
  /* Excluded from this release type: __ssrInlineRender */
@@ -739,7 +744,9 @@ export declare function defineProps<PropNames extends string = string>(props: Pr
739
744
 
740
745
  export declare function defineProps<PP extends ComponentObjectPropsOptions = ComponentObjectPropsOptions>(props: PP): Readonly<ExtractPropTypes<PP>>;
741
746
 
742
- export declare function defineProps<TypeProps>(): Readonly<TypeProps>;
747
+ export declare function defineProps<TypeProps>(): Readonly<Omit<TypeProps, BooleanKey<TypeProps>> & {
748
+ [K in keyof Pick<TypeProps, BooleanKey<TypeProps>>]-?: NotUndefined<TypeProps[K]>;
749
+ }>;
743
750
 
744
751
  export declare const enum DeprecationTypes {
745
752
  GLOBAL_MOUNT = "GLOBAL_MOUNT",
@@ -1336,14 +1343,14 @@ declare type PatchChildrenFn = (n1: VNode | null, n2: VNode, container: Renderer
1336
1343
  declare type PatchFn = (n1: VNode | null, // null means this is a mount
1337
1344
  n2: VNode, container: RendererElement, anchor?: RendererNode | null, parentComponent?: ComponentInternalInstance | null, parentSuspense?: SuspenseBoundary | null, isSVG?: boolean, slotScopeIds?: string[] | null, optimized?: boolean) => void;
1338
1345
 
1339
- declare type Plugin_2 = (PluginInstallFunction & {
1340
- install?: PluginInstallFunction;
1346
+ declare type Plugin_2<Options = any[]> = (PluginInstallFunction<Options> & {
1347
+ install?: PluginInstallFunction<Options>;
1341
1348
  }) | {
1342
- install: PluginInstallFunction;
1349
+ install: PluginInstallFunction<Options>;
1343
1350
  };
1344
1351
  export { Plugin_2 as Plugin }
1345
1352
 
1346
- declare type PluginInstallFunction = (app: App, ...options: any[]) => any;
1353
+ declare type PluginInstallFunction<Options> = Options extends unknown[] ? (app: App, ...options: Options) => any : (app: App, options: Options) => any;
1347
1354
 
1348
1355
  /**
1349
1356
  * Technically we no longer need this after 3.0.8 but we need to keep the same
@@ -1635,12 +1642,12 @@ export declare function setTransitionHooks(vnode: VNode, hooks: TransitionHooks)
1635
1642
 
1636
1643
  declare function setupComponent(instance: ComponentInternalInstance, isSSR?: boolean): Promise<void> | undefined;
1637
1644
 
1638
- export declare interface SetupContext<E = EmitsOptions> {
1645
+ export declare type SetupContext<E = EmitsOptions> = E extends any ? {
1639
1646
  attrs: Data;
1640
1647
  slots: Slots;
1641
1648
  emit: EmitFn<E>;
1642
1649
  expose: (exposed?: Record<string, any>) => void;
1643
- }
1650
+ } : never;
1644
1651
 
1645
1652
  declare type SetupRenderEffectFn = (instance: ComponentInternalInstance, initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, optimized: boolean) => void;
1646
1653
 
@@ -1,6 +1,6 @@
1
- import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';
1
+ import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';
2
2
  export { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';
3
- import { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';
3
+ import { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isRegExp, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';
4
4
  export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
5
5
 
6
6
  const stack = [];
@@ -118,6 +118,22 @@ function formatProp(key, value, raw) {
118
118
  return raw ? value : [`${key}=`, value];
119
119
  }
120
120
  }
121
+ /**
122
+ * @internal
123
+ */
124
+ function assertNumber(val, type) {
125
+ if (!(process.env.NODE_ENV !== 'production'))
126
+ return;
127
+ if (val === undefined) {
128
+ return;
129
+ }
130
+ else if (typeof val !== 'number') {
131
+ warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);
132
+ }
133
+ else if (isNaN(val)) {
134
+ warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');
135
+ }
136
+ }
121
137
 
122
138
  const ErrorTypeStrings = {
123
139
  ["sp" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',
@@ -564,7 +580,7 @@ function tryWrap(fn) {
564
580
  let devtools;
565
581
  let buffer = [];
566
582
  let devtoolsNotInstalled = false;
567
- function emit(event, ...args) {
583
+ function emit$1(event, ...args) {
568
584
  if (devtools) {
569
585
  devtools.emit(event, ...args);
570
586
  }
@@ -611,7 +627,7 @@ function setDevtoolsHook(hook, target) {
611
627
  }
612
628
  }
613
629
  function devtoolsInitApp(app, version) {
614
- emit("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
630
+ emit$1("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
615
631
  Fragment,
616
632
  Text,
617
633
  Comment,
@@ -619,7 +635,7 @@ function devtoolsInitApp(app, version) {
619
635
  });
620
636
  }
621
637
  function devtoolsUnmountApp(app) {
622
- emit("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
638
+ emit$1("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
623
639
  }
624
640
  const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* DevtoolsHooks.COMPONENT_ADDED */);
625
641
  const devtoolsComponentUpdated =
@@ -635,21 +651,21 @@ const devtoolsComponentRemoved = (component) => {
635
651
  };
636
652
  function createDevtoolsComponentHook(hook) {
637
653
  return (component) => {
638
- emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
654
+ emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
639
655
  };
640
656
  }
641
657
  const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* DevtoolsHooks.PERFORMANCE_START */);
642
658
  const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* DevtoolsHooks.PERFORMANCE_END */);
643
659
  function createDevtoolsPerformanceHook(hook) {
644
660
  return (component, type, time) => {
645
- emit(hook, component.appContext.app, component.uid, component, type, time);
661
+ emit$1(hook, component.appContext.app, component.uid, component, type, time);
646
662
  };
647
663
  }
648
664
  function devtoolsComponentEmit(component, event, params) {
649
- emit("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
665
+ emit$1("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
650
666
  }
651
667
 
652
- function emit$1(instance, event, ...rawArgs) {
668
+ function emit(instance, event, ...rawArgs) {
653
669
  if (instance.isUnmounted)
654
670
  return;
655
671
  const props = instance.vnode.props || EMPTY_OBJ;
@@ -685,7 +701,7 @@ function emit$1(instance, event, ...rawArgs) {
685
701
  args = rawArgs.map(a => (isString(a) ? a.trim() : a));
686
702
  }
687
703
  if (number) {
688
- args = rawArgs.map(toNumber);
704
+ args = rawArgs.map(looseToNumber);
689
705
  }
690
706
  }
691
707
  if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {
@@ -1334,7 +1350,10 @@ function createSuspenseBoundary(vnode, parent, parentComponent, container, hidde
1334
1350
  console[console.info ? 'info' : 'log'](`<Suspense> is an experimental feature and its API will likely change.`);
1335
1351
  }
1336
1352
  const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;
1337
- const timeout = toNumber(vnode.props && vnode.props.timeout);
1353
+ const timeout = vnode.props ? toNumber(vnode.props.timeout) : undefined;
1354
+ if ((process.env.NODE_ENV !== 'production')) {
1355
+ assertNumber(timeout, `Suspense timeout`);
1356
+ }
1338
1357
  const suspense = {
1339
1358
  vnode,
1340
1359
  parent,
@@ -1652,12 +1671,10 @@ function watchEffect(effect, options) {
1652
1671
  return doWatch(effect, null, options);
1653
1672
  }
1654
1673
  function watchPostEffect(effect, options) {
1655
- return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')
1656
- ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));
1674
+ return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' });
1657
1675
  }
1658
1676
  function watchSyncEffect(effect, options) {
1659
- return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')
1660
- ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));
1677
+ return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' });
1661
1678
  }
1662
1679
  // initial value for watchers to trigger on undefined initial values
1663
1680
  const INITIAL_WATCHER_VALUE = {};
@@ -1685,7 +1702,8 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
1685
1702
  warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
1686
1703
  `a reactive object, or an array of these types.`);
1687
1704
  };
1688
- const instance = currentInstance;
1705
+ const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;
1706
+ // const instance = currentInstance
1689
1707
  let getter;
1690
1708
  let forceTrigger = false;
1691
1709
  let isMultiSource = false;
@@ -1796,7 +1814,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
1796
1814
  // pass undefined as the old value when it's changed for the first time
1797
1815
  oldValue === INITIAL_WATCHER_VALUE
1798
1816
  ? undefined
1799
- : (isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE)
1817
+ : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE
1800
1818
  ? []
1801
1819
  : oldValue,
1802
1820
  onCleanup
@@ -2502,7 +2520,7 @@ const KeepAliveImpl = {
2502
2520
  }
2503
2521
  function pruneCacheEntry(key) {
2504
2522
  const cached = cache.get(key);
2505
- if (!current || cached.type !== current.type) {
2523
+ if (!current || !isSameVNodeType(cached, current)) {
2506
2524
  unmount(cached);
2507
2525
  }
2508
2526
  else if (current) {
@@ -2534,7 +2552,7 @@ const KeepAliveImpl = {
2534
2552
  cache.forEach(cached => {
2535
2553
  const { subTree, suspense } = instance;
2536
2554
  const vnode = getInnerChild(subTree);
2537
- if (cached.type === vnode.type) {
2555
+ if (cached.type === vnode.type && cached.key === vnode.key) {
2538
2556
  // current instance will be unmounted as part of keep-alive's unmount
2539
2557
  resetShapeFlag(vnode);
2540
2558
  // but invoke its deactivated hook here
@@ -2631,7 +2649,7 @@ function matches(pattern, name) {
2631
2649
  else if (isString(pattern)) {
2632
2650
  return pattern.split(',').includes(name);
2633
2651
  }
2634
- else if (pattern.test) {
2652
+ else if (isRegExp(pattern)) {
2635
2653
  return pattern.test(name);
2636
2654
  }
2637
2655
  /* istanbul ignore next */
@@ -4052,8 +4070,8 @@ function validatePropName(key) {
4052
4070
  // use function string name to check type constructors
4053
4071
  // so that it works across vms / iframes.
4054
4072
  function getType(ctor) {
4055
- const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
4056
- return match ? match[1] : ctor === null ? 'null' : '';
4073
+ const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
4074
+ return match ? match[2] : ctor === null ? 'null' : '';
4057
4075
  }
4058
4076
  function isSameType(a, b) {
4059
4077
  return getType(a) === getType(b);
@@ -4343,7 +4361,7 @@ function createAppContext() {
4343
4361
  emitsCache: new WeakMap()
4344
4362
  };
4345
4363
  }
4346
- let uid = 0;
4364
+ let uid$1 = 0;
4347
4365
  function createAppAPI(render, hydrate) {
4348
4366
  return function createApp(rootComponent, rootProps = null) {
4349
4367
  if (!isFunction(rootComponent)) {
@@ -4357,7 +4375,7 @@ function createAppAPI(render, hydrate) {
4357
4375
  const installedPlugins = new Set();
4358
4376
  let isMounted = false;
4359
4377
  const app = (context.app = {
4360
- _uid: uid++,
4378
+ _uid: uid$1++,
4361
4379
  _component: rootComponent,
4362
4380
  _props: rootProps,
4363
4381
  _container: null,
@@ -5197,6 +5215,8 @@ function baseCreateRenderer(options, createHydrationFns) {
5197
5215
  if (dirs) {
5198
5216
  invokeDirectiveHook(vnode, null, parentComponent, 'created');
5199
5217
  }
5218
+ // scopeId
5219
+ setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
5200
5220
  // props
5201
5221
  if (props) {
5202
5222
  for (const key in props) {
@@ -5220,8 +5240,6 @@ function baseCreateRenderer(options, createHydrationFns) {
5220
5240
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
5221
5241
  }
5222
5242
  }
5223
- // scopeId
5224
- setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
5225
5243
  if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {
5226
5244
  Object.defineProperty(el, '__vnode', {
5227
5245
  value: vnode,
@@ -6917,7 +6935,8 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
6917
6935
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
6918
6936
  el: vnode.el,
6919
6937
  anchor: vnode.anchor,
6920
- ctx: vnode.ctx
6938
+ ctx: vnode.ctx,
6939
+ ce: vnode.ce
6921
6940
  };
6922
6941
  return cloned;
6923
6942
  }
@@ -7084,13 +7103,13 @@ function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
7084
7103
  }
7085
7104
 
7086
7105
  const emptyAppContext = createAppContext();
7087
- let uid$1 = 0;
7106
+ let uid = 0;
7088
7107
  function createComponentInstance(vnode, parent, suspense) {
7089
7108
  const type = vnode.type;
7090
7109
  // inherit parent app context - or - if root, adopt from root vnode
7091
7110
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
7092
7111
  const instance = {
7093
- uid: uid$1++,
7112
+ uid: uid++,
7094
7113
  vnode,
7095
7114
  type,
7096
7115
  parent,
@@ -7163,7 +7182,7 @@ function createComponentInstance(vnode, parent, suspense) {
7163
7182
  instance.ctx = { _: instance };
7164
7183
  }
7165
7184
  instance.root = parent ? parent.root : instance;
7166
- instance.emit = emit$1.bind(null, instance);
7185
+ instance.emit = emit.bind(null, instance);
7167
7186
  // apply custom element special handling
7168
7187
  if (vnode.ce) {
7169
7188
  vnode.ce(instance);
@@ -7410,8 +7429,24 @@ function createAttrsProxy(instance) {
7410
7429
  }
7411
7430
  function createSetupContext(instance) {
7412
7431
  const expose = exposed => {
7413
- if ((process.env.NODE_ENV !== 'production') && instance.exposed) {
7414
- warn(`expose() should be called only once per setup().`);
7432
+ if ((process.env.NODE_ENV !== 'production')) {
7433
+ if (instance.exposed) {
7434
+ warn(`expose() should be called only once per setup().`);
7435
+ }
7436
+ if (exposed != null) {
7437
+ let exposedType = typeof exposed;
7438
+ if (exposedType === 'object') {
7439
+ if (isArray(exposed)) {
7440
+ exposedType = 'array';
7441
+ }
7442
+ else if (isRef(exposed)) {
7443
+ exposedType = 'ref';
7444
+ }
7445
+ }
7446
+ if (exposedType !== 'object') {
7447
+ warn(`expose() should be passed a plain object, received ${exposedType}.`);
7448
+ }
7449
+ }
7415
7450
  }
7416
7451
  instance.exposed = exposed || {};
7417
7452
  };
@@ -7915,7 +7950,7 @@ function isMemoSame(cached, memo) {
7915
7950
  }
7916
7951
 
7917
7952
  // Core API ------------------------------------------------------------------
7918
- const version = "3.2.45";
7953
+ const version = "3.2.47";
7919
7954
  const _ssrUtils = {
7920
7955
  createComponentInstance,
7921
7956
  setupComponent,
@@ -7938,4 +7973,4 @@ const resolveFilter = null;
7938
7973
  */
7939
7974
  const compatUtils = (null);
7940
7975
 
7941
- export { BaseTransition, Comment, Fragment, KeepAlive, Static, Suspense, Teleport, Text, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineProps, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useSSRContext, useSlots, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
7976
+ export { BaseTransition, Comment, Fragment, KeepAlive, Static, Suspense, Teleport, Text, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineProps, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useSSRContext, useSlots, useTransitionState, version, warn, 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.2.45",
3
+ "version": "3.2.47",
4
4
  "description": "@vue/runtime-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/runtime-core.esm-bundler.js",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
34
34
  "dependencies": {
35
- "@vue/shared": "3.2.45",
36
- "@vue/reactivity": "3.2.45"
35
+ "@vue/shared": "3.2.47",
36
+ "@vue/reactivity": "3.2.47"
37
37
  }
38
38
  }