@modern-js/runtime 2.48.4-alpha.0 → 2.48.5

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