@vue/server-renderer 3.2.27 → 3.2.31

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.
@@ -227,6 +227,12 @@ function renderComponentSubTree(instance, slotScopeId) {
227
227
  shared.isString(comp.template)) {
228
228
  comp.ssrRender = ssrCompile(comp.template, instance);
229
229
  }
230
+ // perf: enable caching of computed getters during render
231
+ // since there cannot be state mutations during render.
232
+ for (const e of instance.scope.effects) {
233
+ if (e.computed)
234
+ e.computed._cacheable = true;
235
+ }
230
236
  const ssrRender = instance.ssrRender || comp.ssrRender;
231
237
  if (ssrRender) {
232
238
  // optimized
@@ -679,7 +685,7 @@ function toRaw(observed) {
679
685
  }
680
686
 
681
687
  function isRef(r) {
682
- return Boolean(r && r.__v_isRef === true);
688
+ return !!(r && r.__v_isRef === true);
683
689
  }
684
690
 
685
691
  const stack = [];
@@ -822,7 +828,7 @@ const ErrorTypeStrings = {
822
828
  [12 /* FUNCTION_REF */]: 'ref function',
823
829
  [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',
824
830
  [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +
825
- 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next'
831
+ 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'
826
832
  };
827
833
  function callWithErrorHandling(fn, instance, type, args) {
828
834
  let res;
@@ -957,6 +963,20 @@ function ssrRenderSuspense(push, { default: renderContent }) {
957
963
  });
958
964
  }
959
965
 
966
+ function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) {
967
+ if (typeof dir !== 'function' && dir.getSSRProps) {
968
+ return (dir.getSSRProps({
969
+ dir,
970
+ instance,
971
+ value,
972
+ oldValue: undefined,
973
+ arg,
974
+ modifiers
975
+ }, null) || {});
976
+ }
977
+ return {};
978
+ }
979
+
960
980
  const ssrLooseEqual = shared.looseEqual;
961
981
  function ssrLooseContain(arr, value) {
962
982
  return shared.looseIndexOf(arr, value) > -1;
@@ -1001,6 +1021,7 @@ exports.renderToSimpleStream = renderToSimpleStream;
1001
1021
  exports.renderToStream = renderToStream;
1002
1022
  exports.renderToString = renderToString;
1003
1023
  exports.renderToWebStream = renderToWebStream;
1024
+ exports.ssrGetDirectiveProps = ssrGetDirectiveProps;
1004
1025
  exports.ssrGetDynamicModelProps = ssrGetDynamicModelProps;
1005
1026
  exports.ssrInterpolate = ssrInterpolate;
1006
1027
  exports.ssrLooseContain = ssrLooseContain;
@@ -224,6 +224,12 @@ function renderComponentSubTree(instance, slotScopeId) {
224
224
  shared.isString(comp.template)) {
225
225
  comp.ssrRender = ssrCompile(comp.template, instance);
226
226
  }
227
+ // perf: enable caching of computed getters during render
228
+ // since there cannot be state mutations during render.
229
+ for (const e of instance.scope.effects) {
230
+ if (e.computed)
231
+ e.computed._cacheable = true;
232
+ }
227
233
  const ssrRender = instance.ssrRender || comp.ssrRender;
228
234
  if (ssrRender) {
229
235
  // optimized
@@ -709,6 +715,20 @@ function ssrRenderSuspense(push, { default: renderContent }) {
709
715
  });
710
716
  }
711
717
 
718
+ function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) {
719
+ if (typeof dir !== 'function' && dir.getSSRProps) {
720
+ return (dir.getSSRProps({
721
+ dir,
722
+ instance,
723
+ value,
724
+ oldValue: undefined,
725
+ arg,
726
+ modifiers
727
+ }, null) || {});
728
+ }
729
+ return {};
730
+ }
731
+
712
732
  const ssrLooseEqual = shared.looseEqual;
