@modern-js/runtime 2.15.1-alpha.2 → 2.16.1-alpha.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 (261) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/cli/index.js +32 -48
  3. package/dist/cjs/common.js +13 -27
  4. package/dist/cjs/config.js +4 -15
  5. package/dist/cjs/core/appConfig.js +13 -26
  6. package/dist/cjs/core/compatible.js +170 -158
  7. package/dist/cjs/core/index.js +38 -45
  8. package/dist/cjs/core/loader/index.js +12 -35
  9. package/dist/cjs/core/loader/loaderManager.js +42 -56
  10. package/dist/cjs/core/loader/useLoader.js +80 -105
  11. package/dist/cjs/core/plugin.js +28 -40
  12. package/dist/cjs/core/types.js +4 -15
  13. package/dist/cjs/document/Body.js +61 -37
  14. package/dist/cjs/document/Comment.js +22 -32
  15. package/dist/cjs/document/DocumentContext.js +14 -37
  16. package/dist/cjs/document/DocumentStructureContext.js +14 -37
  17. package/dist/cjs/document/Head.js +71 -40
  18. package/dist/cjs/document/Html.js +46 -58
  19. package/dist/cjs/document/Links.js +18 -28
  20. package/dist/cjs/document/Root.js +73 -44
  21. package/dist/cjs/document/Script.js +22 -32
  22. package/dist/cjs/document/Scripts.js +18 -28
  23. package/dist/cjs/document/cli/index.js +161 -207
  24. package/dist/cjs/document/constants.js +36 -75
  25. package/dist/cjs/document/index.js +28 -27
  26. package/dist/cjs/exports/head.js +27 -37
  27. package/dist/cjs/exports/loadable.js +27 -37
  28. package/dist/cjs/exports/server.js +7 -25
  29. package/dist/cjs/exports/styled.js +27 -37
  30. package/dist/cjs/index.js +22 -42
  31. package/dist/cjs/router/cli/index.js +91 -114
  32. package/dist/cjs/router/index.js +32 -39
  33. package/dist/cjs/router/runtime/DefaultNotFound.js +23 -38
  34. package/dist/cjs/router/runtime/DeferredDataScripts.js +8 -24
  35. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +69 -112
  36. package/dist/cjs/router/runtime/PrefetchLink.js +117 -96
  37. package/dist/cjs/router/runtime/fetch.js +7 -25
  38. package/dist/cjs/router/runtime/fetch.node.js +7 -25
  39. package/dist/cjs/router/runtime/fetch.worker.js +7 -25
  40. package/dist/cjs/router/runtime/hooks.js +8 -26
  41. package/dist/cjs/router/runtime/index.js +97 -149
  42. package/dist/cjs/router/runtime/plugin.js +56 -76
  43. package/dist/cjs/router/runtime/plugin.node.js +95 -74
  44. package/dist/cjs/router/runtime/server.js +18 -17
  45. package/dist/cjs/router/runtime/types.js +4 -15
  46. package/dist/cjs/router/runtime/utils.js +57 -83
  47. package/dist/cjs/router/runtime/withRouter.js +24 -39
  48. package/dist/cjs/runtimeContext.js +14 -27
  49. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +75 -59
  50. package/dist/cjs/ssr/cli/index.js +120 -150
  51. package/dist/cjs/ssr/index.js +149 -132
  52. package/dist/cjs/ssr/index.node.js +73 -74
  53. package/dist/cjs/ssr/prefetch.js +51 -59
  54. package/dist/cjs/ssr/react/index.js +15 -28
  55. package/dist/cjs/ssr/react/nossr/index.js +51 -43
  56. package/dist/cjs/ssr/react/prerender/index.js +93 -59
  57. package/dist/cjs/ssr/react/prerender/type.js +4 -15
  58. package/dist/cjs/ssr/react/prerender/util.js +32 -51
  59. package/dist/cjs/ssr/react/withCallback/index.js +53 -29
  60. package/dist/cjs/ssr/serverRender/helmet.js +15 -26
  61. package/dist/cjs/ssr/serverRender/index.js +14 -32
  62. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +15 -34
  63. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.share.js +12 -28
  64. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +28 -55
  65. package/dist/cjs/ssr/serverRender/renderToStream/index.js +23 -48
  66. package/dist/cjs/ssr/serverRender/renderToStream/loadable.js +13 -32
  67. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +33 -64
  68. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +26 -54
  69. package/dist/cjs/ssr/serverRender/renderToStream/styledComponent.js +9 -27
  70. package/dist/cjs/ssr/serverRender/renderToStream/template.js +11 -32
  71. package/dist/cjs/ssr/serverRender/renderToStream/type.js +4 -15
  72. package/dist/cjs/ssr/serverRender/renderToString/entry.js +133 -99
  73. package/dist/cjs/ssr/serverRender/renderToString/index.js +21 -48
  74. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +20 -45
  75. package/dist/cjs/ssr/serverRender/renderToString/reduce.js +13 -25
  76. package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +9 -27
  77. package/dist/cjs/ssr/serverRender/renderToString/template.js +42 -37
  78. package/dist/cjs/ssr/serverRender/renderToString/type.js +10 -28
  79. package/dist/cjs/ssr/serverRender/time.js +7 -25
  80. package/dist/cjs/ssr/serverRender/time.worker.js +11 -26
  81. package/dist/cjs/ssr/serverRender/types.js +7 -25
  82. package/dist/cjs/ssr/serverRender/utils.js +12 -27
  83. package/dist/cjs/ssr/utils.js +26 -51
  84. package/dist/cjs/state/cli/index.js +71 -95
  85. package/dist/cjs/state/index.js +32 -39
  86. package/dist/cjs/state/plugins.js +26 -46
  87. package/dist/cjs/state/runtime/index.js +27 -37
  88. package/dist/cjs/state/runtime/plugin.js +82 -84
  89. package/dist/cjs/state/types.js +4 -15
  90. package/dist/esm/cli/index.js +184 -176
  91. package/dist/esm/common.js +4 -5
  92. package/dist/esm/config.js +1 -1
  93. package/dist/esm/core/appConfig.js +8 -7
  94. package/dist/esm/core/compatible.js +470 -448
  95. package/dist/esm/core/index.js +3 -4
  96. package/dist/esm/core/loader/index.js +1 -2
  97. package/dist/esm/core/loader/loaderManager.js +391 -366
  98. package/dist/esm/core/loader/useLoader.js +173 -162
  99. package/dist/esm/core/plugin.js +162 -155
  100. package/dist/esm/core/types.js +1 -1
  101. package/dist/esm/document/Body.js +12 -13
  102. package/dist/esm/document/Comment.js +11 -12
  103. package/dist/esm/document/DocumentContext.js +4 -5
  104. package/dist/esm/document/DocumentStructureContext.js +6 -7
  105. package/dist/esm/document/Head.js +16 -17
  106. package/dist/esm/document/Html.js +84 -85
  107. package/dist/esm/document/Links.js +5 -6
  108. package/dist/esm/document/Root.js +20 -21
  109. package/dist/esm/document/Script.js +12 -13
  110. package/dist/esm/document/Scripts.js +5 -6
  111. package/dist/esm/document/cli/index.js +390 -371
  112. package/dist/esm/document/constants.js +33 -34
  113. package/dist/esm/exports/head.js +1 -2
  114. package/dist/esm/exports/loadable.js +1 -2
  115. package/dist/esm/exports/server.js +2 -3
  116. package/dist/esm/exports/styled.js +1 -2
  117. package/dist/esm/index.js +2 -3
  118. package/dist/esm/router/cli/index.js +141 -141
  119. package/dist/esm/router/index.js +2 -3
  120. package/dist/esm/router/runtime/DefaultNotFound.js +12 -13
  121. package/dist/esm/router/runtime/DeferredDataScripts.js +4 -4
  122. package/dist/esm/router/runtime/DeferredDataScripts.node.js +154 -143
  123. package/dist/esm/router/runtime/PrefetchLink.js +418 -394
  124. package/dist/esm/router/runtime/fetch.js +2 -1
  125. package/dist/esm/router/runtime/fetch.worker.js +2 -1
  126. package/dist/esm/router/runtime/index.js +62 -9
  127. package/dist/esm/router/runtime/plugin.js +141 -142
  128. package/dist/esm/router/runtime/plugin.node.js +372 -353
  129. package/dist/esm/router/runtime/types.js +1 -1
  130. package/dist/esm/router/runtime/utils.js +295 -279
  131. package/dist/esm/router/runtime/withRouter.js +57 -58
  132. package/dist/esm/runtimeContext.js +2 -3
  133. package/dist/esm/ssr/cli/babel-plugin-ssr-loader-id.js +105 -118
  134. package/dist/esm/ssr/cli/index.js +146 -146
  135. package/dist/esm/ssr/index.js +303 -297
  136. package/dist/esm/ssr/index.node.js +227 -221
  137. package/dist/esm/ssr/prefetch.js +192 -186
  138. package/dist/esm/ssr/react/index.js +2 -3
  139. package/dist/esm/ssr/react/nossr/index.js +58 -47
  140. package/dist/esm/ssr/react/prerender/index.js +214 -206
  141. package/dist/esm/ssr/react/prerender/type.js +1 -1
  142. package/dist/esm/ssr/react/prerender/util.js +91 -92
  143. package/dist/esm/ssr/react/withCallback/index.js +13 -14
  144. package/dist/esm/ssr/serverRender/helmet.js +34 -35
  145. package/dist/esm/ssr/serverRender/index.js +167 -160
  146. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +58 -59
  147. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +5 -6
  148. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +106 -93
  149. package/dist/esm/ssr/serverRender/renderToStream/index.js +157 -151
  150. package/dist/esm/ssr/serverRender/renderToStream/loadable.js +17 -18
  151. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +117 -117
  152. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +286 -279
  153. package/dist/esm/ssr/serverRender/renderToStream/styledComponent.js +8 -9
  154. package/dist/esm/ssr/serverRender/renderToStream/template.js +62 -51
  155. package/dist/esm/ssr/serverRender/renderToStream/type.js +1 -1
  156. package/dist/esm/ssr/serverRender/renderToString/entry.js +393 -383
  157. package/dist/esm/ssr/serverRender/renderToString/index.js +158 -152
  158. package/dist/esm/ssr/serverRender/renderToString/loadable.js +46 -47
  159. package/dist/esm/ssr/serverRender/renderToString/reduce.js +7 -8
  160. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +6 -7
  161. package/dist/esm/ssr/serverRender/renderToString/template.js +142 -128
  162. package/dist/esm/ssr/serverRender/renderToString/type.js +6 -7
  163. package/dist/esm/ssr/serverRender/time.js +57 -46
  164. package/dist/esm/ssr/serverRender/time.worker.js +72 -61
  165. package/dist/esm/ssr/serverRender/utils.js +14 -15
  166. package/dist/esm/ssr/utils.js +128 -117
  167. package/dist/esm/state/cli/index.js +67 -67
  168. package/dist/esm/state/index.js +2 -3
  169. package/dist/esm/state/plugins.js +7 -8
  170. package/dist/esm/state/runtime/index.js +1 -2
  171. package/dist/esm/state/runtime/plugin.js +177 -166
  172. package/dist/esm/state/types.js +1 -1
  173. package/dist/esm-node/cli/index.js +11 -9
  174. package/dist/esm-node/common.js +3 -8
  175. package/dist/esm-node/config.js +1 -0
  176. package/dist/esm-node/core/appConfig.js +2 -6
  177. package/dist/esm-node/core/compatible.js +104 -120
  178. package/dist/esm-node/core/index.js +3 -13
  179. package/dist/esm-node/core/loader/index.js +1 -4
  180. package/dist/esm-node/core/loader/loaderManager.js +25 -25
  181. package/dist/esm-node/core/loader/useLoader.js +60 -74
  182. package/dist/esm-node/core/plugin.js +9 -15
  183. package/dist/esm-node/core/types.js +1 -0
  184. package/dist/esm-node/document/Body.js +11 -15
  185. package/dist/esm-node/document/Comment.js +10 -14
  186. package/dist/esm-node/document/DocumentContext.js +1 -4
  187. package/dist/esm-node/document/DocumentStructureContext.js +1 -4
  188. package/dist/esm-node/document/Head.js +14 -14
  189. package/dist/esm-node/document/Html.js +31 -34
  190. package/dist/esm-node/document/Links.js +5 -6
  191. package/dist/esm-node/document/Root.js +19 -21
  192. package/dist/esm-node/document/Script.js +10 -14
  193. package/dist/esm-node/document/Scripts.js +5 -6
  194. package/dist/esm-node/document/cli/index.js +136 -184
  195. package/dist/esm-node/document/constants.js +22 -52
  196. package/dist/esm-node/exports/head.js +1 -4
  197. package/dist/esm-node/exports/loadable.js +1 -4
  198. package/dist/esm-node/exports/server.js +1 -4
  199. package/dist/esm-node/exports/styled.js +1 -4
  200. package/dist/esm-node/index.js +2 -22
  201. package/dist/esm-node/router/cli/index.js +83 -98
  202. package/dist/esm-node/router/index.js +2 -6
  203. package/dist/esm-node/router/runtime/DefaultNotFound.js +11 -17
  204. package/dist/esm-node/router/runtime/DeferredDataScripts.js +1 -4
  205. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +51 -85
  206. package/dist/esm-node/router/runtime/PrefetchLink.js +53 -59
  207. package/dist/esm-node/router/runtime/fetch.js +1 -3
  208. package/dist/esm-node/router/runtime/fetch.node.js +1 -3
  209. package/dist/esm-node/router/runtime/fetch.worker.js +1 -3
  210. package/dist/esm-node/router/runtime/hooks.js +1 -3
  211. package/dist/esm-node/router/runtime/index.js +10 -69
  212. package/dist/esm-node/router/runtime/plugin.js +27 -41
  213. package/dist/esm-node/router/runtime/plugin.node.js +24 -32
  214. package/dist/esm-node/router/runtime/types.js +1 -0
  215. package/dist/esm-node/router/runtime/utils.js +34 -50
  216. package/dist/esm-node/router/runtime/withRouter.js +8 -14
  217. package/dist/esm-node/runtimeContext.js +2 -6
  218. package/dist/esm-node/ssr/cli/babel-plugin-ssr-loader-id.js +99 -119
  219. package/dist/esm-node/ssr/cli/index.js +106 -125
  220. package/dist/esm-node/ssr/index.js +112 -96
  221. package/dist/esm-node/ssr/index.node.js +39 -39
  222. package/dist/esm-node/ssr/prefetch.js +40 -35
  223. package/dist/esm-node/ssr/react/index.js +2 -6
  224. package/dist/esm-node/ssr/react/nossr/index.js +2 -9
  225. package/dist/esm-node/ssr/react/prerender/index.js +32 -23
  226. package/dist/esm-node/ssr/react/prerender/type.js +1 -0
  227. package/dist/esm-node/ssr/react/prerender/util.js +23 -33
  228. package/dist/esm-node/ssr/react/withCallback/index.js +4 -5
  229. package/dist/esm-node/ssr/serverRender/helmet.js +2 -5
  230. package/dist/esm-node/ssr/serverRender/index.js +5 -10
  231. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -9
  232. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +3 -10
  233. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -17
  234. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +2 -7
  235. package/dist/esm-node/ssr/serverRender/renderToStream/loadable.js +4 -8
  236. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +21 -39
  237. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +16 -31
  238. package/dist/esm-node/ssr/serverRender/renderToStream/styledComponent.js +1 -4
  239. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +2 -8
  240. package/dist/esm-node/ssr/serverRender/renderToStream/type.js +1 -0
  241. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +50 -39
  242. package/dist/esm-node/ssr/serverRender/renderToString/index.js +1 -8
  243. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +8 -18
  244. package/dist/esm-node/ssr/serverRender/renderToString/reduce.js +1 -4
  245. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +1 -4
  246. package/dist/esm-node/ssr/serverRender/renderToString/template.js +32 -18
  247. package/dist/esm-node/ssr/serverRender/renderToString/type.js +3 -6
  248. package/dist/esm-node/ssr/serverRender/time.js +1 -4
  249. package/dist/esm-node/ssr/serverRender/time.worker.js +5 -5
  250. package/dist/esm-node/ssr/serverRender/types.js +1 -3
  251. package/dist/esm-node/ssr/serverRender/utils.js +4 -10
  252. package/dist/esm-node/ssr/utils.js +8 -19
  253. package/dist/esm-node/state/cli/index.js +63 -78
  254. package/dist/esm-node/state/index.js +2 -6
  255. package/dist/esm-node/state/plugins.js +4 -10
  256. package/dist/esm-node/state/runtime/index.js +1 -4
  257. package/dist/esm-node/state/runtime/plugin.js +47 -44
  258. package/dist/esm-node/state/types.js +1 -0
  259. package/dist/types/router/runtime/index.d.ts +1 -1
  260. package/package.json +14 -10
  261. package/types/model.d.ts +1 -0
