@modern-js/runtime 2.19.1 → 2.21.0

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.
Files changed (139) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/cjs/cli/index.js +6 -10
  3. package/dist/cjs/core/compatible.js +4 -47
  4. package/dist/cjs/core/index.js +4 -16
  5. package/dist/cjs/core/loader/index.js +2 -6
  6. package/dist/cjs/core/loader/loaderManager.js +2 -6
  7. package/dist/cjs/core/loader/useLoader.js +2 -6
  8. package/dist/cjs/document/Body.js +2 -41
  9. package/dist/cjs/document/Comment.js +2 -6
  10. package/dist/cjs/document/DocumentContext.js +2 -6
  11. package/dist/cjs/document/DocumentStructureContext.js +2 -6
  12. package/dist/cjs/document/Head.js +2 -41
  13. package/dist/cjs/document/Html.js +2 -6
  14. package/dist/cjs/document/Links.js +2 -6
  15. package/dist/cjs/document/Root.js +2 -41
  16. package/dist/cjs/document/Script.js +2 -6
  17. package/dist/cjs/document/Scripts.js +2 -6
  18. package/dist/cjs/document/cli/index.js +9 -10
  19. package/dist/cjs/document/index.js +12 -24
  20. package/dist/cjs/exports/head.js +3 -19
  21. package/dist/cjs/exports/loadable.js +3 -19
  22. package/dist/cjs/exports/styled.js +3 -19
  23. package/dist/cjs/router/index.js +3 -19
  24. package/dist/cjs/router/runtime/DefaultNotFound.js +2 -6
  25. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +4 -4
  26. package/dist/cjs/router/runtime/PrefetchLink.js +9 -48
  27. package/dist/cjs/router/runtime/index.js +57 -70
  28. package/dist/cjs/router/runtime/plugin.js +10 -14
  29. package/dist/cjs/router/runtime/plugin.node.js +11 -54
  30. package/dist/cjs/router/runtime/server.js +2 -14
  31. package/dist/cjs/router/runtime/utils.js +9 -12
  32. package/dist/cjs/router/runtime/withRouter.js +6 -10
  33. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +4 -47
  34. package/dist/cjs/ssr/cli/index.js +3 -7
  35. package/dist/cjs/ssr/cli/loadable-bundler-plugin.js +5 -21
  36. package/dist/cjs/ssr/index.js +4 -20
  37. package/dist/cjs/ssr/index.node.js +4 -20
  38. package/dist/cjs/ssr/react/nossr/index.js +2 -41
  39. package/dist/cjs/ssr/react/prerender/index.js +8 -63
  40. package/dist/cjs/ssr/react/withCallback/index.js +2 -41
  41. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +6 -2
  42. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +5 -9
  43. package/dist/cjs/ssr/serverRender/renderToStream/index.js +2 -6
  44. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +10 -12
  45. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +11 -11
  46. package/dist/cjs/ssr/serverRender/renderToString/entry.js +28 -77
  47. package/dist/cjs/ssr/serverRender/renderToString/index.js +2 -6
  48. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +7 -4
  49. package/dist/cjs/ssr/serverRender/renderToString/reduce.js +2 -6
  50. package/dist/cjs/ssr/serverRender/renderToString/template.js +6 -18
  51. package/dist/cjs/ssr/serverRender/utils.js +7 -1
  52. package/dist/cjs/ssr/utils.js +2 -6
  53. package/dist/cjs/state/index.js +3 -19
  54. package/dist/cjs/state/plugins.js +4 -8
  55. package/dist/cjs/state/runtime/index.js +4 -20
  56. package/dist/cjs/state/runtime/plugin.js +4 -20
  57. package/dist/esm/cli/index.js +3 -132
  58. package/dist/esm/core/compatible.js +7 -233
  59. package/dist/esm/core/loader/loaderManager.js +7 -212
  60. package/dist/esm/core/loader/useLoader.js +4 -117
  61. package/dist/esm/core/plugin.js +3 -132
  62. package/dist/esm/document/cli/index.js +12 -198
  63. package/dist/esm/document/constants.js +1 -13
  64. package/dist/esm/router/cli/index.js +2 -52
  65. package/dist/esm/router/runtime/DeferredDataScripts.node.js +2 -59
  66. package/dist/esm/router/runtime/PrefetchLink.js +7 -251
  67. package/dist/esm/router/runtime/index.js +6 -4
  68. package/dist/esm/router/runtime/plugin.js +3 -53
  69. package/dist/esm/router/runtime/plugin.node.js +10 -252
  70. package/dist/esm/router/runtime/server.js +1 -1
  71. package/dist/esm/router/runtime/utils.js +8 -151
  72. package/dist/esm/router/runtime/withRouter.js +3 -53
  73. package/dist/esm/ssr/cli/index.js +1 -1
  74. package/dist/esm/ssr/cli/loadable-bundler-plugin.js +6 -108
  75. package/dist/esm/ssr/index.js +5 -184
  76. package/dist/esm/ssr/index.node.js +5 -184
  77. package/dist/esm/ssr/prefetch.js +4 -133
  78. package/dist/esm/ssr/react/nossr/index.js +1 -58
  79. package/dist/esm/ssr/react/prerender/index.js +7 -145
  80. package/dist/esm/ssr/serverRender/index.js +3 -132
  81. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +7 -30
  82. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +3 -73
  83. package/dist/esm/ssr/serverRender/renderToStream/index.js +3 -132
  84. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +13 -71
  85. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +18 -197
  86. package/dist/esm/ssr/serverRender/renderToStream/template.js +1 -58
  87. package/dist/esm/ssr/serverRender/renderToString/entry.js +19 -188
  88. package/dist/esm/ssr/serverRender/renderToString/index.js +3 -132
  89. package/dist/esm/ssr/serverRender/renderToString/loadable.js +8 -5
  90. package/dist/esm/ssr/serverRender/renderToString/template.js +4 -93
  91. package/dist/esm/ssr/serverRender/time.js +1 -58
  92. package/dist/esm/ssr/serverRender/time.worker.js +1 -58
  93. package/dist/esm/ssr/serverRender/utils.js +7 -0
  94. package/dist/esm/ssr/utils.js +2 -86
  95. package/dist/esm/state/runtime/plugin.js +3 -110
  96. package/dist/esm-node/document/cli/index.js +5 -2
  97. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +1 -1
  98. package/dist/esm-node/router/runtime/PrefetchLink.js +1 -1
  99. package/dist/esm-node/router/runtime/index.js +6 -4
  100. package/dist/esm-node/router/runtime/plugin.js +1 -1
  101. package/dist/esm-node/router/runtime/plugin.node.js +3 -3
  102. package/dist/esm-node/router/runtime/server.js +1 -1
  103. package/dist/esm-node/router/runtime/utils.js +3 -2
  104. package/dist/esm-node/router/runtime/withRouter.js +1 -1
  105. package/dist/esm-node/ssr/cli/index.js +1 -1
  106. package/dist/esm-node/ssr/cli/loadable-bundler-plugin.js +1 -13
  107. package/dist/esm-node/ssr/react/prerender/index.js +1 -13
  108. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +6 -2
  109. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -1
  110. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +10 -12
  111. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +11 -11
  112. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +12 -18
  113. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +8 -5
  114. package/dist/esm-node/ssr/serverRender/renderToString/template.js +1 -13
  115. package/dist/esm-node/ssr/serverRender/utils.js +5 -0
  116. package/dist/types/cli/index.d.ts +0 -2
  117. package/dist/types/core/loader/loaderManager.d.ts +0 -1
  118. package/dist/types/core/loader/useLoader.d.ts +0 -5
  119. package/dist/types/core/plugin.d.ts +1 -6
  120. package/dist/types/document/cli/index.d.ts +0 -2
  121. package/dist/types/router/cli/index.d.ts +0 -2
  122. package/dist/types/router/runtime/DeferredDataScripts.d.ts +0 -1
  123. package/dist/types/router/runtime/DeferredDataScripts.node.d.ts +0 -1
  124. package/dist/types/router/runtime/PrefetchLink.d.ts +1 -3
  125. package/dist/types/router/runtime/hooks.d.ts +1 -1
  126. package/dist/types/router/runtime/index.d.ts +3 -4
  127. package/dist/types/router/runtime/server.d.ts +1 -1
  128. package/dist/types/router/runtime/types.d.ts +1 -3
  129. package/dist/types/router/runtime/utils.d.ts +1 -3
  130. package/dist/types/router/runtime/withRouter.d.ts +1 -1
  131. package/dist/types/runtimeContext.d.ts +1 -1
  132. package/dist/types/ssr/cli/index.d.ts +0 -2
  133. package/dist/types/ssr/serverRender/renderToStream/type.d.ts +2 -2
  134. package/dist/types/ssr/serverRender/renderToString/entry.d.ts +1 -0
  135. package/dist/types/ssr/serverRender/renderToString/type.d.ts +1 -0
  136. package/dist/types/ssr/serverRender/utils.d.ts +2 -1
  137. package/dist/types/state/cli/index.d.ts +0 -2
  138. package/dist/types/state/types.d.ts +0 -1
  139. package/package.json +28 -21
