@vue/runtime-core 3.2.20 → 3.2.21

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.
@@ -147,11 +147,12 @@ function tryWrap(fn) {
147
147
  }
148
148
 
149
149
  let buffer = [];
150
+ let devtoolsNotInstalled = false;
150
151
  function emit(event, ...args) {
151
152
  if (exports.devtools) {
152
153
  exports.devtools.emit(event, ...args);
153
154
  }
154
- else {
155
+ else if (!devtoolsNotInstalled) {
155
156
  buffer.push({ event, args });
156
157
  }
157
158
  }
@@ -162,7 +163,13 @@ function setDevtoolsHook(hook, target) {
162
163
  buffer.forEach(({ event, args }) => exports.devtools.emit(event, ...args));
163
164
  buffer = [];
164
165
  }
165
- else {
166
+ else if (
167
+ // handle late devtools injection - only do this if we are in an actual
168
+ // browser environment to avoid the timer handle stalling test runner exit
169
+ // (#4815)
170
+ // eslint-disable-next-line no-restricted-globals
171
+ typeof window !== 'undefined' &&
172
+ !navigator.userAgent.includes('jsdom')) {
166
173
  const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =
167
174
  target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);
168
175
  replay.push((newHook) => {
@@ -171,9 +178,18 @@ function setDevtoolsHook(hook, target) {
171
178
  // clear buffer after 3s - the user probably doesn't have devtools installed
172
179
  // at all, and keeping the buffer will cause memory leaks (#4738)
173
180
  setTimeout(() => {
174
- buffer = [];
181
+ if (!exports.devtools) {
182
+ target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
183
+ devtoolsNotInstalled = true;
184
+ buffer = [];
185
+ }
175
186
  }, 3000);
176
187
  }
188
+ else {
189
+ // non-browser env, assume not installed
190
+ devtoolsNotInstalled = true;
191
+ buffer = [];
192
+ }
177
193
  }
178
194
  function devtoolsInitApp(app, version) {
179
195
  emit("app:init" /* APP_INIT */, app, version, {
@@ -2961,7 +2977,7 @@ return withDirectives(h(comp), [
2961
2977
  [bar, this.y]
2962
2978
  ])
2963
2979
  */
2964
- const isBuiltInDirective = /*#__PURE__*/ shared.makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text');
2980
+ const isBuiltInDirective = /*#__PURE__*/ shared.makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
2965
2981
  function validateDirectiveName(name) {
2966
2982
  if (isBuiltInDirective(name)) {
2967
2983
  warn('Do not use built-in directive ids as custom directive id: ' + name);
@@ -7544,7 +7560,7 @@ function isMemoSame(cached, memo) {
7544
7560
  }
7545
7561
 
7546
7562
  // Core API ------------------------------------------------------------------
7547
- const version = "3.2.20";
7563
+ const version = "3.2.21";
7548
7564
  const _ssrUtils = {
7549
7565
  createComponentInstance,
7550
7566
  setupComponent,
@@ -13,7 +13,13 @@ function setDevtoolsHook(hook, target) {
13
13
  buffer.forEach(({ event, args }) => exports.devtools.emit(event, ...args));
14
14
  buffer = [];
15
15
  }
16
- else {
16
+ else if (
17
+ // handle late devtools injection - only do this if we are in an actual
18
+ // browser environment to avoid the timer handle stalling test runner exit
19
+ // (#4815)
20
+ // eslint-disable-next-line no-restricted-globals
21
+ typeof window !== 'undefined' &&
22
+ !navigator.userAgent.includes('jsdom')) {
17
23
  const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =
18
24
  target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);
19
25
  replay.push((newHook) => {
@@ -22,9 +28,15 @@ function setDevtoolsHook(hook, target) {
22
28
  // clear buffer after 3s - the user probably doesn't have devtools installed
23
29
  // at all, and keeping the buffer will cause memory leaks (#4738)
24
30
  setTimeout(() => {
25
- buffer = [];
31
+ if (!exports.devtools) {
32
+ target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
33
+ buffer = [];
34
+ }
26
35
  }, 3000);
27
36
  }
37
+ else {
38
+ buffer = [];
39
+ }
28
40
  }
29
41
 
30
42
  function emit(instance, event, ...rawArgs) {
@@ -6018,7 +6030,7 @@ function isMemoSame(cached, memo) {
6018
6030
  }
6019
6031
 
6020
6032
  // Core API ------------------------------------------------------------------
6021
- const version = "3.2.20";
6033
+ const version = "3.2.21";
6022
6034
  const _ssrUtils = {
6023
6035
  createComponentInstance,
6024
6036
  setupComponent,
@@ -29,6 +29,7 @@ import { ReactiveFlags } from '@vue/reactivity';
29
29
  import { readonly } from '@vue/reactivity';
30
30
  import { Ref } from '@vue/reactivity';
31
31
  import { ref } from '@vue/reactivity';
32
+ import { ShallowReactive } from '@vue/reactivity';
32
33
  import { shallowReactive } from '@vue/reactivity';
33
34
  import { shallowReadonly } from '@vue/reactivity';
34
35
  import { shallowRef } from '@vue/reactivity';
@@ -1595,6 +1596,8 @@ export declare interface SetupContext<E = EmitsOptions> {
1595
1596
 
1596
1597
  declare type SetupRenderEffectFn = (instance: ComponentInternalInstance, initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, optimized: boolean) => void;
1597
1598
 
1599
+ export { ShallowReactive }
1600
+
1598
1601
  export { shallowReactive }
1599
1602
 
1600
1603
  export { shallowReadonly }
@@ -146,11 +146,12 @@ function tryWrap(fn) {
146
146
 
147
147
  let devtools;
148
148
  let buffer = [];
149
+ let devtoolsNotInstalled = false;
149
150
  function emit(event, ...args) {
150
151
  if (devtools) {
151
152
  devtools.emit(event, ...args);
152
153
  }
153
- else {
154
+ else if (!devtoolsNotInstalled) {
154
155
  buffer.push({ event, args });
155
156
  }
156
157
  }
@@ -161,7 +162,13 @@ function setDevtoolsHook(hook, target) {
161
162
  buffer.forEach(({ event, args }) => devtools.emit(event, ...args));
162
163
  buffer = [];
163
164
  }
164
- else {
165
+ else if (
166
+ // handle late devtools injection - only do this if we are in an actual
167
+ // browser environment to avoid the timer handle stalling test runner exit
168
+ // (#4815)
169
+ // eslint-disable-next-line no-restricted-globals
170
+ typeof window !== 'undefined' &&
171
+ !navigator.userAgent.includes('jsdom')) {
165
172
  const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =
166
173
  target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);
167
174
  replay.push((newHook) => {
@@ -170,9 +177,18 @@ function setDevtoolsHook(hook, target) {
170
177
  // clear buffer after 3s - the user probably doesn't have devtools installed
171
178
  // at all, and keeping the buffer will cause memory leaks (#4738)
172
179
  setTimeout(() => {
173
- buffer = [];
180
+ if (!devtools) {
181
+ target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
182
+ devtoolsNotInstalled = true;
183
+ buffer = [];
184
+ }
174
185
  }, 3000);
175
186
  }
187
+ else {
188
+ // non-browser env, assume not installed
189
+ devtoolsNotInstalled = true;
190
+ buffer = [];
191
+ }
176
192
  }
177
193
  function devtoolsInitApp(app, version) {
178
194
  emit("app:init" /* APP_INIT */, app, version, {
@@ -2969,7 +2985,7 @@ return withDirectives(h(comp), [
2969
2985
  [bar, this.y]
2970
2986
  ])
2971
2987
  */
2972
- const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text');
2988
+ const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
2973
2989
  function validateDirectiveName(name) {
2974
2990
  if (isBuiltInDirective(name)) {
2975
2991
  warn('Do not use built-in directive ids as custom directive id: ' + name);
@@ -7639,7 +7655,7 @@ function isMemoSame(cached, memo) {
7639
7655
  }
7640
7656
 
7641
7657
  // Core API ------------------------------------------------------------------
7642
- const version = "3.2.20";
7658
+ const version = "3.2.21";
7643
7659
  const _ssrUtils = {
7644
7660
  createComponentInstance,
7645
7661
  setupComponent,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.2.20",
3
+ "version": "3.2.21",
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.20",
36
- "@vue/reactivity": "3.2.20"
35
+ "@vue/shared": "3.2.21",
36
+ "@vue/reactivity": "3.2.21"
37
37
  }
38
38
  }