@modern-js/runtime 2.49.2 → 2.49.3-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 (242) hide show
  1. package/dist/cjs/router/runtime/plugin.js +2 -2
  2. package/dist/cjs/router/runtime/plugin.node.js +2 -2
  3. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -15
  4. package/dist/esm/router/runtime/plugin.js +2 -2
  5. package/dist/esm/router/runtime/plugin.node.js +2 -2
  6. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +115 -132
  7. package/dist/esm-node/router/runtime/plugin.js +2 -2
  8. package/dist/esm-node/router/runtime/plugin.node.js +2 -2
  9. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +8 -16
  10. package/dist/js/modern/cli/index.js +72 -0
  11. package/dist/js/modern/common.js +4 -0
  12. package/dist/js/modern/config.js +0 -0
  13. package/dist/js/modern/core/app-config.js +10 -0
  14. package/dist/js/modern/core/compatible.js +285 -0
  15. package/dist/js/modern/core/index.js +16 -0
  16. package/dist/js/modern/core/loader/index.js +4 -0
  17. package/dist/js/modern/core/loader/loaderManager.js +165 -0
  18. package/dist/js/modern/core/loader/useLoader.js +114 -0
  19. package/dist/js/modern/core/plugin.js +58 -0
  20. package/dist/js/modern/document/Body.js +23 -0
  21. package/dist/js/modern/document/DocumentContext.js +9 -0
  22. package/dist/js/modern/document/DocumentStructrueContext.js +11 -0
  23. package/dist/js/modern/document/Head.js +27 -0
  24. package/dist/js/modern/document/Html.js +78 -0
  25. package/dist/js/modern/document/Links.js +10 -0
  26. package/dist/js/modern/document/Root.js +33 -0
  27. package/dist/js/modern/document/Script.js +20 -0
  28. package/dist/js/modern/document/Scripts.js +10 -0
  29. package/dist/js/modern/document/cli/index.js +228 -0
  30. package/dist/js/modern/document/constants.js +49 -0
  31. package/dist/js/modern/document/index.js +10 -0
  32. package/dist/js/modern/exports/head.js +6 -0
  33. package/dist/js/modern/exports/loadable.js +6 -0
  34. package/dist/js/modern/exports/server.js +4 -0
  35. package/dist/js/modern/exports/styled.js +6 -0
  36. package/dist/js/modern/index.js +22 -0
  37. package/dist/js/modern/router/cli/index.js +120 -0
  38. package/dist/js/modern/router/index.js +7 -0
  39. package/dist/js/modern/router/runtime/DefaultNotFound.js +14 -0
  40. package/dist/js/modern/router/runtime/index.js +9 -0
  41. package/dist/js/modern/router/runtime/plugin.js +104 -0
  42. package/dist/js/modern/router/runtime/plugin.node.js +149 -0
  43. package/dist/js/modern/router/runtime/server.js +1 -0
  44. package/dist/js/modern/router/runtime/types.js +0 -0
  45. package/dist/js/modern/router/runtime/utils.js +196 -0
  46. package/dist/js/modern/router/runtime/withRouter.js +36 -0
  47. package/dist/js/modern/runtime-context.js +7 -0
  48. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  49. package/dist/js/modern/ssr/cli/index.js +172 -0
  50. package/dist/js/modern/ssr/index.js +159 -0
  51. package/dist/js/modern/ssr/index.node.js +79 -0
  52. package/dist/js/modern/ssr/prefetch.js +69 -0
  53. package/dist/js/modern/ssr/react/index.js +6 -0
  54. package/dist/js/modern/ssr/react/nossr/index.js +14 -0
  55. package/dist/js/modern/ssr/react/prerender/index.js +108 -0
  56. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  57. package/dist/js/modern/ssr/react/prerender/util.js +96 -0
  58. package/dist/js/modern/ssr/react/withCallback/index.js +15 -0
  59. package/dist/js/modern/ssr/serverRender/helmet.js +44 -0
  60. package/dist/js/modern/ssr/serverRender/index.js +35 -0
  61. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +36 -0
  62. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -0
  63. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +61 -0
  64. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +58 -0
  65. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
  66. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +94 -0
  67. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +12 -0
  68. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +22 -0
  69. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  70. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +171 -0
  71. package/dist/js/modern/ssr/serverRender/renderToString/index.js +52 -0
  72. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +48 -0
  73. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +8 -0
  74. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +11 -0
  75. package/dist/js/modern/ssr/serverRender/renderToString/template.js +58 -0
  76. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -0
  77. package/dist/js/modern/ssr/serverRender/types.js +4 -0
  78. package/dist/js/modern/ssr/serverRender/utils.js +22 -0
  79. package/dist/js/modern/ssr/utils.js +81 -0
  80. package/dist/js/modern/state/cli/index.js +83 -0
  81. package/dist/js/modern/state/index.js +7 -0
  82. package/dist/js/modern/state/plugins.js +13 -0
  83. package/dist/js/modern/state/runtime/index.js +9 -0
  84. package/dist/js/modern/state/runtime/plugin.js +97 -0
  85. package/dist/js/modern/state/types.js +0 -0
  86. package/dist/js/node/cli/index.js +99 -0
  87. package/dist/js/node/common.js +27 -0
  88. package/dist/js/node/config.js +15 -0
  89. package/dist/js/node/core/app-config.js +34 -0
  90. package/dist/js/node/core/compatible.js +312 -0
  91. package/dist/js/node/core/index.js +47 -0
  92. package/dist/js/node/core/loader/index.js +33 -0
  93. package/dist/js/node/core/loader/loaderManager.js +195 -0
  94. package/dist/js/node/core/loader/useLoader.js +132 -0
  95. package/dist/js/node/core/plugin.js +80 -0
  96. package/dist/js/node/document/Body.js +43 -0
  97. package/dist/js/node/document/DocumentContext.js +38 -0
  98. package/dist/js/node/document/DocumentStructrueContext.js +40 -0
  99. package/dist/js/node/document/Head.js +51 -0
  100. package/dist/js/node/document/Html.js +101 -0
  101. package/dist/js/node/document/Links.js +33 -0
  102. package/dist/js/node/document/Root.js +57 -0
  103. package/dist/js/node/document/Script.js +40 -0
  104. package/dist/js/node/document/Scripts.js +33 -0
  105. package/dist/js/node/document/cli/index.js +240 -0
  106. package/dist/js/node/document/constants.js +86 -0
  107. package/dist/js/node/document/index.js +26 -0
  108. package/dist/js/node/exports/head.js +34 -0
  109. package/dist/js/node/exports/loadable.js +34 -0
  110. package/dist/js/node/exports/server.js +27 -0
  111. package/dist/js/node/exports/styled.js +34 -0
  112. package/dist/js/node/index.js +44 -0
  113. package/dist/js/node/router/cli/index.js +135 -0
  114. package/dist/js/node/router/index.js +37 -0
  115. package/dist/js/node/router/runtime/DefaultNotFound.js +37 -0
  116. package/dist/js/node/router/runtime/index.js +33 -0
  117. package/dist/js/node/router/runtime/plugin.js +127 -0
  118. package/dist/js/node/router/runtime/plugin.node.js +175 -0
  119. package/dist/js/node/router/runtime/server.js +17 -0
  120. package/dist/js/node/router/runtime/types.js +15 -0
  121. package/dist/js/node/router/runtime/utils.js +221 -0
  122. package/dist/js/node/router/runtime/withRouter.js +57 -0
  123. package/dist/js/node/runtime-context.js +31 -0
  124. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  125. package/dist/js/node/ssr/cli/index.js +190 -0
  126. package/dist/js/node/ssr/index.js +185 -0
  127. package/dist/js/node/ssr/index.node.js +107 -0
  128. package/dist/js/node/ssr/prefetch.js +90 -0
  129. package/dist/js/node/ssr/react/index.js +30 -0
  130. package/dist/js/node/ssr/react/nossr/index.js +43 -0
  131. package/dist/js/node/ssr/react/prerender/index.js +130 -0
  132. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  133. package/dist/js/node/ssr/react/prerender/util.js +123 -0
  134. package/dist/js/node/ssr/react/withCallback/index.js +38 -0
  135. package/dist/js/node/ssr/serverRender/helmet.js +65 -0
  136. package/dist/js/node/ssr/serverRender/index.js +56 -0
  137. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +65 -0
  138. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +35 -0
  139. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +87 -0
  140. package/dist/js/node/ssr/serverRender/renderToStream/index.js +87 -0
  141. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +47 -0
  142. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +111 -0
  143. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +35 -0
  144. package/dist/js/node/ssr/serverRender/renderToStream/template.js +45 -0
  145. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  146. package/dist/js/node/ssr/serverRender/renderToString/entry.js +196 -0
  147. package/dist/js/node/ssr/serverRender/renderToString/index.js +81 -0
  148. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +71 -0
  149. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +31 -0
  150. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +34 -0
  151. package/dist/js/node/ssr/serverRender/renderToString/template.js +82 -0
  152. package/dist/js/node/ssr/serverRender/renderToString/type.js +32 -0
  153. package/dist/js/node/ssr/serverRender/types.js +27 -0
  154. package/dist/js/node/ssr/serverRender/utils.js +46 -0
  155. package/dist/js/node/ssr/utils.js +106 -0
  156. package/dist/js/node/state/cli/index.js +100 -0
  157. package/dist/js/node/state/index.js +37 -0
  158. package/dist/js/node/state/plugins.js +45 -0
  159. package/dist/js/node/state/runtime/index.js +40 -0
  160. package/dist/js/node/state/runtime/plugin.js +121 -0
  161. package/dist/js/node/state/types.js +15 -0
  162. package/dist/js/treeshaking/cli/index.js +186 -0
  163. package/dist/js/treeshaking/common.js +4 -0
  164. package/dist/js/treeshaking/config.js +1 -0
  165. package/dist/js/treeshaking/core/app-config.js +9 -0
  166. package/dist/js/treeshaking/core/compatible.js +485 -0
  167. package/dist/js/treeshaking/core/index.js +7 -0
  168. package/dist/js/treeshaking/core/loader/index.js +2 -0
  169. package/dist/js/treeshaking/core/loader/loaderManager.js +406 -0
  170. package/dist/js/treeshaking/core/loader/useLoader.js +188 -0
  171. package/dist/js/treeshaking/core/plugin.js +176 -0
  172. package/dist/js/treeshaking/document/Body.js +18 -0
  173. package/dist/js/treeshaking/document/DocumentContext.js +7 -0
  174. package/dist/js/treeshaking/document/DocumentStructrueContext.js +9 -0
  175. package/dist/js/treeshaking/document/Head.js +24 -0
  176. package/dist/js/treeshaking/document/Html.js +99 -0
  177. package/dist/js/treeshaking/document/Links.js +8 -0
  178. package/dist/js/treeshaking/document/Root.js +26 -0
  179. package/dist/js/treeshaking/document/Script.js +15 -0
  180. package/dist/js/treeshaking/document/Scripts.js +8 -0
  181. package/dist/js/treeshaking/document/cli/index.js +393 -0
  182. package/dist/js/treeshaking/document/constants.js +35 -0
  183. package/dist/js/treeshaking/document/index.js +10 -0
  184. package/dist/js/treeshaking/exports/head.js +4 -0
  185. package/dist/js/treeshaking/exports/loadable.js +4 -0
  186. package/dist/js/treeshaking/exports/server.js +4 -0
  187. package/dist/js/treeshaking/exports/styled.js +4 -0
  188. package/dist/js/treeshaking/index.js +3 -0
  189. package/dist/js/treeshaking/router/cli/index.js +148 -0
  190. package/dist/js/treeshaking/router/index.js +4 -0
  191. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -0
  192. package/dist/js/treeshaking/router/runtime/index.js +6 -0
  193. package/dist/js/treeshaking/router/runtime/plugin.js +132 -0
  194. package/dist/js/treeshaking/router/runtime/plugin.node.js +390 -0
  195. package/dist/js/treeshaking/router/runtime/server.js +1 -0
  196. package/dist/js/treeshaking/router/runtime/types.js +1 -0
  197. package/dist/js/treeshaking/router/runtime/utils.js +260 -0
  198. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -0
  199. package/dist/js/treeshaking/runtime-context.js +4 -0
  200. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  201. package/dist/js/treeshaking/ssr/cli/index.js +217 -0
  202. package/dist/js/treeshaking/ssr/index.js +315 -0
  203. package/dist/js/treeshaking/ssr/index.node.js +240 -0
  204. package/dist/js/treeshaking/ssr/prefetch.js +199 -0
  205. package/dist/js/treeshaking/ssr/react/index.js +3 -0
  206. package/dist/js/treeshaking/ssr/react/nossr/index.js +58 -0
  207. package/dist/js/treeshaking/ssr/react/prerender/index.js +237 -0
  208. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  209. package/dist/js/treeshaking/ssr/react/prerender/util.js +108 -0
  210. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -0
  211. package/dist/js/treeshaking/ssr/serverRender/helmet.js +42 -0
  212. package/dist/js/treeshaking/ssr/serverRender/index.js +169 -0
  213. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +34 -0
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +115 -0
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +165 -0
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
  218. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +119 -0
  219. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -0
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +63 -0
  221. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  222. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +393 -0
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +165 -0
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +56 -0
  225. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +10 -0
  226. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -0
  227. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +156 -0
  228. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -0
  229. package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
  230. package/dist/js/treeshaking/ssr/serverRender/utils.js +69 -0
  231. package/dist/js/treeshaking/ssr/utils.js +134 -0
  232. package/dist/js/treeshaking/state/cli/index.js +71 -0
  233. package/dist/js/treeshaking/state/index.js +4 -0
  234. package/dist/js/treeshaking/state/plugins.js +14 -0
  235. package/dist/js/treeshaking/state/runtime/index.js +5 -0
  236. package/dist/js/treeshaking/state/runtime/plugin.js +198 -0
  237. package/dist/js/treeshaking/state/types.js +1 -0
  238. package/dist/types/document/Html.d.ts +2 -2
  239. package/dist/types/router/runtime/plugin.d.ts +1 -1
  240. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  241. package/dist/types/router/runtime/types.d.ts +1 -0
  242. package/package.json +4 -4
