@modern-js/runtime 2.0.0-beta.2 → 2.0.0-beta.4

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 (257) hide show
  1. package/CHANGELOG.md +226 -0
  2. package/dist/js/modern/cli/index.js +49 -19
  3. package/dist/js/modern/cli/types.d.js +0 -0
  4. package/dist/js/modern/common.js +4 -1
  5. package/dist/js/modern/core/app-config.js +8 -9
  6. package/dist/js/modern/core/compatible.js +195 -169
  7. package/dist/js/modern/core/index.js +14 -6
  8. package/dist/js/modern/core/loader/index.js +4 -1
  9. package/dist/js/modern/core/loader/loaderManager.js +75 -77
  10. package/dist/js/modern/core/loader/useLoader.js +96 -69
  11. package/dist/js/modern/core/plugin.js +37 -20
  12. package/dist/js/modern/document/Body.js +20 -14
  13. package/dist/js/modern/document/DocumentContext.js +6 -3
  14. package/dist/js/modern/document/DocumentStructrueContext.js +6 -3
  15. package/dist/js/modern/document/Head.js +18 -17
  16. package/dist/js/modern/document/Html.js +42 -58
  17. package/dist/js/modern/document/Root.js +22 -20
  18. package/dist/js/modern/document/Script.js +20 -0
  19. package/dist/js/modern/document/Scripts.js +7 -7
  20. package/dist/js/modern/document/cli/index.js +175 -85
  21. package/dist/js/modern/document/constants.js +41 -15
  22. package/dist/js/modern/document/index.js +2 -1
  23. package/dist/js/modern/document/type.d.js +0 -0
  24. package/dist/js/modern/exports/head.js +6 -3
  25. package/dist/js/modern/exports/loadable.js +6 -3
  26. package/dist/js/modern/exports/server.js +4 -1
  27. package/dist/js/modern/exports/styled.js +6 -3
  28. package/dist/js/modern/index.js +22 -2
  29. package/dist/js/modern/modern-app.env.d.js +0 -0
  30. package/dist/js/modern/router/cli/index.js +75 -57
  31. package/dist/js/modern/router/index.js +7 -3
  32. package/dist/js/modern/router/runtime/DefaultNotFound.js +11 -10
  33. package/dist/js/modern/router/runtime/index.js +8 -3
  34. package/dist/js/modern/router/runtime/plugin.js +71 -37
  35. package/dist/js/modern/router/runtime/plugin.node.js +89 -80
  36. package/dist/js/modern/router/runtime/root/index.js +10 -10
  37. package/dist/js/modern/router/runtime/root/load.js +57 -36
  38. package/dist/js/modern/router/runtime/server.js +1 -0
  39. package/dist/js/modern/router/runtime/types.js +0 -1
  40. package/dist/js/modern/router/runtime/utils.js +86 -67
  41. package/dist/js/modern/router/runtime/withRouter.js +31 -15
  42. package/dist/js/modern/runtime-context.js +7 -3
  43. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  44. package/dist/js/modern/ssr/cli/index.js +107 -70
  45. package/dist/js/modern/ssr/index.js +89 -71
  46. package/dist/js/modern/ssr/index.node.js +59 -37
  47. package/dist/js/modern/ssr/prefetch.js +64 -45
  48. package/dist/js/modern/ssr/react/index.js +6 -2
  49. package/dist/js/modern/ssr/react/nossr/index.js +8 -7
  50. package/dist/js/modern/ssr/react/prerender/index.js +53 -28
  51. package/dist/js/modern/ssr/react/prerender/util.js +38 -26
  52. package/dist/js/modern/ssr/react/withCallback/index.js +6 -7
  53. package/dist/js/modern/ssr/serverRender/helmet.js +18 -12
  54. package/dist/js/modern/ssr/serverRender/index.js +34 -13
  55. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +10 -12
  56. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -5
  57. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +40 -37
  58. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +36 -18
  59. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +7 -7
  60. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +56 -34
  61. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +6 -5
  62. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +13 -9
  63. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +101 -84
  64. package/dist/js/modern/ssr/serverRender/renderToString/index.js +32 -9
  65. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +21 -18
  66. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +6 -3
  67. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +6 -3
  68. package/dist/js/modern/ssr/serverRender/renderToString/template.js +22 -22
  69. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -6
  70. package/dist/js/modern/ssr/serverRender/types.js +3 -1
  71. package/dist/js/modern/ssr/serverRender/utils.js +11 -9
  72. package/dist/js/modern/ssr/type.d.js +0 -0
  73. package/dist/js/modern/ssr/utils.js +41 -21
  74. package/dist/js/modern/state/cli/index.js +43 -32
  75. package/dist/js/modern/state/index.js +7 -3
  76. package/dist/js/modern/state/plugins.js +13 -7
  77. package/dist/js/modern/state/runtime/index.js +9 -4
  78. package/dist/js/modern/state/runtime/plugin.js +63 -40
  79. package/dist/js/modern/state/types.js +0 -1
  80. package/dist/js/node/cli/index.js +77 -30
  81. package/dist/js/node/cli/types.d.js +0 -0
  82. package/dist/js/node/common.js +22 -7
  83. package/dist/js/node/core/app-config.js +24 -14
  84. package/dist/js/node/core/compatible.js +223 -186
  85. package/dist/js/node/core/index.js +34 -100
  86. package/dist/js/node/core/loader/index.js +27 -11
  87. package/dist/js/node/core/loader/loaderManager.js +97 -83
  88. package/dist/js/node/core/loader/useLoader.js +120 -83
  89. package/dist/js/node/core/plugin.js +58 -35
  90. package/dist/js/node/document/Body.js +36 -23
  91. package/dist/js/node/document/DocumentContext.js +29 -9
  92. package/dist/js/node/document/DocumentStructrueContext.js +29 -9
  93. package/dist/js/node/document/Head.js +38 -27
  94. package/dist/js/node/document/Html.js +62 -65
  95. package/dist/js/node/document/Root.js +42 -31
  96. package/dist/js/node/document/Script.js +36 -0
  97. package/dist/js/node/document/Scripts.js +26 -14
  98. package/dist/js/node/document/cli/index.js +188 -95
  99. package/dist/js/node/document/constants.js +56 -28
  100. package/dist/js/node/document/index.js +25 -93
  101. package/dist/js/node/document/type.d.js +0 -0
  102. package/dist/js/node/exports/head.js +31 -22
  103. package/dist/js/node/exports/loadable.js +31 -22
  104. package/dist/js/node/exports/server.js +22 -7
  105. package/dist/js/node/exports/styled.js +31 -22
  106. package/dist/js/node/index.js +32 -61
  107. package/dist/js/node/modern-app.env.d.js +0 -0
  108. package/dist/js/node/router/cli/index.js +88 -62
  109. package/dist/js/node/router/index.js +30 -31
  110. package/dist/js/node/router/runtime/DefaultNotFound.js +28 -17
  111. package/dist/js/node/router/runtime/index.js +28 -33
  112. package/dist/js/node/router/runtime/plugin.js +89 -43
  113. package/dist/js/node/router/runtime/plugin.node.js +110 -89
  114. package/dist/js/node/router/runtime/root/index.js +33 -21
  115. package/dist/js/node/router/runtime/root/load.js +74 -42
  116. package/dist/js/node/router/runtime/server.js +17 -0
  117. package/dist/js/node/router/runtime/types.js +0 -5
  118. package/dist/js/node/router/runtime/utils.js +101 -76
  119. package/dist/js/node/router/runtime/withRouter.js +51 -22
  120. package/dist/js/node/runtime-context.js +25 -10
  121. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +158 -0
  122. package/dist/js/node/ssr/cli/index.js +124 -76
  123. package/dist/js/node/ssr/index.js +123 -104
  124. package/dist/js/node/ssr/index.node.js +84 -59
  125. package/dist/js/node/ssr/prefetch.js +82 -51
  126. package/dist/js/node/ssr/react/index.js +23 -17
  127. package/dist/js/node/ssr/react/nossr/index.js +33 -16
  128. package/dist/js/node/ssr/react/prerender/index.js +80 -45
  129. package/dist/js/node/ssr/react/prerender/util.js +55 -36
  130. package/dist/js/node/ssr/react/withCallback/index.js +25 -15
  131. package/dist/js/node/ssr/serverRender/helmet.js +35 -17
  132. package/dist/js/node/ssr/serverRender/index.js +53 -19
  133. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +36 -20
  134. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +27 -10
  135. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +64 -46
  136. package/dist/js/node/ssr/serverRender/renderToStream/index.js +65 -30
  137. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +25 -12
  138. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +75 -43
  139. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +25 -11
  140. package/dist/js/node/ssr/serverRender/renderToStream/template.js +32 -16
  141. package/dist/js/node/ssr/serverRender/renderToString/entry.js +133 -103
  142. package/dist/js/node/ssr/serverRender/renderToString/index.js +60 -20
  143. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +41 -26
  144. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +23 -7
  145. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +23 -8
  146. package/dist/js/node/ssr/serverRender/renderToString/template.js +39 -28
  147. package/dist/js/node/ssr/serverRender/renderToString/type.js +27 -12
  148. package/dist/js/node/ssr/serverRender/types.js +21 -10
  149. package/dist/js/node/ssr/serverRender/utils.js +26 -13
  150. package/dist/js/node/ssr/type.d.js +0 -0
  151. package/dist/js/node/ssr/utils.js +57 -29
  152. package/dist/js/node/state/cli/index.js +56 -37
  153. package/dist/js/node/state/index.js +30 -31
  154. package/dist/js/node/state/plugins.js +36 -22
  155. package/dist/js/node/state/runtime/index.js +32 -51
  156. package/dist/js/node/state/runtime/plugin.js +96 -68
  157. package/dist/js/node/state/types.js +0 -5
  158. package/dist/js/treeshaking/cli/index.js +180 -52
  159. package/dist/js/treeshaking/cli/types.d.js +1 -0
  160. package/dist/js/treeshaking/common.js +4 -3
  161. package/dist/js/treeshaking/core/app-config.js +8 -13
  162. package/dist/js/treeshaking/core/compatible.js +473 -276
  163. package/dist/js/treeshaking/core/index.js +5 -6
  164. package/dist/js/treeshaking/core/loader/index.js +2 -1
  165. package/dist/js/treeshaking/core/loader/loaderManager.js +395 -224
  166. package/dist/js/treeshaking/core/loader/useLoader.js +181 -83
  167. package/dist/js/treeshaking/core/plugin.js +164 -48
  168. package/dist/js/treeshaking/document/Body.js +15 -11
  169. package/dist/js/treeshaking/document/DocumentContext.js +7 -6
  170. package/dist/js/treeshaking/document/DocumentStructrueContext.js +8 -7
  171. package/dist/js/treeshaking/document/Head.js +18 -17
  172. package/dist/js/treeshaking/document/Html.js +86 -93
  173. package/dist/js/treeshaking/document/Root.js +23 -21
  174. package/dist/js/treeshaking/document/Script.js +15 -0
  175. package/dist/js/treeshaking/document/Scripts.js +7 -9
  176. package/dist/js/treeshaking/document/cli/index.js +381 -168
  177. package/dist/js/treeshaking/document/constants.js +34 -16
  178. package/dist/js/treeshaking/document/index.js +2 -1
  179. package/dist/js/treeshaking/document/type.d.js +1 -0
  180. package/dist/js/treeshaking/exports/head.js +4 -3
  181. package/dist/js/treeshaking/exports/loadable.js +4 -3
  182. package/dist/js/treeshaking/exports/server.js +4 -3
  183. package/dist/js/treeshaking/exports/styled.js +4 -3
  184. package/dist/js/treeshaking/index.js +3 -2
  185. package/dist/js/treeshaking/modern-app.env.d.js +1 -0
  186. package/dist/js/treeshaking/router/cli/index.js +147 -99
  187. package/dist/js/treeshaking/router/index.js +4 -3
  188. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -15
  189. package/dist/js/treeshaking/router/runtime/index.js +5 -3
  190. package/dist/js/treeshaking/router/runtime/plugin.js +119 -60
  191. package/dist/js/treeshaking/router/runtime/plugin.node.js +376 -148
  192. package/dist/js/treeshaking/router/runtime/root/index.js +17 -15
  193. package/dist/js/treeshaking/router/runtime/root/load.js +290 -95
  194. package/dist/js/treeshaking/router/runtime/server.js +1 -0
  195. package/dist/js/treeshaking/router/runtime/types.js +1 -1
  196. package/dist/js/treeshaking/router/runtime/utils.js +227 -145
  197. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -18
  198. package/dist/js/treeshaking/runtime-context.js +4 -3
  199. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  200. package/dist/js/treeshaking/ssr/cli/index.js +210 -123
  201. package/dist/js/treeshaking/ssr/index.js +305 -144
  202. package/dist/js/treeshaking/ssr/index.node.js +234 -66
  203. package/dist/js/treeshaking/ssr/prefetch.js +196 -79
  204. package/dist/js/treeshaking/ssr/react/index.js +3 -2
  205. package/dist/js/treeshaking/ssr/react/nossr/index.js +57 -14
  206. package/dist/js/treeshaking/ssr/react/prerender/index.js +226 -89
  207. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  208. package/dist/js/treeshaking/ssr/react/prerender/util.js +96 -86
  209. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -15
  210. package/dist/js/treeshaking/ssr/serverRender/helmet.js +38 -34
  211. package/dist/js/treeshaking/ssr/serverRender/index.js +165 -37
  212. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +33 -31
  213. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -7
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +110 -55
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +157 -42
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +20 -20
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +114 -63
  218. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -10
  219. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +61 -20
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  221. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +380 -208
  222. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +161 -40
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +51 -45
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +9 -8
  225. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -8
  226. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +142 -64
  227. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -6
  228. package/dist/js/treeshaking/ssr/serverRender/types.js +1 -1
  229. package/dist/js/treeshaking/ssr/serverRender/utils.js +67 -26
  230. package/dist/js/treeshaking/ssr/type.d.js +1 -0
  231. package/dist/js/treeshaking/ssr/utils.js +128 -64
  232. package/dist/js/treeshaking/state/cli/index.js +70 -68
  233. package/dist/js/treeshaking/state/index.js +4 -3
  234. package/dist/js/treeshaking/state/plugins.js +12 -11
  235. package/dist/js/treeshaking/state/runtime/index.js +5 -4
  236. package/dist/js/treeshaking/state/runtime/plugin.js +190 -67
  237. package/dist/js/treeshaking/state/types.js +1 -1
  238. package/dist/types/cli/index.d.ts +2 -0
  239. package/dist/types/core/loader/loaderManager.d.ts +1 -0
  240. package/dist/types/core/loader/useLoader.d.ts +5 -0
  241. package/dist/types/core/plugin.d.ts +6 -1
  242. package/dist/types/document/Script.d.ts +4 -0
  243. package/dist/types/document/cli/index.d.ts +2 -0
  244. package/dist/types/document/constants.d.ts +2 -0
  245. package/dist/types/document/index.d.ts +1 -0
  246. package/dist/types/router/cli/index.d.ts +2 -0
  247. package/dist/types/router/runtime/index.d.ts +1 -0
  248. package/dist/types/router/runtime/plugin.d.ts +5 -1
  249. package/dist/types/router/runtime/plugin.node.d.ts +1 -0
  250. package/dist/types/router/runtime/server.d.ts +1 -0
  251. package/dist/types/router/runtime/types.d.ts +5 -1
  252. package/dist/types/ssr/cli/babel-plugin-ssr-loader-id.d.ts +1 -0
  253. package/dist/types/ssr/cli/index.d.ts +2 -0
  254. package/dist/types/state/cli/index.d.ts +2 -0
  255. package/dist/types/state/runtime/plugin.d.ts +7 -2
  256. package/dist/types/state/types.d.ts +1 -0
  257. package/package.json +33 -25
