@vue/runtime-core 3.2.14 → 3.2.18

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.
@@ -14,14 +14,7 @@ const hmrDirtyComponents = new Set();
14
14
  // Note: for a component to be eligible for HMR it also needs the __hmrId option
15
15
  // to be set so that its instances can be registered / removed.
16
16
  {
17
- const globalObject = typeof global !== 'undefined'
18
- ? global
19
- : typeof self !== 'undefined'
20
- ? self
21
- : typeof window !== 'undefined'
22
- ? window
23
- : {};
24
- globalObject.__VUE_HMR_RUNTIME__ = {
17
+ shared.getGlobalThis().__VUE_HMR_RUNTIME__ = {
25
18
  createRecord: tryWrap(createRecord),
26
19
  rerender: tryWrap(rerender),
27
20
  reload: tryWrap(reload)
@@ -6292,19 +6285,11 @@ const isRuntimeOnly = () => !compile;
6292
6285
  function finishComponentSetup(instance, isSSR, skipOptions) {
6293
6286
  const Component = instance.type;
6294
6287
  // template / render function normalization
6295
- if (isSSR) {
6296
- // 1. the render function may already exist, returned by `setup`
6297
- // 2. otherwise try to use the `Component.render`
6298
- // 3. if the component doesn't have a render function,
6299
- // set `instance.render` to NOOP so that it can inherit the render
6300
- // function from mixins/extend
6301
- instance.render = (instance.render ||
6302
- Component.render ||
6303
- shared.NOOP);
6304
- }
6305
- else if (!instance.render) {
6306
- // could be set from setup()
6307
- if (compile && !Component.render) {
6288
+ // could be already set when returned from setup()
6289
+ if (!instance.render) {
6290
+ // only do on-the-fly compile if not in SSR - SSR on-the-fly compliation
6291
+ // is done by server-renderer
6292
+ if (!isSSR && compile && !Component.render) {
6308
6293
  const template = Component.template;
6309
6294
  if (template) {
6310
6295
  {
@@ -7528,7 +7513,7 @@ function isMemoSame(cached, memo) {
7528
7513
  }
7529
7514
 
7530
7515
  // Core API ------------------------------------------------------------------
7531
- const version = "3.2.14";
7516
+ const version = "3.2.18";
7532
7517
  const _ssrUtils = {
7533
7518
  createComponentInstance,
7534
7519
  setupComponent,
@@ -5135,19 +5135,11 @@ const isRuntimeOnly = () => !compile;
5135
5135
  function finishComponentSetup(instance, isSSR, skipOptions) {
5136
5136
  const Component = instance.type;
5137
5137
  // template / render function normalization
5138
- if (isSSR) {
5139
- // 1. the render function may already exist, returned by `setup`
5140
- // 2. otherwise try to use the `Component.render`
5141
- // 3. if the component doesn't have a render function,
5142
- // set `instance.render` to NOOP so that it can inherit the render
5143
- // function from mixins/extend
5144
- instance.render = (instance.render ||
5145
- Component.render ||
5146
- shared.NOOP);
5147
- }
5148
- else if (!instance.render) {
5149
- // could be set from setup()
5150
- if (compile && !Component.render) {
5138
+ // could be already set when returned from setup()
5139
+ if (!instance.render) {
5140
+ // only do on-the-fly compile if not in SSR - SSR on-the-fly compliation
5141
+ // is done by server-renderer
5142
+ if (!isSSR && compile && !Component.render) {
5151
5143
  const template = Component.template;
5152
5144
  if (template) {
5153
5145
  const { isCustomElement, compilerOptions } = instance.appContext.config;
@@ -6004,7 +5996,7 @@ function isMemoSame(cached, memo) {
6004
5996
  }
6005
5997
 
6006
5998
  // Core API ------------------------------------------------------------------
6007
- const version = "3.2.14";
5999
+ const version = "3.2.18";
6008
6000
  const _ssrUtils = {
6009
6001
  createComponentInstance,
6010
6002
  setupComponent,
@@ -1,6 +1,6 @@
1
1
  import { toRaw, ref, pauseTracking, resetTracking, reactive, computed, isRef, shallowReactive, trigger, ReactiveEffect, isProxy, shallowReadonly, track, EffectScope, markRaw, proxyRefs, isReactive, isReadonly } from '@vue/reactivity';
2
2
  export { EffectScope, ReactiveEffect, computed, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';
3
- import { extend, EMPTY_OBJ, toHandlerKey, isFunction as isFunction$1, toNumber, hyphenate, camelize, isArray, isOn, hasOwn, isModelListener, isObject as isObject$1, remove, isString, invokeArrayFns, isPromise as isPromise$1, NOOP, def, isReservedProp, EMPTY_ARR, capitalize, toRawType, makeMap, NO, getGlobalThis, normalizeClass, normalizeStyle, isGloballyWhitelisted, hasChanged, isSet, isMap, isPlainObject } from '@vue/shared';
3
+ import { getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, isFunction as isFunction$1, toNumber, hyphenate, camelize, isArray, isOn, hasOwn, isModelListener, isObject as isObject$1, remove, isString, invokeArrayFns, isPromise as isPromise$1, NOOP, def, isReservedProp, EMPTY_ARR, capitalize, toRawType, makeMap, NO, normalizeClass, normalizeStyle, isGloballyWhitelisted, hasChanged, isSet, isMap, isPlainObject } from '@vue/shared';
4
4
  export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
5
5
 
6
6
  /* eslint-disable no-restricted-globals */
@@ -12,14 +12,7 @@ const hmrDirtyComponents = new Set();
12
12
  // Note: for a component to be eligible for HMR it also needs the __hmrId option
13
13
  // to be set so that its instances can be registered / removed.
14
14
  if ((process.env.NODE_ENV !== 'production')) {
15
- const globalObject = typeof global !== 'undefined'
16
- ? global
17
- : typeof self !== 'undefined'
18
- ? self
19
- : typeof window !== 'undefined'
20
- ? window
21
- : {};
22
- globalObject.__VUE_HMR_RUNTIME__ = {
15
+ getGlobalThis().__VUE_HMR_RUNTIME__ = {
23
16
  createRecord: tryWrap(createRecord),
24
17
  rerender: tryWrap(rerender),
25
18
  reload: tryWrap(reload)
@@ -1568,7 +1561,7 @@ function defineAsyncComponent(source) {
1568
1561
  };
1569
1562
  // suspense-controlled or SSR.
1570
1563
  if ((suspensible && instance.suspense) ||
1571
- (false )) {
1564
+ (isInSSRComponentSetup)) {
1572
1565
  return load()
1573
1566
  .then(comp => {
1574
1567
  return () => createInnerComp(comp, instance);
@@ -3563,20 +3556,22 @@ function isSupported() {
3563
3556
  * istanbul-ignore-next
3564
3557
  */
3565
3558
  function initFeatureFlags() {
3566
- let needWarn = false;
3559
+ const needWarn = [];
3567
3560
  if (typeof __VUE_OPTIONS_API__ !== 'boolean') {
3568
- needWarn = true;
3561
+ (process.env.NODE_ENV !== 'production') && needWarn.push(`__VUE_OPTIONS_API__`);
3569
3562
  getGlobalThis().__VUE_OPTIONS_API__ = true;
3570
3563
  }
3571
3564
  if (typeof __VUE_PROD_DEVTOOLS__ !== 'boolean') {
3572
- needWarn = true;
3565
+ (process.env.NODE_ENV !== 'production') && needWarn.push(`__VUE_PROD_DEVTOOLS__`);
3573
3566
  getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;
3574
3567
  }
3575
- if ((process.env.NODE_ENV !== 'production') && needWarn) {
3576
- console.warn(`You are running the esm-bundler build of Vue. It is recommended to ` +
3577
- `configure your bundler to explicitly replace feature flag globals ` +
3578
- `with boolean literals to get proper tree-shaking in the final bundle. ` +
3579
- `See http://link.vuejs.org/feature-flags for more details.`);
3568
+ if ((process.env.NODE_ENV !== 'production') && needWarn.length) {
3569
+ const multi = needWarn.length > 1;
3570
+ console.warn(`Feature flag${multi ? `s` : ``} ${needWarn.join(', ')} ${multi ? `are` : `is`} not explicitly defined. You are running the esm-bundler build of Vue, ` +
3571
+ `which expects these compile-time feature flags to be globally injected ` +
3572
+ `via the bundler config in order to get better tree-shaking in the ` +
3573
+ `production bundle.\n\n` +
3574
+ `For more details, see http://link.vuejs.org/feature-flags.`);
3580
3575
  }
3581
3576
  }
3582
3577
 
@@ -6311,7 +6306,12 @@ function setupStatefulComponent(instance, isSSR) {
6311
6306
  function handleSetupResult(instance, setupResult, isSSR) {
6312
6307
  if (isFunction$1(setupResult)) {
6313
6308
  // setup returned an inline render function
6314
- {
6309
+ if (instance.type.__ssrInlineRender) {
6310
+ // when the function's name is `ssrRender` (compiled by SFC inline mode),
6311
+ // set it as ssrRender instead.
6312
+ instance.ssrRender = setupResult;
6313
+ }
6314
+ else {
6315
6315
  instance.render = setupResult;
6316
6316
  }
6317
6317
  }
@@ -6354,9 +6354,11 @@ const isRuntimeOnly = () => !compile;
6354
6354
  function finishComponentSetup(instance, isSSR, skipOptions) {
6355
6355
  const Component = instance.type;
6356
6356
  // template / render function normalization
6357
+ // could be already set when returned from setup()
6357
6358
  if (!instance.render) {
6358
- // could be set from setup()
6359
- if (compile && !Component.render) {
6359
+ // only do on-the-fly compile if not in SSR - SSR on-the-fly compliation
6360
+ // is done by server-renderer
6361
+ if (!isSSR && compile && !Component.render) {
6360
6362
  const template = Component.template;
6361
6363
  if (template) {
6362
6364
  if ((process.env.NODE_ENV !== 'production')) {
@@ -7045,6 +7047,23 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
7045
7047
  callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);
7046
7048
  };
7047
7049
  };
7050
+ // in SSR there is no need to setup an actual effect, and it should be noop
7051
+ // unless it's eager
7052
+ if (isInSSRComponentSetup) {
7053
+ // we will also not call the invalidate callback (+ runner is not set up)
7054
+ onInvalidate = NOOP;
7055
+ if (!cb) {
7056
+ getter();
7057
+ }
7058
+ else if (immediate) {
7059
+ callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [
7060
+ getter(),
7061
+ isMultiSource ? [] : undefined,
7062
+ onInvalidate
7063
+ ]);
7064
+ }
7065
+ return NOOP;
7066
+ }
7048
7067
  let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;
7049
7068
  const job = () => {
7050
7069
  if (!effect.active) {
@@ -7590,7 +7609,7 @@ function isMemoSame(cached, memo) {
7590
7609
  }
7591
7610
 
7592
7611
  // Core API ------------------------------------------------------------------
7593
- const version = "3.2.14";
7612
+ const version = "3.2.18";
7594
7613
  const _ssrUtils = {
7595
7614
  createComponentInstance,
7596
7615
  setupComponent,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.2.14",
3
+ "version": "3.2.18",
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/vue-next/tree/master/packages/runtime-core#readme",
34
34
  "dependencies": {
35
- "@vue/shared": "3.2.14",
36
- "@vue/reactivity": "3.2.14"
35
+ "@vue/shared": "3.2.18",
36
+ "@vue/reactivity": "3.2.18"
37
37
  }
38
38
  }