@@ -1,202 +1,23 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- } catch (error) {
6
- reject(error);
7
- return;
8
- }
9
- if (info.done) {
10
- resolve(value);
11
- } else {
12
- Promise.resolve(value).then(_next, _throw);
13
- }
14
- }
15
- function _async_to_generator(fn) {
16
- return function() {
17
- var self = this, args = arguments;
18
- return new Promise(function(resolve, reject) {
19
- var gen = fn.apply(self, args);
20
- function _next(value) {
21
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
- }
23
- function _throw(err) {
24
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
- }
26
- _next(void 0);
27
- });
28
- };
29
- }
30
- function _define_property(obj, key, value) {
31
- if (key in obj) {
32
- Object.defineProperty(obj, key, {
33
- value: value,
34
- enumerable: true,
35
- configurable: true,
36
- writable: true
37
- });
38
- } else {
39
- obj[key] = value;
40
- }
41
- return obj;
42
- }
43
- function _object_spread(target) {
44
- for (var i = 1; i < arguments.length; i++) {
45
- var source = arguments[i] != null ? arguments[i] : {};
46
- var ownKeys2 = Object.keys(source);
47
- if (typeof Object.getOwnPropertySymbols === "function") {
48
- ownKeys2 = ownKeys2.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
49
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
50
- }));
51
- }
52
- ownKeys2.forEach(function(key) {
53
- _define_property(target, key, source[key]);
54
- });
55
- }
56
- return target;
57
- }
58
- function ownKeys(object, enumerableOnly) {
59
- var keys = Object.keys(object);
60
- if (Object.getOwnPropertySymbols) {
61
- var symbols = Object.getOwnPropertySymbols(object);
62
- if (enumerableOnly) {
63
- symbols = symbols.filter(function(sym) {
64
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
65
- });
66
- }
67
- keys.push.apply(keys, symbols);
68
- }
69
- return keys;
70
- }
71
- function _object_spread_props(target, source) {
72
- source = source != null ? source : {};
73
- if (Object.getOwnPropertyDescriptors) {
74
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
75
- } else {
76
- ownKeys(Object(source)).forEach(function(key) {
77
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
78
- });
79
- }
80
- return target;
81
- }
82
- var __generator = function(thisArg, body) {
83
- var f, y, t, g, _ = {
84
- label: 0,
85
- sent: function() {
86
- if (t[0] & 1)
87
- throw t[1];
88
- return t[1];
89
- },
90
- trys: [],
91
- ops: []
92
- };
93
- return g = {
94
- next: verb(0),
95
- "throw": verb(1),
96
- "return": verb(2)
97
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
98
- return this;
99
- }), g;
100
- function verb(n) {
101
- return function(v) {
102
- return step([
103
- n,
104
- v
105
- ]);
106
- };
107
- }
108
- function step(op) {
109
- if (f)
110
- throw new TypeError("Generator is already executing.");
111
- while (_)
112
- try {
113
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
114
- return t;
115
- if (y = 0, t)
116
- op = [
117
- op[0] & 2,
118
- t.value
119
- ];
120
- switch (op[0]) {
121
- case 0:
122
- case 1:
123
- t = op;
124
- break;
125
- case 4:
126
- _.label++;
127
- return {
128
- value: op[1],
129
- done: false
130
- };
131
- case 5:
132
- _.label++;
133
- y = op[1];
134
- op = [
135
- 0
136
- ];
137
- continue;
138
- case 7:
139
- op = _.ops.pop();
140
- _.trys.pop();
141
- continue;
142
- default:
143
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
144
- _ = 0;
145
- continue;
146
- }
147
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
148
- _.label = op[1];
149
- break;
150
- }
151
- if (op[0] === 6 && _.label < t[1]) {
152
- _.label = t[1];
153
- t = op;
154
- break;
155
- }
156
- if (t && _.label < t[2]) {
157
- _.label = t[2];
158
- _.ops.push(op);
159
- break;
160
- }
161
- if (t[2])
162
- _.ops.pop();
163
- _.trys.pop();
164
- continue;
165
- }
166
- op = body.call(thisArg, _);
167
- } catch (e) {
168
- op = [
169
- 6,
170
- e
171
- ];
172
- y = 0;
173
- } finally {
174
- f = t = 0;
175
- }
176
- if (op[0] & 5)
177
- throw op[1];
178
- return {
179
- value: op[0] ? op[1] : void 0,
180
- done: true
181
- };
182
- }
183
- };
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
184
5
  import { RenderLevel } from "../types";