713
733
  function ssrLooseContain(arr, value) {
714
734
  return shared.looseIndexOf(arr, value) > -1;
@@ -753,6 +773,7 @@ exports.renderToSimpleStream = renderToSimpleStream;
753
773
  exports.renderToStream = renderToStream;
754
774
  exports.renderToString = renderToString;
755
775
  exports.renderToWebStream = renderToWebStream;
776
+ exports.ssrGetDirectiveProps = ssrGetDirectiveProps;
756
777
  exports.ssrGetDynamicModelProps = ssrGetDynamicModelProps;
757
778
  exports.ssrInterpolate = ssrInterpolate;
758
779
  exports.ssrLooseContain = ssrLooseContain;
@@ -3,6 +3,8 @@
3
3
  import { App } from 'vue';
4
4
  import { Component } from 'vue';
5
5
  import { ComponentInternalInstance } from 'vue';
6
+ import { ComponentPublicInstance } from '@vue/runtime-core';
7
+ import { Directive } from '@vue/runtime-core';
6
8
  import { Readable } from 'stream';
7
9
  import { Slots } from 'vue';
8
10
  import { includeBooleanAttr as ssrIncludeBooleanAttr } from '@vue/shared';
@@ -47,6 +49,8 @@ export declare type SSRContext = {
47
49
  __teleportBuffers?: Record<string, SSRBuffer>;
48
50
  };
49
51
 
52
+ export declare function ssrGetDirectiveProps(instance: ComponentPublicInstance, dir: Directive, value?: any, arg?: string, modifiers?: Record<string, boolean>): Record<string, any>;
53
+
50
54
  export declare function ssrGetDynamicModelProps(existingProps: any, model: unknown): {
51
55
  checked: boolean;
52
56
  value?: undefined;
@@ -196,6 +196,12 @@ function renderComponentSubTree(instance, slotScopeId) {
196
196
  isString(comp.template)) {
197
197
  comp.ssrRender = ssrCompile(comp.template);
198
198
  }
199
+ // perf: enable caching of computed getters during render
200
+ // since there cannot be state mutations during render.
201
+ for (const e of instance.scope.effects) {
202
+ if (e.computed)
203
+ e.computed._cacheable = true;
204
+ }
199
205
  const ssrRender = instance.ssrRender || comp.ssrRender;
200
206
  if (ssrRender) {
201
207
  // optimized
@@ -646,7 +652,7 @@ function toRaw(observed) {
646
652
  }
647
653
 
648
654
  function isRef(r) {
649
- return Boolean(r && r.__v_isRef === true);
655
+ return !!(r && r.__v_isRef === true);
650
656
  }
651
657
 
652
658
  const stack = [];
@@ -789,7 +795,7 @@ const ErrorTypeStrings = {
789
795
  [12 /* FUNCTION_REF */]: 'ref function',
790
796
  [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',
791
797
  [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +
792
- 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next'
798
+ 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'
793
799
  };
794
800
  function callWithErrorHandling(fn, instance, type, args) {
795
801
  let res;
@@ -928,6 +934,20 @@ function ssrRenderSuspense(push, { default: renderContent }) {
928
934
  });
929
935
  }
930
936
 
937
+ function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) {
938
+ if (typeof dir !== 'function' && dir.getSSRProps) {
939
+ return (dir.getSSRProps({
940
+ dir,
941
+ instance,
942
+ value,
943
+ oldValue: undefined,
944
+ arg,
945
+ modifiers
946
+ }, null) || {});
947
+ }
948
+ return {};
949
+ }
950
+
931
951
  const ssrLooseEqual = looseEqual;
932
952
  function ssrLooseContain(arr, value) {
933
953
  return looseIndexOf(arr, value) > -1;
@@ -964,4 +984,4 @@ function ssrGetDynamicModelProps(existingProps = {}, model) {
964
984
 
965
985
  initDirectivesForSSR();
966
986
 
967
- export { pipeToNodeWritable, pipeToWebWritable, renderToNodeStream, renderToSimpleStream, renderToStream, renderToString, renderToWebStream, ssrGetDynamicModelProps, ssrInterpolate, ssrLooseContain, ssrLooseEqual, ssrRenderAttr, ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderDynamicAttr, ssrRenderDynamicModel, ssrRenderList, ssrRenderSlot, ssrRenderStyle, ssrRenderSuspense, ssrRenderTeleport, renderVNode as ssrRenderVNode };
987
+ export { pipeToNodeWritable, pipeToWebWritable, renderToNodeStream, renderToSimpleStream, renderToStream, renderToString, renderToWebStream, ssrGetDirectiveProps, ssrGetDynamicModelProps, ssrInterpolate, ssrLooseContain, ssrLooseEqual, ssrRenderAttr, ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderDynamicAttr, ssrRenderDynamicModel, ssrRenderList, ssrRenderSlot, ssrRenderStyle, ssrRenderSuspense, ssrRenderTeleport, renderVNode as ssrRenderVNode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/server-renderer",
3
- "version": "3.2.27",
3
+ "version": "3.2.31",
4
4
  "description": "@vue/server-renderer",
5
5
  "main": "index.js",
6
6
  "module": "dist/server-renderer.esm-bundler.js",
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "repository": {
20
20
  "type": "git",
21
- "url": "git+https://github.com/vuejs/vue-next.git",
21
+ "url": "git+https://github.com/vuejs/core.git",
22
22
  "directory": "packages/server-renderer"
23
23
  },
24
24
  "keywords": [
@@ -27,14 +27,14 @@
27
27
  "author": "Evan You",
28
28
  "license": "MIT",
29
29
  "bugs": {
30
- "url": "https://github.com/vuejs/vue-next/issues"
30
+ "url": "https://github.com/vuejs/core/issues"
31
31
  },
32
- "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/server-renderer#readme",
32
+ "homepage": "https://github.com/vuejs/core/tree/main/packages/server-renderer#readme",
33
33
  "peerDependencies": {
34
- "vue": "3.2.27"
34
+ "vue": "3.2.31"
35
35
  },
36
36
  "dependencies": {
37
- "@vue/shared": "3.2.27",
38
- "@vue/compiler-ssr": "3.2.27"
37
+ "@vue/shared": "3.2.31",
38
+ "@vue/compiler-ssr": "3.2.31"
39
39
  }
40
40
  }