@@ -1,20 +1,57 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
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
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ default: () => cli_default
5
27
  });
6
- exports.default = void 0;
7
- var _utils = require("@modern-js/utils");
8
- const PLUGIN_IDENTIFIER = 'ssr';
9
- const hasStringSSREntry = userConfig => {
10
- const isStreaming = ssr => ssr && typeof ssr === 'object' && ssr.mode === 'stream';
11
- const {
12
- server
13
- } = userConfig;
14
- if (server !== null && server !== void 0 && server.ssr && !isStreaming(server.ssr)) {
28
+ module.exports = __toCommonJS(stdin_exports);
29
+ var import_path = __toESM(require("path"));
30
+ var import_utils = require("@modern-js/utils");
31
+ var __defProp2 = Object.defineProperty;
32
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
33
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
34
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
35
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
36
+ var __spreadValues = (a, b) => {
37
+ for (var prop in b || (b = {}))
38
+ if (__hasOwnProp2.call(b, prop))
39
+ __defNormalProp(a, prop, b[prop]);
40
+ if (__getOwnPropSymbols)
41
+ for (var prop of __getOwnPropSymbols(b)) {
42
+ if (__propIsEnum.call(b, prop))
43
+ __defNormalProp(a, prop, b[prop]);
44
+ }
45
+ return a;
46
+ };
47
+ const PLUGIN_IDENTIFIER = "ssr";
48
+ const hasStringSSREntry = (userConfig) => {
49
+ const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
50
+ const { server } = userConfig;
51
+ if ((server == null ? void 0 : server.ssr) && !isStreaming(server.ssr)) {
15
52
  return true;
16
53
  }
17
- if (server !== null && server !== void 0 && server.ssrByEntries && typeof server.ssrByEntries === 'object') {
54
+ if ((server == null ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
18
55
  for (const name of Object.keys(server.ssrByEntries)) {
19
56
  if (!isStreaming(server.ssrByEntries[name])) {
20
57
  return true;
@@ -23,81 +60,99 @@ const hasStringSSREntry = userConfig => {
23
60
  }
24
61
  return false;
25
62
  };
26
- var _default = () => ({
27
- name: '@modern-js/plugin-ssr',
28
- required: ['@modern-js/runtime'],
29
- setup: api => {
30
- const ssrConfigMap = new Map();
63
+ var cli_default = () => ({
64
+ name: "@modern-js/plugin-ssr",
65
+ required: ["@modern-js/runtime"],
66
+ setup: (api) => {
67
+ const ssrConfigMap = /* @__PURE__ */ new Map();
31
68
  let pluginsExportsUtils;
32
69
  return {
33
70
  config() {
34
71
  const appContext = api.useAppContext();
35
- pluginsExportsUtils = (0, _utils.createRuntimeExportsUtils)(appContext.internalDirectory, 'plugins');
72
+ pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(
73
+ appContext.internalDirectory,
74
+ "plugins"
75
+ );
36
76
  return {
37
77
  source: {
38
78
  alias: {
39
- '@modern-js/runtime/plugins': pluginsExportsUtils.getPath()
79
+ "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
40
80
  }
41
81
  },
42
82
  tools: {
43
- webpackChain: (chain, {
44
- name,
45
- CHAIN_ID
46
- }) => {
83
+ webpackChain: (chain, { name, isServer, CHAIN_ID }) => {
47
84
  const userConfig = api.useResolvedConfigContext();
48
- if ((0, _utils.isUseSSRBundle)(userConfig) && name !== 'server' && hasStringSSREntry(userConfig)) {
49
- // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
50
- const LoadableWebpackPlugin = require('@loadable/webpack-plugin');
51
- chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [{
52
- filename: _utils.LOADABLE_STATS_FILE
53
- }]);
85
+ if ((0, import_utils.isUseSSRBundle)(userConfig) && name !== "server" && hasStringSSREntry(userConfig)) {
86
+ const LoadableWebpackPlugin = require("@loadable/webpack-plugin");
87
+ chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [
88
+ { filename: import_utils.LOADABLE_STATS_FILE }
89
+ ]);
54
90
  }
91
+ const prefix = `${appContext.metaName.split(/[-_]/)[0]}_`.toUpperCase();
92
+ const modernVars = {
93
+ [`process.env.${prefix}TARGET`]: JSON.stringify(
94
+ isServer ? "node" : "browser"
95
+ )
96
+ };
97
+ chain.plugin(CHAIN_ID.PLUGIN.DEFINE).tap((args) => {
98
+ const [vars, ...rest] = args;
99
+ return [
100
+ __spreadValues(__spreadValues({}, vars), modernVars),
101
+ ...rest
102
+ ];
103
+ });
55
104
  },
56
- babel: config => {
105
+ babel: (config) => {
106
+ config.plugins.push(
107
+ import_path.default.join(__dirname, "./babel-plugin-ssr-loader-id")
108
+ );
57
109
  const userConfig = api.useResolvedConfigContext();
58
- if ((0, _utils.isUseSSRBundle)(userConfig) && hasStringSSREntry(userConfig)) {
59
- config.plugins.push(require.resolve('@loadable/babel-plugin'));
110
+ if ((0, import_utils.isUseSSRBundle)(userConfig) && hasStringSSREntry(userConfig)) {
111
+ config.plugins.push(require.resolve("@loadable/babel-plugin"));
60
112
  }
61
113
  }
62
114
  }
63
115
  };
64
116
  },
65
- modifyEntryImports({
66
- entrypoint,
67
- imports
68
- }) {
69
- const {
70
- entryName,
71
- fileSystemRoutes
72
- } = entrypoint;
117
+ modifyEntryImports({ entrypoint, imports }) {
118
+ var _a;
119
+ const { entryName, fileSystemRoutes } = entrypoint;
73
120
  const userConfig = api.useResolvedConfigContext();
74
- const {
75
- packageName,
76
- entrypoints
77
- } = api.useAppContext();
78
- pluginsExportsUtils.addExport(`export { default as ssr } from '@modern-js/runtime/ssr'`);
79
-
80
- // if use ssg then set ssr config to true
81
- const ssrConfig = (0, _utils.getEntryOptions)(entryName, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
82
- if (typeof ssrConfig === 'object' && ssrConfig.mode === 'stream') {
83
- var _runtimeConfig$router;
84
- const runtimeConfig = (0, _utils.getEntryOptions)(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
85
- if (runtimeConfig !== null && runtimeConfig !== void 0 && (_runtimeConfig$router = runtimeConfig.router) !== null && _runtimeConfig$router !== void 0 && _runtimeConfig$router.legacy) {
86
- throw new Error(`Legacy router plugin doesn't support streaming SSR, check your config 'runtime.router'`);
121
+ const { packageName, entrypoints } = api.useAppContext();
122
+ pluginsExportsUtils.addExport(
123
+ `export { default as ssr } from '@modern-js/runtime/ssr'`
124
+ );
125
+ const ssrConfig = (0, import_utils.getEntryOptions)(
126
+ entryName,
127
+ userConfig.server.ssr,
128
+ userConfig.server.ssrByEntries,
129
+ packageName
130
+ );
131
+ if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
132
+ const runtimeConfig = (0, import_utils.getEntryOptions)(
133
+ entryName,
134
+ userConfig.runtime,
135
+ userConfig.runtimeByEntries,
136
+ packageName
137
+ );
138
+ if ((_a = runtimeConfig == null ? void 0 : runtimeConfig.router) == null ? void 0 : _a.legacy) {
139
+ throw new Error(
140
+ `Legacy router plugin doesn't support streaming SSR, check your config 'runtime.router'`
141
+ );
87
142
  }
88
143
  if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
89
- throw new Error(`You should switch to file-system based router to support streaming SSR.`);
144
+ throw new Error(
145
+ `You should switch to file-system based router to support streaming SSR.`
146
+ );
90
147
  }
91
148
  }
92
149
  const ssgConfig = userConfig.output.ssg;
93
- const useSSG = (0, _utils.isSingleEntry)(entrypoints) ? Boolean(ssgConfig) : ssgConfig === true || typeof (ssgConfig === null || ssgConfig === void 0 ? void 0 : ssgConfig[0]) === 'function' || Boolean(ssgConfig === null || ssgConfig === void 0 ? void 0 : ssgConfig[entryName]);
150
+ const useSSG = (0, import_utils.isSingleEntry)(entrypoints) ? Boolean(ssgConfig) : ssgConfig === true || typeof (ssgConfig == null ? void 0 : ssgConfig[0]) === "function" || Boolean(ssgConfig == null ? void 0 : ssgConfig[entryName]);
94
151
  ssrConfigMap.set(entryName, ssrConfig || useSSG);
95
152
  if (ssrConfig || useSSG) {
96
153
  imports.push({
97
- value: '@modern-js/runtime/plugins',
98
- specifiers: [{
99
- imported: PLUGIN_IDENTIFIER
100
- }]
154
+ value: "@modern-js/runtime/plugins",
155
+ specifiers: [{ imported: PLUGIN_IDENTIFIER }]
101
156
  });
102
157
  }
103
158
  return {
@@ -105,10 +160,7 @@ var _default = () => ({
105
160
  imports
106
161
  };
107
162
  },
108
- modifyEntryRuntimePlugins({
109
- entrypoint,
110
- plugins
111
- }) {
163
+ modifyEntryRuntimePlugins({ entrypoint, plugins }) {
112
164
  if (ssrConfigMap.get(entrypoint.entryName)) {
113
165
  plugins.push({
114
166
  name: PLUGIN_IDENTIFIER,
@@ -120,24 +172,20 @@ var _default = () => ({
120
172
  plugins
121
173
  };
122
174
  },
123
- modifyEntryExport({
124
- entrypoint,
125
- exportStatement
126
- }) {
175
+ modifyEntryExport({ entrypoint, exportStatement }) {
127
176
  if (ssrConfigMap.get(entrypoint.entryName)) {
128
177
  return {
129
178
  entrypoint,
130
- exportStatement: [`export function ${_utils.SERVER_RENDER_FUNCTION_NAME}(context) {
179
+ exportStatement: [
180
+ `export function ${import_utils.SERVER_RENDER_FUNCTION_NAME}(context) {
131
181
  return bootstrap(AppWrapper, context)
132
- }`, exportStatement].join('\n')
182
+ }`,
183
+ exportStatement
184
+ ].join("\n")
133
185
  };
134
186
  }
135
- return {
136
- entrypoint,
137
- exportStatement
138
- };
187
+ return { entrypoint, exportStatement };
139
188
  }
140
189
  };
141
190
  }
142
191
  });
143
- exports.default = _default;
@@ -1,155 +1,176 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- ssr: true
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;
8
18
  };
9
- exports.ssr = exports.default = void 0;
10
- var _component = require("@loadable/component");
11
- var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
12
- var _types = require("./serverRender/types");
13
- var _withCallback = require("./react/withCallback");
14
- var _utils = require("./utils");
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- var _react = require("./react");
17
- Object.keys(_react).forEach(function (key) {
18
- if (key === "default" || key === "__esModule") return;
19
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
- if (key in exports && exports[key] === _react[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _react[key];
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
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var stdin_exports = {};
26
+ __export(stdin_exports, {
27
+ default: () => ssr_default,
28
+ ssr: () => ssr
29
+ });
30
+ module.exports = __toCommonJS(stdin_exports);
31
+ var import_jsx_runtime = require("react/jsx-runtime");
32
+ var import_component = require("@loadable/component");
33
+ var import_hoist_non_react_statics = __toESM(require("hoist-non-react-statics"));
34
+ var import_types = require("./serverRender/types");
35
+ var import_withCallback = require("./react/withCallback");
36
+ var import_utils = require("./utils");
37
+ __reExport(stdin_exports, require("./react"), module.exports);
38
+ var __defProp2 = Object.defineProperty;
39
+ var __defProps = Object.defineProperties;
40
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
41
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
42
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
43
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
44
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
45
+ var __spreadValues = (a, b) => {
46
+ for (var prop in b || (b = {}))
47
+ if (__hasOwnProp2.call(b, prop))
48
+ __defNormalProp(a, prop, b[prop]);
49
+ if (__getOwnPropSymbols)
50
+ for (var prop of __getOwnPropSymbols(b)) {
51
+ if (__propIsEnum.call(b, prop))
52
+ __defNormalProp(a, prop, b[prop]);
25
53
  }
54
+ return a;
55
+ };
56
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
57
+ var __async = (__this, __arguments, generator) => {
58
+ return new Promise((resolve, reject) => {
59
+ var fulfilled = (value) => {
60
+ try {
61
+ step(generator.next(value));
62
+ } catch (e) {
63
+ reject(e);
64
+ }
65
+ };
66
+ var rejected = (value) => {
67
+ try {
68
+ step(generator.throw(value));
69
+ } catch (e) {
70
+ reject(e);
71
+ }
72
+ };
73
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
74
+ step((generator = generator.apply(__this, __arguments)).next());
26
75
  });
27
- });
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
32
- const ssr = config => ({
33
- name: '@modern-js/plugin-ssr',
76
+ };
77
+ const ssr = (config) => ({
78
+ name: "@modern-js/plugin-ssr",
34
79
  setup: () => {
35
- const mockResp = (0, _utils.mockResponse)();
80
+ const mockResp = (0, import_utils.mockResponse)();
36
81
  return {
37
- client: async ({
38
- App,
39
- context,
40
- ModernRender,
41
- ModernHydrate
42
- }) => {
43
- var _window, _window$_SSR_DATA;
44
- const hydrateContext = _objectSpread(_objectSpread({}, context), {}, {
82
+ client: (_0) => __async(void 0, [_0], function* ({ App, context, ModernRender, ModernHydrate }) {
83
+ var _a;
84
+ const hydrateContext = __spreadProps(__spreadValues({}, context), {
45
85
  _hydration: true
46
86
  });
47
87
  const callback = () => {
48
- // won't cause component re-render because context's reference identity doesn't change
49
88
  delete hydrateContext._hydration;
50
89
  };
51
-
52
- // if render level not exist, use client render
53
- const renderLevel = ((_window = 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;
54
-
55
- // react streamSSR hydrate
56
- if ((0, _utils.isReact18)() && config.mode === 'stream') {
90
+ const renderLevel = ((_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.renderLevel) || import_types.RenderLevel.CLIENT_RENDER;
91
+ if ((0, import_utils.isReact18)() && config.mode === "stream") {
57
92
  return streamSSRHydrate();
58
93
  }
59
- // react stringSSR hydrate
60
94
  return stringSSRHydrate();
61
95
  function stringSSRHydrate() {
62
- // client render and server prefetch use same logic
63
- if (renderLevel === _types.RenderLevel.CLIENT_RENDER || renderLevel === _types.RenderLevel.SERVER_PREFETCH) {
64
- ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
65
- context: context
96
+ if (renderLevel === import_types.RenderLevel.CLIENT_RENDER || renderLevel === import_types.RenderLevel.SERVER_PREFETCH) {
97
+ ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
98
+ context
66
99
  }));
67
- } else if (renderLevel === _types.RenderLevel.SERVER_RENDER) {
68
- if ((0, _utils.isReact18)()) {
69
- (0, _component.loadableReady)(() => {
70
- // callback: https://github.com/reactwg/react-18/discussions/5
71
- let SSRApp = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_withCallback.WithCallback, {
72
- callback: callback,
73
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
100
+ } else if (renderLevel === import_types.RenderLevel.SERVER_RENDER) {
101
+ if ((0, import_utils.isReact18)()) {
102
+ (0, import_component.loadableReady)(() => {
103
+ let SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, {
104
+ callback,
105
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
74
106
  context: hydrateContext
75
107
  })
76
108
  });
77
- SSRApp = (0, _hoistNonReactStatics.default)(SSRApp, App);
78
- ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(SSRApp, {}));
109
+ SSRApp = (0, import_hoist_non_react_statics.default)(SSRApp, App);
110
+ ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {}));
79
111
  });
80
112
  } else {
81
- (0, _component.loadableReady)(() => {
82
- ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
113
+ (0, import_component.loadableReady)(() => {
114
+ ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
83
115
  context: hydrateContext
84
116
  }), callback);
85
117
  });
86
118
  }
87
119
  } else {
88
- // unknown renderlevel or renderlevel is server prefetch.
89
- console.warn(`unknow render level: ${renderLevel}, execute render()`);
90
- ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
91
- context: context
120
+ console.warn(
121
+ `unknow render level: ${renderLevel}, execute render()`
122
+ );
123
+ ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
124
+ context
92
125
  }));
93
126
  }
94
127
  }
95
128
  function streamSSRHydrate() {
96
- if (renderLevel === _types.RenderLevel.SERVER_RENDER) {
97
- // callback: https://github.com/reactwg/react-18/discussions/5
98
- let SSRApp = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_withCallback.WithCallback, {
99
- callback: callback,
100
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
129
+ if (renderLevel === import_types.RenderLevel.SERVER_RENDER) {
130
+ let SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, {
131
+ callback,
132
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
101
133
  context: hydrateContext
102
134
  })
103
135
  });
104
- SSRApp = (0, _hoistNonReactStatics.default)(SSRApp, App);
105
- ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(SSRApp, {}));
136
+ SSRApp = (0, import_hoist_non_react_statics.default)(SSRApp, App);
137
+ ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {}));
106
138
  } else {
107
- ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
108
- context: context
139
+ ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
140
+ context
109
141
  }));
110
142
  }
111
143
  }
112
- },
113
- init({
114
- context
115
- }, next) {
116
- var _window2, _window2$_SSR_DATA, _window2$_SSR_DATA$co;
117
- const request = (_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$_SSR_DATA = _window2._SSR_DATA) === null || _window2$_SSR_DATA === void 0 ? void 0 : (_window2$_SSR_DATA$co = _window2$_SSR_DATA.context) === null || _window2$_SSR_DATA$co === void 0 ? void 0 : _window2$_SSR_DATA$co.request;
144
+ }),
145
+ init({ context }, next) {
146
+ var _a, _b;
147
+ const request = (_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.context) == null ? void 0 : _b.request;
118
148
  if (!request) {
119
- context.ssrContext = _objectSpread(_objectSpread({}, context.ssrContext), {}, {
149
+ context.ssrContext = __spreadProps(__spreadValues({}, context.ssrContext), {
120
150
  response: mockResp,
121
- request: (0, _utils.formatClient)({})
122
- });
123
- return next({
124
- context
151
+ request: (0, import_utils.formatClient)({})
125
152
  });
153
+ return next({ context });
126
154
  }
127
155
  context.ssrContext.response = mockResp;
128
- context.ssrContext.request = (0, _utils.formatClient)(request);
129
- return next({
130
- context
131
- });
156
+ context.ssrContext.request = (0, import_utils.formatClient)(request);
157
+ return next({ context });
132
158
  },
133
- pickContext: ({
134
- context,
135
- pickedContext
136
- }, next) => {
137
- var _window3, _window3$_SSR_DATA, _window3$_SSR_DATA$co;
138
- const request = (_window3 = window) === null || _window3 === void 0 ? void 0 : (_window3$_SSR_DATA = _window3._SSR_DATA) === null || _window3$_SSR_DATA === void 0 ? void 0 : (_window3$_SSR_DATA$co = _window3$_SSR_DATA.context) === null || _window3$_SSR_DATA$co === void 0 ? void 0 : _window3$_SSR_DATA$co.request;
139
- const {
140
- initialData
141
- } = context;
159
+ pickContext: ({ context, pickedContext }, next) => {
160
+ var _a, _b;
161
+ const request = (_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.context) == null ? void 0 : _b.request;
162
+ const { initialData } = context;
142
163
  if (!request) {
143
164
  return next({
144
165
  context,
145
- pickedContext: _objectSpread(_objectSpread({}, pickedContext), {}, {
166
+ pickedContext: __spreadProps(__spreadValues({}, pickedContext), {
146
167
  initialData
147
168
  })
148
169
  });
149
170
  }
150
171
  return next({
151
172
  context,
152
- pickedContext: _objectSpread(_objectSpread({}, pickedContext), {}, {
173
+ pickedContext: __spreadProps(__spreadValues({}, pickedContext), {
153
174
  initialData,
154
175
  request,
155
176
  response: mockResp
@@ -159,6 +180,4 @@ const ssr = config => ({
159
180
  };
160
181
  }
161
182
  });
162
- exports.ssr = ssr;
163
- var _default = ssr;
164
- exports.default = _default;
183
+ var ssr_default = ssr;