@@ -0,0 +1,57 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
31
+ }
32
+ return to;
33
+ };
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var withRouter_exports = {};
36
+ __export(withRouter_exports, {
37
+ withRouter: () => withRouter
38
+ });
39
+ module.exports = __toCommonJS(withRouter_exports);
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ var import_react_router_dom = require("react-router-dom");
42
+ const withRouter = (Component) => {
43
+ return (props) => {
44
+ const location = (0, import_react_router_dom.useLocation)();
45
+ const params = (0, import_react_router_dom.useParams)();
46
+ const navigate = (0, import_react_router_dom.useNavigate)();
47
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, __spreadProps(__spreadValues({}, props), {
48
+ location,
49
+ params,
50
+ navigate
51
+ }));
52
+ };
53
+ };
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ withRouter
57
+ });
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var runtime_context_exports = {};
19
+ __export(runtime_context_exports, {
20
+ RuntimeReactContext: () => RuntimeReactContext,
21
+ ServerRouterContext: () => ServerRouterContext
22
+ });
23
+ module.exports = __toCommonJS(runtime_context_exports);
24
+ var import_react = require("react");
25
+ const RuntimeReactContext = (0, import_react.createContext)({});
26
+ const ServerRouterContext = (0, import_react.createContext)({});
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ RuntimeReactContext,
30
+ ServerRouterContext
31
+ });
@@ -0,0 +1,139 @@
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 __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from))
10
+ if (!__hasOwnProp.call(to, key) && key !== except)
11
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ }
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
17
+ mod
18
+ ));
19
+ var import_crypto = __toESM(require("crypto"));
20
+ var import_buffer = require("buffer");
21
+ var t = __toESM(require("@babel/types"));
22
+ var import_lodash = require("@modern-js/utils/lodash");
23
+ const RUNTIME_PACKAGE_NAMES = ["@modern-js/runtime"];
24
+ const FUNCTION_USE_LOADER_NAME = "useLoader";
25
+ function getHash(filepath) {
26
+ const cwd = process.cwd();
27
+ const point = filepath.indexOf(cwd);
28
+ let relativePath = filepath;
29
+ if (point !== -1) {
30
+ relativePath = filepath.substring(point + cwd.length);
31
+ }
32
+ const fileBuf = import_buffer.Buffer.from(relativePath);
33
+ const fsHash = import_crypto.default.createHash("md5");
34
+ const md5 = fsHash.update(fileBuf).digest("hex");
35
+ return md5;
36
+ }
37
+ function getUseLoaderPath(path, calleeName) {
38
+ const { node } = path;
39
+ if (!calleeName || node.callee.name !== calleeName) {
40
+ return false;
41
+ }
42
+ const arg1 = (0, import_lodash.get)(node, "arguments.0");
43
+ if (t.isFunction(arg1) || t.isFunctionExpression(arg1) || t.isArrowFunctionExpression(arg1) || t.isIdentifier(arg1) || t.isCallExpression(arg1) || t.isMemberExpression(arg1)) {
44
+ const loaderPath = path.get("arguments.0");
45
+ if (isDuplicateInnerLoader(loaderPath)) {
46
+ return false;
47
+ } else {
48
+ return loaderPath;
49
+ }
50
+ }
51
+ console.warn("useLoader 中 loaderId 生成失败,请检查 useLoader");
52
+ throw path.buildCodeFrameError(`
53
+ please check the usage of ${path.node.name}
54
+ `);
55
+ }
56
+ function isDuplicateInnerLoader(path) {
57
+ const { node } = path;
58
+ if (t.isFunctionExpression(node.callee)) {
59
+ if (t.isBlockStatement(node.callee.body)) {
60
+ if ((0, import_lodash.get)(node.callee.body, "body.0.declarations.0.id.name") === "innerLoader" && (0, import_lodash.get)(node.callee.body, "body.2.argument.name") === "innerLoader") {
61
+ return true;
62
+ }
63
+ }
64
+ }
65
+ return false;
66
+ }
67
+ function getSelfRunLoaderExpression(loaderExpression, id) {
68
+ return t.callExpression(
69
+ t.functionExpression(
70
+ null,
71
+ [],
72
+ t.blockStatement([
73
+ t.variableDeclaration("var", [
74
+ t.variableDeclarator(t.identifier("innerLoader"), loaderExpression)
75
+ ]),
76
+ t.expressionStatement(
77
+ t.assignmentExpression(
78
+ "=",
79
+ t.memberExpression(t.identifier("innerLoader"), t.identifier("id")),
80
+ t.stringLiteral(id)
81
+ )
82
+ ),
83
+ t.returnStatement(t.identifier("innerLoader"))
84
+ ])
85
+ ),
86
+ []
87
+ );
88
+ }
89
+ module.exports = function() {
90
+ let useLoader = null;
91
+ let hash = "";
92
+ let index = 0;
93
+ function genId() {
94
+ return `${hash}_${index++}`;
95
+ }
96
+ return {
97
+ name: "babel-plugin-ssr-loader-id",
98
+ pre() {
99
+ index = 0;
100
+ useLoader = null;
101
+ hash = "";
102
+ },
103
+ visitor: {
104
+ ImportDeclaration(path, state) {
105
+ if (useLoader) {
106
+ return false;
107
+ }
108
+ if (!RUNTIME_PACKAGE_NAMES.includes((0, import_lodash.get)(path, "node.source.value"))) {
109
+ return false;
110
+ }
111
+ hash = getHash(state.file.opts.filename);
112
+ (0, import_lodash.get)(path, "node.specifiers", []).forEach(({ imported, local }) => {
113
+ if (!imported) {
114
+ throw path.buildCodeFrameError(
115
+ `please \`import { useLoader } from ${RUNTIME_PACKAGE_NAMES[0]}\``
116
+ );
117
+ }
118
+ if (!useLoader && imported.name === FUNCTION_USE_LOADER_NAME) {
119
+ useLoader = local.name;
120
+ }
121
+ });
122
+ return false;
123
+ },
124
+ CallExpression(path) {
125
+ let loaderPath = getUseLoaderPath(path, useLoader);
126
+ if (loaderPath) {
127
+ if (!Array.isArray(loaderPath)) {
128
+ loaderPath = [loaderPath];
129
+ }
130
+ loaderPath.forEach((p) => {
131
+ p.replaceWith(getSelfRunLoaderExpression(p.node, genId()));
132
+ });
133
+ return false;
134
+ }
135
+ return false;
136
+ }
137
+ }
138
+ };
139
+ };
@@ -0,0 +1,190 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __export = (target, all) => {
22
+ for (var name in all)
23
+ __defProp(target, name, { get: all[name], enumerable: true });
24
+ };
25
+ var __copyProps = (to, from, except, desc) => {
26
+ if (from && typeof from === "object" || typeof from === "function") {
27
+ for (let key of __getOwnPropNames(from))
28
+ if (!__hasOwnProp.call(to, key) && key !== except)
29
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
30
+ }
31
+ return to;
32
+ };
33
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var cli_exports = {};
39
+ __export(cli_exports, {
40
+ default: () => cli_default
41
+ });
42
+ module.exports = __toCommonJS(cli_exports);
43
+ var import_path = __toESM(require("path"));
44
+ var import_utils = require("@modern-js/utils");
45
+ const PLUGIN_IDENTIFIER = "ssr";
46
+ const hasStringSSREntry = (userConfig) => {
47
+ const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
48
+ const { server } = userConfig;
49
+ if ((server == null ? void 0 : server.ssr) && !isStreaming(server.ssr)) {
50
+ return true;
51
+ }
52
+ if ((server == null ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
53
+ for (const name of Object.keys(server.ssrByEntries)) {
54
+ if (!isStreaming(server.ssrByEntries[name])) {
55
+ return true;
56
+ }
57
+ }
58
+ }
59
+ return false;
60
+ };
61
+ var cli_default = () => ({
62
+ name: "@modern-js/plugin-ssr",
63
+ required: ["@modern-js/runtime"],
64
+ setup: (api) => {
65
+ const ssrConfigMap = /* @__PURE__ */ new Map();
66
+ let pluginsExportsUtils;
67
+ return {
68
+ config() {
69
+ const appContext = api.useAppContext();
70
+ pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(
71
+ appContext.internalDirectory,
72
+ "plugins"
73
+ );
74
+ return {
75
+ source: {
76
+ alias: {
77
+ "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
78
+ }
79
+ },
80
+ tools: {
81
+ webpackChain: (chain, { name, isServer, CHAIN_ID }) => {
82
+ const userConfig = api.useResolvedConfigContext();
83
+ if ((0, import_utils.isUseSSRBundle)(userConfig) && name !== "server" && hasStringSSREntry(userConfig)) {
84
+ const LoadableWebpackPlugin = require("@loadable/webpack-plugin");
85
+ chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [
86
+ { filename: import_utils.LOADABLE_STATS_FILE }
87
+ ]);
88
+ }
89
+ const modernVars = {
90
+ [`process.env.MODERN_TARGET`]: JSON.stringify(
91
+ isServer ? "node" : "browser"
92
+ )
93
+ };
94
+ chain.plugin(CHAIN_ID.PLUGIN.DEFINE).tap((args) => {
95
+ const [vars, ...rest] = args;
96
+ return [
97
+ __spreadValues(__spreadValues({}, vars), modernVars),
98
+ ...rest
99
+ ];
100
+ });
101
+ },
102
+ babel: (config) => {
103
+ config.plugins.push(
104
+ import_path.default.join(__dirname, "./babel-plugin-ssr-loader-id")
105
+ );
106
+ const userConfig = api.useResolvedConfigContext();
107
+ if ((0, import_utils.isUseSSRBundle)(userConfig) && hasStringSSREntry(userConfig)) {
108
+ config.plugins.push(require.resolve("@loadable/babel-plugin"));
109
+ }
110
+ }
111
+ }
112
+ };
113
+ },
114
+ modifyEntryImports({ entrypoint, imports }) {
115
+ var _a;
116
+ const { entryName, fileSystemRoutes } = entrypoint;
117
+ const userConfig = api.useResolvedConfigContext();
118
+ const { packageName, entrypoints } = api.useAppContext();
119
+ pluginsExportsUtils.addExport(
120
+ `export { default as ssr } from '@modern-js/runtime/ssr'`
121
+ );
122
+ const ssrConfig = (0, import_utils.getEntryOptions)(
123
+ entryName,
124
+ userConfig.server.ssr,
125
+ userConfig.server.ssrByEntries,
126
+ packageName
127
+ );
128
+ if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
129
+ const runtimeConfig = (0, import_utils.getEntryOptions)(
130
+ entryName,
131
+ userConfig.runtime,
132
+ userConfig.runtimeByEntries,
133
+ packageName
134
+ );
135
+ if (((_a = runtimeConfig == null ? void 0 : runtimeConfig.router) == null ? void 0 : _a.mode) === "react-router-5") {
136
+ throw new Error(
137
+ `router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'`
138
+ );
139
+ }
140
+ if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
141
+ throw new Error(
142
+ `You should switch to file-system based router to support streaming SSR.`
143
+ );
144
+ }
145
+ }
146
+ const ssgConfig = userConfig.output.ssg;
147
+ 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]);
148
+ ssrConfigMap.set(entryName, ssrConfig || useSSG);
149
+ if (ssrConfig || useSSG) {
150
+ imports.push({
151
+ value: "@modern-js/runtime/plugins",
152
+ specifiers: [{ imported: PLUGIN_IDENTIFIER }]
153
+ });
154
+ }
155
+ return {
156
+ entrypoint,
157
+ imports
158
+ };
159
+ },
160
+ modifyEntryRuntimePlugins({ entrypoint, plugins }) {
161
+ if (ssrConfigMap.get(entrypoint.entryName)) {
162
+ plugins.push({
163
+ name: PLUGIN_IDENTIFIER,
164
+ options: JSON.stringify(ssrConfigMap.get(entrypoint.entryName))
165
+ });
166
+ }
167
+ return {
168
+ entrypoint,
169
+ plugins
170
+ };
171
+ },
172
+ modifyEntryExport({ entrypoint, exportStatement }) {
173
+ if (ssrConfigMap.get(entrypoint.entryName)) {
174
+ return {
175
+ entrypoint,
176
+ exportStatement: [
177
+ `export function ${import_utils.SERVER_RENDER_FUNCTION_NAME}(context) {
178
+ return bootstrap(AppWrapper, context)
179
+ }`,
180
+ exportStatement
181
+ ].join("\n")
182
+ };
183
+ }
184
+ return { entrypoint, exportStatement };
185
+ }
186
+ };
187
+ }
188
+ });
189
+ // Annotate the CommonJS export names for ESM import in node:
190
+ 0 && (module.exports = {});
@@ -0,0 +1,185 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
+ }
34
+ return to;
35
+ };
36
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
38
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
39
+ mod
40
+ ));
41
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
42
+ var __async = (__this, __arguments, generator) => {
43
+ return new Promise((resolve, reject) => {
44
+ var fulfilled = (value) => {
45
+ try {
46
+ step(generator.next(value));
47
+ } catch (e) {
48
+ reject(e);
49
+ }
50
+ };
51
+ var rejected = (value) => {
52
+ try {
53
+ step(generator.throw(value));
54
+ } catch (e) {
55
+ reject(e);
56
+ }
57
+ };
58
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
59
+ step((generator = generator.apply(__this, __arguments)).next());
60
+ });
61
+ };
62
+ var ssr_exports = {};
63
+ __export(ssr_exports, {
64
+ default: () => ssr_default,
65
+ ssr: () => ssr
66
+ });
67
+ module.exports = __toCommonJS(ssr_exports);
68
+ var import_jsx_runtime = require("react/jsx-runtime");
69
+ var import_component = require("@loadable/component");
70
+ var import_hoist_non_react_statics = __toESM(require("hoist-non-react-statics"));
71
+ var import_types = require("./serverRender/types");
72
+ var import_withCallback = require("./react/withCallback");
73
+ var import_utils = require("./utils");
74
+ __reExport(ssr_exports, require("./react"), module.exports);
75
+ const ssr = (config) => ({
76
+ name: "@modern-js/plugin-ssr",
77
+ setup: () => {
78
+ const mockResp = (0, import_utils.mockResponse)();
79
+ return {
80
+ client: (_0) => __async(void 0, [_0], function* ({ App, context, ModernRender, ModernHydrate }) {
81
+ var _a;
82
+ const hydrateContext = __spreadProps(__spreadValues({}, context), {
83
+ _hydration: true
84
+ });
85
+ const callback = () => {
86
+ delete hydrateContext._hydration;
87
+ };
88
+ const renderLevel = ((_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.renderLevel) || import_types.RenderLevel.CLIENT_RENDER;
89
+ if ((0, import_utils.isReact18)() && config.mode === "stream") {
90
+ return streamSSRHydrate();
91
+ }
92
+ return stringSSRHydrate();
93
+ function stringSSRHydrate() {
94
+ if (renderLevel === import_types.RenderLevel.CLIENT_RENDER || renderLevel === import_types.RenderLevel.SERVER_PREFETCH) {
95
+ ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
96
+ context
97
+ }));
98
+ } else if (renderLevel === import_types.RenderLevel.SERVER_RENDER) {
99
+ if ((0, import_utils.isReact18)()) {
100
+ (0, import_component.loadableReady)(() => {
101
+ let SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, {
102
+ callback,
103
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
104
+ context: hydrateContext
105
+ })
106
+ });
107
+ SSRApp = (0, import_hoist_non_react_statics.default)(SSRApp, App);
108
+ ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {}));
109
+ });
110
+ } else {
111
+ (0, import_component.loadableReady)(() => {
112
+ ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
113
+ context: hydrateContext
114
+ }), callback);
115
+ });
116
+ }
117
+ } else {
118
+ console.warn(
119
+ `unknow render level: ${renderLevel}, execute render()`
120
+ );
121
+ ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
122
+ context
123
+ }));
124
+ }
125
+ }
126
+ function streamSSRHydrate() {
127
+ if (renderLevel === import_types.RenderLevel.SERVER_RENDER) {
128
+ let SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, {
129
+ callback,
130
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
131
+ context: hydrateContext
132
+ })
133
+ });
134
+ SSRApp = (0, import_hoist_non_react_statics.default)(SSRApp, App);
135
+ ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {}));
136
+ } else {
137
+ ModernRender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
138
+ context
139
+ }));
140
+ }
141
+ }
142
+ }),
143
+ init({ context }, next) {
144
+ var _a, _b;
145
+ const request = (_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.context) == null ? void 0 : _b.request;
146
+ if (!request) {
147
+ context.ssrContext = __spreadProps(__spreadValues({}, context.ssrContext), {
148
+ response: mockResp,
149
+ request: (0, import_utils.formatClient)({})
150
+ });
151
+ return next({ context });
152
+ }
153
+ context.ssrContext.response = mockResp;
154
+ context.ssrContext.request = (0, import_utils.formatClient)(request);
155
+ return next({ context });
156
+ },
157
+ pickContext: ({ context, pickedContext }, next) => {
158
+ var _a, _b;
159
+ const request = (_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.context) == null ? void 0 : _b.request;
160
+ const { initialData } = context;
161
+ if (!request) {
162
+ return next({
163
+ context,
164
+ pickedContext: __spreadProps(__spreadValues({}, pickedContext), {
165
+ initialData
166
+ })
167
+ });
168
+ }
169
+ return next({
170
+ context,
171
+ pickedContext: __spreadProps(__spreadValues({}, pickedContext), {
172
+ initialData,
173
+ request,
174
+ response: mockResp
175
+ })
176
+ });
177
+ }
178
+ };
179
+ }
180
+ });
181
+ var ssr_default = ssr;
182
+ // Annotate the CommonJS export names for ESM import in node:
183
+ 0 && (module.exports = {
184
+ ssr
185
+ });