@@ -1,45 +1,26 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var cli_exports = {};
29
- __export(cli_exports, {
30
- default: () => cli_default
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: () => _default
31
8
  });
32
- module.exports = __toCommonJS(cli_exports);
33
- var import_path = __toESM(require("path"));
34
- var import_utils = require("@modern-js/utils");
9
+ const _path = /* @__PURE__ */ _interop_require_default(require("path"));
10
+ const _utils = require("@modern-js/utils");
11
+ function _interop_require_default(obj) {
12
+ return obj && obj.__esModule ? obj : {
13
+ default: obj
14
+ };
15
+ }
35
16
  const PLUGIN_IDENTIFIER = "ssr";
36
17
  const hasStringSSREntry = (userConfig) => {
37
18
  const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
38
19
  const { server } = userConfig;
39
- if ((server == null ? void 0 : server.ssr) && !isStreaming(server.ssr)) {
20
+ if ((server === null || server === void 0 ? void 0 : server.ssr) && !isStreaming(server.ssr)) {
40
21
  return true;
41
22
  }
42
- if ((server == null ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
23
+ if ((server === null || server === void 0 ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
43
24
  for (const name of Object.keys(server.ssrByEntries)) {
44
25
  if (!isStreaming(server.ssrByEntries[name])) {
45
26
  return true;
@@ -48,130 +29,119 @@ const hasStringSSREntry = (userConfig) => {
48
29
  }
49
30
  return false;
50
31
  };
51
- var cli_default = () => ({
52
- name: "@modern-js/plugin-ssr",
53
- required: ["@modern-js/runtime"],
54
- setup: (api) => {
55
- const ssrConfigMap = /* @__PURE__ */ new Map();
56
- let pluginsExportsUtils;
57
- return {
58
- config() {
59
- const appContext = api.useAppContext();
60
- pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(
61
- appContext.internalDirectory,
62
- "plugins"
63
- );
64
- const { bundlerType = "webpack" } = api.useAppContext();
65
- const babelConfig = bundlerType === "webpack" ? (config) => {
66
- var _a, _b;
67
- (_a = config.plugins) == null ? void 0 : _a.push(
68
- import_path.default.join(__dirname, "./babel-plugin-ssr-loader-id")
69
- );
70
- const userConfig = api.useResolvedConfigContext();
71
- if ((0, import_utils.isUseSSRBundle)(userConfig) && hasStringSSREntry(userConfig)) {
72
- (_b = config.plugins) == null ? void 0 : _b.push(
73
- require.resolve("@loadable/babel-plugin")
74
- );
75
- }
76
- } : void 0;
77
- return {
78
- source: {
79
- alias: {
80
- // ensure that all packages use the same storage in @modern-js/utils/ssr
81
- "@modern-js/utils/ssr": require.resolve("@modern-js/utils/ssr"),
82
- "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
83
- },
84
- globalVars: (values, { target }) => {
85
- values["process.env.MODERN_TARGET"] = target === "node" || target === "service-worker" ? "node" : "browser";
32
+ const _default = () => {
33
+ return {
34
+ name: "@modern-js/plugin-ssr",
35
+ required: [
36
+ "@modern-js/runtime"
37
+ ],
38
+ setup: (api) => {
39
+ const ssrConfigMap = /* @__PURE__ */ new Map();
40
+ let pluginsExportsUtils;
41
+ return {
42
+ config() {
43
+ const appContext = api.useAppContext();
44
+ pluginsExportsUtils = (0, _utils.createRuntimeExportsUtils)(appContext.internalDirectory, "plugins");
45
+ const { bundlerType = "webpack" } = api.useAppContext();
46
+ const babelConfig = bundlerType === "webpack" ? (config) => {
47
+ var _config_plugins;
48
+ (_config_plugins = config.plugins) === null || _config_plugins === void 0 ? void 0 : _config_plugins.push(_path.default.join(__dirname, "./babel-plugin-ssr-loader-id"));
49
+ const userConfig = api.useResolvedConfigContext();
50
+ if ((0, _utils.isUseSSRBundle)(userConfig) && hasStringSSREntry(userConfig)) {
51
+ var _config_plugins1;
52
+ (_config_plugins1 = config.plugins) === null || _config_plugins1 === void 0 ? void 0 : _config_plugins1.push(require.resolve("@loadable/babel-plugin"));
86
53
  }
87
- },
88
- tools: {
89
- webpackChain: (chain, { isServer, isServiceWorker, CHAIN_ID }) => {
90
- const userConfig = api.useResolvedConfigContext();
91
- if ((0, import_utils.isUseSSRBundle)(userConfig) && !isServer && !isServiceWorker && hasStringSSREntry(userConfig)) {
92
- const LoadableWebpackPlugin = require("@loadable/webpack-plugin");
93
- chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [
94
- { filename: import_utils.LOADABLE_STATS_FILE }
95
- ]);
54
+ } : void 0;
55
+ return {
56
+ source: {
57
+ alias: {
58
+ // ensure that all packages use the same storage in @modern-js/utils/ssr
59
+ "@modern-js/utils/ssr": require.resolve("@modern-js/utils/ssr"),
60
+ "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
61
+ },
62
+ globalVars: (values, { target }) => {
63
+ values["process.env.MODERN_TARGET"] = target === "node" || target === "service-worker" ? "node" : "browser";
96
64
  }
97
65
  },
98
- babel: babelConfig
66
+ tools: {
67
+ webpackChain: (chain, { isServer, isServiceWorker, CHAIN_ID }) => {
68
+ const userConfig = api.useResolvedConfigContext();
69
+ if ((0, _utils.isUseSSRBundle)(userConfig) && !isServer && !isServiceWorker && hasStringSSREntry(userConfig)) {
70
+ const LoadableWebpackPlugin = require("@loadable/webpack-plugin");
71
+ chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [
72
+ {
73
+ filename: _utils.LOADABLE_STATS_FILE
74
+ }
75
+ ]);
76
+ }
77
+ },
78
+ babel: babelConfig
79
+ }
80
+ };
81
+ },
82
+ modifyEntryImports({ entrypoint, imports }) {
83
+ const { entryName, fileSystemRoutes } = entrypoint;
84
+ const userConfig = api.useResolvedConfigContext();
85
+ const { packageName, entrypoints } = api.useAppContext();
86
+ pluginsExportsUtils.addExport(`export { default as ssr } from '@modern-js/runtime/ssr'`);
87
+ const ssrConfig = (0, _utils.getEntryOptions)(entryName, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
88
+ if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
89
+ var _ref;
90
+ const runtimeConfig = (0, _utils.getEntryOptions)(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
91
+ if (((_ref = runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) === null || _ref === void 0 ? void 0 : _ref.mode) === "react-router-5") {
92
+ throw new Error(`router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'`);
93
+ }
94
+ if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
95
+ throw new Error(`You should switch to file-system based router to support streaming SSR.`);
96
+ }
99
97
  }
100
- };
101
- },
102
- modifyEntryImports({ entrypoint, imports }) {
103
- var _a;
104
- const { entryName, fileSystemRoutes } = entrypoint;
105
- const userConfig = api.useResolvedConfigContext();
106
- const { packageName, entrypoints } = api.useAppContext();
107
- pluginsExportsUtils.addExport(
108
- `export { default as ssr } from '@modern-js/runtime/ssr'`
109
- );
110
- const ssrConfig = (0, import_utils.getEntryOptions)(
111
- entryName,
112
- userConfig.server.ssr,
113
- userConfig.server.ssrByEntries,
114
- packageName
115
- );
116
- if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
117
- const runtimeConfig = (0, import_utils.getEntryOptions)(
118
- entryName,
119
- userConfig.runtime,
120
- userConfig.runtimeByEntries,
121
- packageName
122
- );
123
- if (((_a = runtimeConfig == null ? void 0 : runtimeConfig.router) == null ? void 0 : _a.mode) === "react-router-5") {
124
- throw new Error(
125
- `router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'`
126
- );
98
+ const useSSG = (0, _utils.isSSGEntry)(userConfig, entryName, entrypoints);
99
+ ssrConfigMap.set(entryName, ssrConfig || useSSG);
100
+ if (ssrConfig || useSSG) {
101
+ imports.push({
102
+ value: "@modern-js/runtime/plugins",
103
+ specifiers: [
104
+ {
105
+ imported: PLUGIN_IDENTIFIER
106
+ }
107
+ ]
108
+ });
127
109
  }
128
- if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
129
- throw new Error(
130
- `You should switch to file-system based router to support streaming SSR.`
131
- );
110
+ return {
111
+ entrypoint,
112
+ imports
113
+ };
114
+ },
115
+ modifyEntryRuntimePlugins({ entrypoint, plugins }) {
116
+ if (ssrConfigMap.get(entrypoint.entryName)) {
117
+ plugins.push({
118
+ name: PLUGIN_IDENTIFIER,
119
+ options: JSON.stringify(ssrConfigMap.get(entrypoint.entryName))
120
+ });
132
121
  }
133
- }
134
- const useSSG = (0, import_utils.isSSGEntry)(userConfig, entryName, entrypoints);
135
- ssrConfigMap.set(entryName, ssrConfig || useSSG);
136
- if (ssrConfig || useSSG) {
137
- imports.push({
138
- value: "@modern-js/runtime/plugins",
139
- specifiers: [{ imported: PLUGIN_IDENTIFIER }]
140
- });
141
- }
142
- return {
143
- entrypoint,
144
- imports
145
- };
146
- },
147
- modifyEntryRuntimePlugins({ entrypoint, plugins }) {
148
- if (ssrConfigMap.get(entrypoint.entryName)) {
149
- plugins.push({
150
- name: PLUGIN_IDENTIFIER,
151
- options: JSON.stringify(ssrConfigMap.get(entrypoint.entryName))
152
- });
153
- }
154
- return {
155
- entrypoint,
156
- plugins
157
- };
158
- },
159
- modifyEntryExport({ entrypoint, exportStatement }) {
160
- if (ssrConfigMap.get(entrypoint.entryName)) {
161
122
  return {
162
123
  entrypoint,
163
- exportStatement: [
164
- `export function ${import_utils.SERVER_RENDER_FUNCTION_NAME}(context) {
124
+ plugins
125
+ };
126
+ },
127
+ modifyEntryExport({ entrypoint, exportStatement }) {
128
+ if (ssrConfigMap.get(entrypoint.entryName)) {
129
+ return {
130
+ entrypoint,
131
+ exportStatement: [
132
+ `export function ${_utils.SERVER_RENDER_FUNCTION_NAME}(context) {
165
133
  return bootstrap(AppWrapper, context)
166
134
  }`,
167
- exportStatement
168
- ].join("\n")
135
+ exportStatement
136
+ ].join("\n")
137
+ };
138
+ }
139
+ return {
140
+ entrypoint,
141
+ exportStatement
169
142
  };
170
143
  }
171
- return { entrypoint, exportStatement };
172
- }
173
- };
174
- }
175
- });
176
- // Annotate the CommonJS export names for ESM import in node:
177
- 0 && (module.exports = {});
144
+ };
145
+ }
146
+ };
147
+ };
@@ -1,147 +1,164 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
8
6
  for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var ssr_exports = {};
30
- __export(ssr_exports, {
31
- default: () => ssr_default,
32
- ssr: () => ssr
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ ssr: () => ssr,
14
+ default: () => _default
33
15
  });
34
- module.exports = __toCommonJS(ssr_exports);
35
- var import_jsx_runtime = require("react/jsx-runtime");
36
- var import_component = require("@loadable/component");
37
- var import_hoist_non_react_statics = __toESM(require("hoist-non-react-statics"));
38
- var import_runtime = require("@modern-js/utils/runtime");
39
- var import_types = require("./serverRender/types");
40
- var import_withCallback = require("./react/withCallback");
41
- var import_utils = require("./utils");
42
- var import_utils2 = require("./serverRender/utils");
43
- __reExport(ssr_exports, require("./react"), module.exports);
44
- const ssr = (config) => ({
45
- name: "@modern-js/plugin-ssr",
46
- setup: () => {
47
- const mockResp = (0, import_utils.mockResponse)();
48
- if (config.inlineScript === false) {
49
- window._SSR_DATA = (0, import_runtime.parsedJSONFromElement)(import_utils2.SSR_DATA_JSON_ID);
50
- window._ROUTER_DATA = (0, import_runtime.parsedJSONFromElement)(import_utils2.ROUTER_DATA_JSON_ID);
51
- }
52
- return {
53
- client: async ({ App, context, ModernRender, ModernHydrate }) => {
54
- var _a;
55
- const hydrateContext = {
56
- ...context,
57
- get routes() {
58
- return context.routes;
59
- },
60
- _hydration: true
61
- };
62
- const callback = () => {
63
- delete hydrateContext._hydration;
64
- };
65
- const renderLevel = ((_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.renderLevel) || import_types.RenderLevel.CLIENT_RENDER;
66
- if ((0, import_utils.isReact18)() && config.mode === "stream") {
67
- return streamSSRHydrate();
16
+ const _jsxruntime = require("react/jsx-runtime");
17
+ const _component = require("@loadable/component");
18
+ const _hoistnonreactstatics = /* @__PURE__ */ _interop_require_default(require("hoist-non-react-statics"));
19
+ const _runtime = require("@modern-js/utils/runtime");
20
+ const _types = require("./serverRender/types");
21
+ const _withCallback = require("./react/withCallback");
22
+ const _utils = require("./utils");
23
+ const _utils1 = require("./serverRender/utils");
24
+ _export_star(require("./react"), exports);
25
+ function _export_star(from, to) {
26
+ Object.keys(from).forEach(function(k) {
27
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
28
+ Object.defineProperty(to, k, {
29
+ enumerable: true,
30
+ get: function() {
31
+ return from[k];
68
32
  }
69
- return stringSSRHydrate();
70
- function stringSSRHydrate() {
71
- if (renderLevel === import_types.RenderLevel.CLIENT_RENDER || renderLevel === import_types.RenderLevel.SERVER_PREFETCH) {
72
- ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, { context }));
73
- } else if (renderLevel === import_types.RenderLevel.SERVER_RENDER) {
74
- if ((0, import_utils.isReact18)()) {
75
- (0, import_component.loadableReady)(() => {
76
- let SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, { callback, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, { context: hydrateContext }) });
77
- SSRApp = (0, import_hoist_non_react_statics.default)(SSRApp, App);
78
- ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {}));
79
- });
33
+ });
34
+ }
35
+ });
36
+ return from;
37
+ }
38
+ function _interop_require_default(obj) {
39
+ return obj && obj.__esModule ? obj : {
40
+ default: obj
41
+ };
42
+ }
43
+ const ssr = (config) => {
44
+ return {
45
+ name: "@modern-js/plugin-ssr",
46
+ setup: () => {
47
+ const mockResp = (0, _utils.mockResponse)();
48
+ if (config.inlineScript === false) {
49
+ window._SSR_DATA = (0, _runtime.parsedJSONFromElement)(_utils1.SSR_DATA_JSON_ID);
50
+ window._ROUTER_DATA = (0, _runtime.parsedJSONFromElement)(_utils1.ROUTER_DATA_JSON_ID);
51
+ }
52
+ return {
53
+ client: async ({ App, context, ModernRender, ModernHydrate }) => {
54
+ var _window__SSR_DATA;
55
+ const hydrateContext = {
56
+ ...context,
57
+ get routes() {
58
+ return context.routes;
59
+ },
60
+ _hydration: true
61
+ };
62
+ const callback = () => {
63
+ delete hydrateContext._hydration;
64
+ };
65
+ const renderLevel = (window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : _window__SSR_DATA.renderLevel) || _types.RenderLevel.CLIENT_RENDER;
66
+ if ((0, _utils.isReact18)() && config.mode === "stream") {
67
+ return streamSSRHydrate();
68
+ }
69
+ return stringSSRHydrate();
70
+ function stringSSRHydrate() {
71
+ if (renderLevel === _types.RenderLevel.CLIENT_RENDER || renderLevel === _types.RenderLevel.SERVER_PREFETCH) {
72
+ ModernRender(/* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
73
+ context
74
+ }));
75
+ } else if (renderLevel === _types.RenderLevel.SERVER_RENDER) {
76
+ if ((0, _utils.isReact18)()) {
77
+ (0, _component.loadableReady)(() => {
78
+ let SSRApp = () => /* @__PURE__ */ (0, _jsxruntime.jsx)(_withCallback.WithCallback, {
79
+ callback,
80
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
81
+ context: hydrateContext
82
+ })
83
+ });
84
+ SSRApp = (0, _hoistnonreactstatics.default)(SSRApp, App);
85
+ ModernHydrate(/* @__PURE__ */ (0, _jsxruntime.jsx)(SSRApp, {}));
86
+ });
87
+ } else {
88
+ (0, _component.loadableReady)(() => {
89
+ ModernHydrate(/* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
90
+ context: hydrateContext
91
+ }), callback);
92
+ });
93
+ }
80
94
  } else {
81
- (0, import_component.loadableReady)(() => {
82
- ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, { context: hydrateContext }), callback);
95
+ console.warn(`unknow render level: ${renderLevel}, execute render()`);
96
+ ModernRender(/* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
97
+ context
98
+ }));
99
+ }
100
+ }
101
+ function streamSSRHydrate() {
102
+ if (renderLevel === _types.RenderLevel.SERVER_RENDER) {
103
+ let SSRApp = () => /* @__PURE__ */ (0, _jsxruntime.jsx)(_withCallback.WithCallback, {
104
+ callback,
105
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
106
+ context: hydrateContext
107
+ })
83
108
  });
109
+ SSRApp = (0, _hoistnonreactstatics.default)(SSRApp, App);
110
+ ModernHydrate(/* @__PURE__ */ (0, _jsxruntime.jsx)(SSRApp, {}));
111
+ } else {
112
+ ModernRender(/* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
113
+ context
114
+ }));
84
115
  }
85
- } else {
86
- console.warn(
87
- `unknow render level: ${renderLevel}, execute render()`
88
- );
89
- ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, { context }));
90
116
  }
91
- }
92
- function streamSSRHydrate() {
93
- if (renderLevel === import_types.RenderLevel.SERVER_RENDER) {
94
- let SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, { callback, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, { context: hydrateContext }) });
95
- SSRApp = (0, import_hoist_non_react_statics.default)(SSRApp, App);
96
- ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {}));
97
- } else {
98
- ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, { context }));
117
+ },
118
+ init({ context }, next) {
119
+ var _window__SSR_DATA, _window__SSR_DATA_context;
120
+ const request = window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_context = _window__SSR_DATA.context) === null || _window__SSR_DATA_context === void 0 ? void 0 : _window__SSR_DATA_context.request;
121
+ if (!request) {
122
+ context.ssrContext = {
123
+ ...context.ssrContext,
124
+ response: mockResp,
125
+ request: (0, _utils.formatClient)({})
126
+ };
127
+ return next({
128
+ context
129
+ });
130
+ }
131
+ context.ssrContext.response = mockResp;
132
+ context.ssrContext.request = (0, _utils.formatClient)(request);
133
+ return next({
134
+ context
135
+ });
136
+ },
137
+ pickContext: ({ context, pickedContext }, next) => {
138
+ var _window__SSR_DATA, _window__SSR_DATA_context;
139
+ const request = window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_context = _window__SSR_DATA.context) === null || _window__SSR_DATA_context === void 0 ? void 0 : _window__SSR_DATA_context.request;
140
+ const { initialData } = context;
141
+ if (!request) {
142
+ return next({
143
+ context,
144
+ pickedContext: {
145
+ ...pickedContext,
146
+ initialData
147
+ }
148
+ });
99
149
  }
100
- }
101
- },
102
- init({ context }, next) {
103
- var _a, _b;
104
- const request = (_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.context) == null ? void 0 : _b.request;
105
- if (!request) {
106
- context.ssrContext = {
107
- ...context.ssrContext,
108
- response: mockResp,
109
- request: (0, import_utils.formatClient)({})
110
- };
111
- return next({ context });
112
- }
113
- context.ssrContext.response = mockResp;
114
- context.ssrContext.request = (0, import_utils.formatClient)(request);
115
- return next({ context });
116
- },
117
- pickContext: ({ context, pickedContext }, next) => {
118
- var _a, _b;
119
- const request = (_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.context) == null ? void 0 : _b.request;
120
- const { initialData } = context;
121
- if (!request) {
122
150
  return next({
123
151
  context,
124
152
  pickedContext: {
125
153
  ...pickedContext,
126
- initialData
154
+ initialData,
155
+ request,
156
+ response: mockResp
127
157
  }
128
158
  });
129
159
  }
130
- return next({
131
- context,
132
- pickedContext: {
133
- ...pickedContext,
134
- initialData,
135
- request,
136
- response: mockResp
137
- }
138
- });
139
- }
140
- };
141
- }
142
- });
143
- var ssr_default = ssr;
144
- // Annotate the CommonJS export names for ESM import in node:
145
- 0 && (module.exports = {
146
- ssr
147
- });
160
+ };
161
+ }
162
+ };
163
+ };
164
+ const _default = ssr;