185
6
  import { ESCAPED_SHELL_STREAM_END_MARK } from "../../../common";
186
7
  import { getTemplates } from "./template";
187
8
  var ShellChunkStatus;
188
9
  (function(ShellChunkStatus2) {
189
- ShellChunkStatus2[ShellChunkStatus2["IDLE"] = 0] = "IDLE";
190
- ShellChunkStatus2[ShellChunkStatus2["START"] = 1] = "START";
191
- ShellChunkStatus2[ShellChunkStatus2["FINIESH"] = 2] = "FINIESH";
10
+ ShellChunkStatus2[ShellChunkStatus2["START"] = 0] = "START";
11
+ ShellChunkStatus2[ShellChunkStatus2["FINIESH"] = 1] = "FINIESH";
192
12
  })(ShellChunkStatus || (ShellChunkStatus = {}));
193
13
  function renderToPipe(rootElement, context, options) {
194
- var shellChunkStatus = ShellChunkStatus.IDLE;
14
+ var shellChunkStatus = ShellChunkStatus.START;
15
+ var chunkVec = [];
195
16
  var ssrContext = context.ssrContext;
196
17
  var forUserPipe = function() {
197
18
  var _ref = _async_to_generator(function() {
198
19
  var renderToReadableStream, _getTemplates, shellAfter, shellBefore, readableOriginal, reader, injectableStream, err, _getTemplates1, shellAfter1, shellBefore1, fallbackHtml;
199
- return __generator(this, function(_state) {
20
+ return _ts_generator(this, function(_state) {
200
21
  switch (_state.label) {
201
22
  case 0:
202
23
  try {
@@ -215,6 +36,7 @@ function renderToPipe(rootElement, context, options) {
215
36
  return [
216
37
  4,
217
38
  renderToReadableStream(rootElement, _object_spread_props(_object_spread({}, options), {
39
+ nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
218
40
  onError: function onError(error) {
219
41
  var _options_onError;
220
42
  ssrContext.logger.error("An error occurs during streaming SSR", error);
@@ -233,8 +55,8 @@ function renderToPipe(rootElement, context, options) {
233
55
  }
234
56
  function _push() {
235
57
  _push = _async_to_generator(function() {
236
- var _ref2, done, value, concatedChunk;
237
- return __generator(this, function(_state2) {
58
+ var _ref2, done, value, chunk, concatedChunk;
59
+ return _ts_generator(this, function(_state2) {
238
60
  switch (_state2.label) {
239
61
  case 0:
240
62
  return [
@@ -250,14 +72,13 @@ function renderToPipe(rootElement, context, options) {
250
72
  ];
251
73
  }
252
74
  if (shellChunkStatus !== ShellChunkStatus.FINIESH) {
253
- concatedChunk = new TextDecoder().decode(value);
254
- if (shellChunkStatus === ShellChunkStatus.IDLE) {
255
- concatedChunk = "".concat(shellBefore).concat(concatedChunk);
256
- shellChunkStatus = ShellChunkStatus.START;
257
- }
258
- if (shellChunkStatus === ShellChunkStatus.START && concatedChunk.endsWith(ESCAPED_SHELL_STREAM_END_MARK)) {
259
- concatedChunk = concatedChunk.replace(ESCAPED_SHELL_STREAM_END_MARK, shellAfter);
75
+ chunk = new TextDecoder().decode(value);
76
+ chunkVec.push(chunk);
77
+ concatedChunk = chunkVec.join("");
78
+ if (concatedChunk.endsWith(ESCAPED_SHELL_STREAM_END_MARK)) {
79
+ concatedChunk = concatedChunk.replace(ESCAPED_SHELL_STREAM_END_MARK, "");
260
80
  shellChunkStatus = ShellChunkStatus.FINIESH;
81
+ controller.enqueue(encodeForWebStream("".concat(shellBefore).concat(concatedChunk).concat(shellAfter)));
261
82
  }
262
83
  controller.enqueue(encodeForWebStream(concatedChunk));
263
84
  } else {
@@ -1,61 +1,4 @@
1
- function _array_like_to_array(arr, len) {
2
- if (len == null || len > arr.length)
3
- len = arr.length;
4
- for (var i = 0, arr2 = new Array(len); i < len; i++)
5
- arr2[i] = arr[i];
6
- return arr2;
7
- }
8
- function _array_with_holes(arr) {
9
- if (Array.isArray(arr))
10
- return arr;
11
- }
12
- function _iterable_to_array_limit(arr, i) {
13
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
14
- if (_i == null)
15
- return;
16
- var _arr = [];
17
- var _n = true;
18
- var _d = false;
19
- var _s, _e;
20
- try {
21
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
22
- _arr.push(_s.value);
23
- if (i && _arr.length === i)
24
- break;
25
- }
26
- } catch (err) {
27
- _d = true;
28
- _e = err;
29
- } finally {
30
- try {
31
- if (!_n && _i["return"] != null)
32
- _i["return"]();
33
- } finally {
34
- if (_d)
35
- throw _e;
36
- }
37
- }
38
- return _arr;
39
- }
40
- function _non_iterable_rest() {
41
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
42
- }
43
- function _sliced_to_array(arr, i) {
44
- return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
45
- }
46
- function _unsupported_iterable_to_array(o, minLen) {
47
- if (!o)
48
- return;
49
- if (typeof o === "string")
50
- return _array_like_to_array(o, minLen);
51
- var n = Object.prototype.toString.call(o).slice(8, -1);
52
- if (n === "Object" && o.constructor)
53
- n = o.constructor.name;
54
- if (n === "Map" || n === "Set")
55
- return Array.from(n);
56
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
57
- return _array_like_to_array(o, minLen);
58
- }
1
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
59
2
  import { buildShellAfterTemplate } from "./buildTemplate.after";
60
3
  import { buildShellBeforeTemplate } from "./bulidTemplate.before";
61
4
  var HTML_SEPARATOR = "<!--<?- html ?>-->";
@@ -1,184 +1,9 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- } catch (error) {
6
- reject(error);
7
- return;
8
- }
9
- if (info.done) {
10
- resolve(value);
11
- } else {
12
- Promise.resolve(value).then(_next, _throw);
13
- }
14
- }
15
- function _async_to_generator(fn) {
16
- return function() {
17
- var self = this, args = arguments;
18
- return new Promise(function(resolve, reject) {
19
- var gen = fn.apply(self, args);
20
- function _next(value) {
21
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
- }
23
- function _throw(err) {
24
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
- }
26
- _next(void 0);
27
- });
28
- };
29
- }
30
- function _class_call_check(instance, Constructor) {
31
- if (!(instance instanceof Constructor)) {
32
- throw new TypeError("Cannot call a class as a function");
33
- }
34
- }
35
- function _defineProperties(target, props) {
36
- for (var i = 0; i < props.length; i++) {
37
- var descriptor = props[i];
38
- descriptor.enumerable = descriptor.enumerable || false;
39
- descriptor.configurable = true;
40
- if ("value" in descriptor)
41
- descriptor.writable = true;
42
- Object.defineProperty(target, descriptor.key, descriptor);
43
- }
44
- }
45
- function _create_class(Constructor, protoProps, staticProps) {
46
- if (protoProps)
47
- _defineProperties(Constructor.prototype, protoProps);
48
- if (staticProps)
49
- _defineProperties(Constructor, staticProps);
50
- return Constructor;
51
- }
52
- function _define_property(obj, key, value) {
53
- if (key in obj) {
54
- Object.defineProperty(obj, key, {
55
- value: value,
56
- enumerable: true,
57
- configurable: true,
58
- writable: true
59
- });
60
- } else {
61
- obj[key] = value;
62
- }
63
- return obj;
64
- }
65
- function _object_spread(target) {
66
- for (var i = 1; i < arguments.length; i++) {
67
- var source = arguments[i] != null ? arguments[i] : {};
68
- var ownKeys = Object.keys(source);
69
- if (typeof Object.getOwnPropertySymbols === "function") {
70
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
71
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
72
- }));
73
- }
74
- ownKeys.forEach(function(key) {
75
- _define_property(target, key, source[key]);
76
- });
77
- }
78
- return target;
79
- }
80
- var __generator = function(thisArg, body) {
81
- var f, y, t, g, _ = {
82
- label: 0,
83
- sent: function() {
84
- if (t[0] & 1)
85
- throw t[1];
86
- return t[1];
87
- },
88
- trys: [],
89
- ops: []
90
- };
91
- return g = {
92
- next: verb(0),
93
- "throw": verb(1),
94
- "return": verb(2)
95
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
96
- return this;
97
- }), g;
98
- function verb(n) {
99
- return function(v) {
100
- return step([
101
- n,
102
- v
103
- ]);
104
- };
105
- }
106
- function step(op) {
107
- if (f)
108
- throw new TypeError("Generator is already executing.");
109
- while (_)
110
- try {
111
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
112
- return t;
113
- if (y = 0, t)
114
- op = [
115
- op[0] & 2,
116
- t.value
117
- ];
118
- switch (op[0]) {
119
- case 0:
120
- case 1:
121
- t = op;
122
- break;
123
- case 4:
124
- _.label++;
125
- return {
126
- value: op[1],
127
- done: false
128
- };
129
- case 5:
130
- _.label++;
131
- y = op[1];
132
- op = [
133
- 0
134
- ];
135
- continue;
136
- case 7:
137
- op = _.ops.pop();
138
- _.trys.pop();
139
- continue;
140
- default:
141
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
142
- _ = 0;
143
- continue;
144
- }
145
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
146
- _.label = op[1];
147
- break;
148
- }
149
- if (op[0] === 6 && _.label < t[1]) {
150
- _.label = t[1];
151
- t = op;
152
- break;
153
- }
154
- if (t && _.label < t[2]) {
155
- _.label = t[2];
156
- _.ops.push(op);
157
- break;
158
- }
159
- if (t[2])
160
- _.ops.pop();
161
- _.trys.pop();
162
- continue;
163
- }
164
- op = body.call(thisArg, _);
165
- } catch (e) {
166
- op = [
167
- 6,
168
- e
169
- ];
170
- y = 0;
171
- } finally {
172
- f = t = 0;
173
- }
174
- if (op[0] & 5)
175
- throw op[1];
176
- return {
177
- value: op[0] ? op[1] : void 0,
178
- done: true
179
- };
180
- }
181
- };
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
+ import { _ as _create_class } from "@swc/helpers/_/_create_class";
4
+ import { _ as _define_property } from "@swc/helpers/_/_define_property";
5
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
6
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
182
7
  import React from "react";
183
8
  import ReactDomServer from "react-dom/server";
184
9
  import { serializeJson } from "@modern-js/utils/runtime-node";
@@ -188,7 +13,7 @@ import helmetReplace from "../helmet";
188
13
  import { RenderLevel } from "../types";
189
14
  import { time } from "../time";
190
15
  import prefetch from "../../prefetch";
191
- import { ROUTER_DATA_JSON_ID, SSR_DATA_JSON_ID } from "../utils";
16
+ import { ROUTER_DATA_JSON_ID, SSR_DATA_JSON_ID, attributesToString } from "../utils";
192
17
  import { toFragments } from "./template";
193
18
  import { reduce } from "./reduce";
194
19
  import * as loadableRenderer from "./loadable";
@@ -224,8 +49,9 @@ var Entry = /* @__PURE__ */ function() {
224
49
  _define_property(this, "fragments", void 0);
225
50
  _define_property(this, "pluginConfig", void 0);
226
51
  _define_property(this, "host", void 0);
52
+ _define_property(this, "nonce", void 0);
227
53
  var ctx = options.ctx, config = options.config;
228
- var entryName = ctx.entryName, template = ctx.template, host = ctx.request.host;
54
+ var entryName = ctx.entryName, template = ctx.template, host = ctx.request.host, nonce = ctx.nonce;
229
55
  this.fragments = toFragments(template, entryName);
230
56
  this.entryName = entryName;
231
57
  this.host = host;
@@ -233,6 +59,7 @@ var Entry = /* @__PURE__ */ function() {
233
59
  this.pluginConfig = config;
234
60
  this.metrics = ctx.metrics;
235
61
  this.logger = ctx.logger;
62
+ this.nonce = nonce;
236
63
  this.result = {
237
64
  renderLevel: RenderLevel.CLIENT_RENDER,
238
65
  html: "",
@@ -249,7 +76,7 @@ var Entry = /* @__PURE__ */ function() {
249
76
  var _this = this;
250
77
  return _async_to_generator(function() {
251
78
  var _ssrContext_redirection, _ssrContext_redirection1, _ssrContext_redirection2, ssrContext, prefetchData, routerContext, routerData, html, templateData, SSRData, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, fragment, helmetData;
252
- return __generator(this, function(_state) {
79
+ return _ts_generator(this, function(_state) {
253
80
  switch (_state.label) {
254
81
  case 0:
255
82
  ssrContext = context.ssrContext;
@@ -328,7 +155,7 @@ var Entry = /* @__PURE__ */ function() {
328
155
  var _this = this;
329
156
  return _async_to_generator(function() {
330
157
  var prefetchData, end, prefetchCost, e;
331
- return __generator(this, function(_state) {
158
+ return _ts_generator(this, function(_state) {
332
159
  switch (_state.label) {
333
160
  case 0:
334
161
  end = time();
@@ -390,7 +217,8 @@ var Entry = /* @__PURE__ */ function() {
390
217
  host: this.host,
391
218
  result: this.result,
392
219
  entryName: this.entryName,
393
- config: this.pluginConfig
220
+ config: this.pluginConfig,
221
+ nonce: this.nonce
394
222
  };
395
223
  html = reduce(App, renderContext, [
396
224
  styledComponentRenderer.toHtml,
@@ -415,10 +243,13 @@ var Entry = /* @__PURE__ */ function() {
415
243
  value: function getSSRDataScript(templateData, routerData) {
416
244
  var useInlineScript = this.pluginConfig.inlineScript !== false;
417
245
  var ssrData = serializeJson(templateData);
418
- var ssrDataScripts = useInlineScript ? "<script>window._SSR_DATA = ".concat(ssrData, "</script>") : '<script type="application/json" id="'.concat(SSR_DATA_JSON_ID, '">').concat(ssrData, "</script>");
246
+ var attrsStr = attributesToString({
247
+ nonce: this.nonce
248
+ });
249
+ var ssrDataScripts = useInlineScript ? "<script".concat(attrsStr, ">window._SSR_DATA = ").concat(ssrData, "</script>") : '<script type="application/json" id="'.concat(SSR_DATA_JSON_ID, '">').concat(ssrData, "</script>");
419
250
  if (routerData) {
420
251
  var serializedRouterData = serializeJson(routerData);
421
- ssrDataScripts += useInlineScript ? "\n<script>window._ROUTER_DATA = ".concat(serializedRouterData, "</script>") : '\n<script type="application/json" id="'.concat(ROUTER_DATA_JSON_ID, '">').concat(serializedRouterData, "</script>");
252
+ ssrDataScripts += useInlineScript ? "\n<script".concat(attrsStr, ">window._ROUTER_DATA = ").concat(serializedRouterData, "</script>") : '\n<script type="application/json" id="'.concat(ROUTER_DATA_JSON_ID, '">').concat(serializedRouterData, "</script>");
422
253
  }
423
254
  return {
424
255
  SSRDataScript: ssrDataScripts