@modern-js/runtime 2.49.1 → 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 +10 -10
@@ -0,0 +1,52 @@
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 { run } from "@modern-js/utils/ssr";
22
+ import { PreRender } from "../../react/prerender";
23
+ import { time } from "../utils";
24
+ import SSREntry from "./entry";
25
+ const render = ({
26
+ App,
27
+ context,
28
+ config
29
+ }) => {
30
+ const ssrContext = context.ssrContext;
31
+ return run(ssrContext.request.headers, () => __async(void 0, null, function* () {
32
+ const entry = new SSREntry({
33
+ ctx: ssrContext,
34
+ App,
35
+ config
36
+ });
37
+ entry.metrics.emitCounter("app.visit.count", 1);
38
+ const end = time();
39
+ const html = yield entry.renderToHtml(context);
40
+ const cost = end();
41
+ entry.logger.info("App Render Total cost = %d ms", cost);
42
+ entry.metrics.emitTimer("app.render.cost", cost);
43
+ const cacheConfig = PreRender.config();
44
+ if (cacheConfig) {
45
+ context.ssrContext.cacheConfig = cacheConfig;
46
+ }
47
+ return html;
48
+ }));
49
+ };
50
+ export {
51
+ render
52
+ };
@@ -0,0 +1,48 @@
1
+ import { ChunkExtractor } from "@loadable/server";
2
+ import { isCrossOrigin } from "../../utils";
3
+ import { getLoadableScripts } from "../utils";
4
+ const extname = (uri) => {
5
+ if (typeof uri !== "string" || !uri.includes(".")) {
6
+ return "";
7
+ }
8
+ return `.${uri == null ? void 0 : uri.split(".").pop()}` || "";
9
+ };
10
+ const toHtml = (jsx, renderer, next) => {
11
+ const {
12
+ stats,
13
+ result: { chunksMap },
14
+ host,
15
+ config = {}
16
+ } = renderer;
17
+ if (!stats || chunksMap.js) {
18
+ return next(jsx);
19
+ }
20
+ const extractor = new ChunkExtractor({
21
+ stats,
22
+ entrypoints: [renderer.entryName]
23
+ });
24
+ const html = next(extractor.collectChunks(jsx));
25
+ const chunks = extractor.getChunkAssets(extractor.chunks);
26
+ chunksMap.js = (chunksMap.js || "") + getLoadableScripts(extractor);
27
+ for (const v of chunks) {
28
+ const fileType = extname(v.url).slice(1);
29
+ if (fileType === "js") {
30
+ const props = [];
31
+ const { crossorigin } = config;
32
+ if (crossorigin && isCrossOrigin(v.url, host)) {
33
+ props.push(
34
+ `crossorigin="${crossorigin === true ? "anonymous" : crossorigin}"`
35
+ );
36
+ }
37
+ chunksMap[fileType] += `<script src="${v.url}" ${props.join(
38
+ " "
39
+ )}><\/script>`;
40
+ } else if (fileType === "css") {
41
+ chunksMap[fileType] += `<link href="${v.url}" rel="stylesheet" />`;
42
+ }
43
+ }
44
+ return html;
45
+ };
46
+ export {
47
+ toHtml
48
+ };
@@ -0,0 +1,8 @@
1
+ function reduce(jsx, renderer, middleware) {
2
+ let index = 0;
3
+ const createNext = () => (App) => middleware[index++](App, renderer, createNext());
4
+ return createNext()(jsx);
5
+ }
6
+ export {
7
+ reduce
8
+ };
@@ -0,0 +1,11 @@
1
+ import { ServerStyleSheet } from "styled-components";
2
+ const toHtml = (jsx, renderer, next) => {
3
+ const sheet = new ServerStyleSheet();
4
+ const html = next(sheet.collectStyles(jsx));
5
+ const css = sheet.getStyleTags();
6
+ renderer.result.chunksMap.css += css;
7
+ return html;
8
+ };
9
+ export {
10
+ toHtml
11
+ };
@@ -0,0 +1,58 @@
1
+ const VARIABLE_REG_EXP = /<!--<\?([-=+])\s*(.*?)\s*\?>-->/;
2
+ const VARIABLE_SPLITTER = /(<!--<\?.*?\?>-->)/;
3
+ const ENCODE_HTML_RULES = {
4
+ "&": "&amp;",
5
+ "<": "&lt;",
6
+ ">": "&gt;",
7
+ '"': "&#34;",
8
+ "'": "&#39;"
9
+ };
10
+ const MATCH_HTML = /[&<>'"]/g;
11
+ function encodeChar(c) {
12
+ return ENCODE_HTML_RULES[c] || c;
13
+ }
14
+ function escape(str) {
15
+ return str.replace(MATCH_HTML, encodeChar);
16
+ }
17
+ const _Fragment = class {
18
+ constructor(template) {
19
+ const match = VARIABLE_REG_EXP.exec(template);
20
+ if (match) {
21
+ const [, filterFlag, content] = match;
22
+ this.isVariable = true;
23
+ this.content = content;
24
+ this.filters = [_Fragment.filterMap[filterFlag]];
25
+ this.path = content.replace(/\[['"](.*?)['"]\]/g, ".$1").split(".");
26
+ } else {
27
+ this.isVariable = false;
28
+ this.content = template;
29
+ this.filters = [];
30
+ this.path = [];
31
+ }
32
+ }
33
+ getValue(data) {
34
+ if (this.isVariable) {
35
+ const value = this.path.reduce((p, n) => p != null ? p[n] : p, data);
36
+ return this.filters.reduce((p, n) => n(p), value != null ? value : "");
37
+ }
38
+ return this.content;
39
+ }
40
+ };
41
+ let Fragment = _Fragment;
42
+ Fragment.filterMap = {
43
+ "=": escape,
44
+ "-": (v) => v
45
+ };
46
+ const fragmentListMap = {};
47
+ function toFragments(template, entryName) {
48
+ if (fragmentListMap[entryName]) {
49
+ return fragmentListMap[entryName];
50
+ }
51
+ const fragmentList = template.split(VARIABLE_SPLITTER).filter((v) => Boolean(v)).map((v) => new Fragment(v));
52
+ fragmentListMap[entryName] = fragmentList;
53
+ return fragmentList;
54
+ }
55
+ export {
56
+ Fragment,
57
+ toFragments
58
+ };
@@ -0,0 +1,9 @@
1
+ var RenderLevel = /* @__PURE__ */ ((RenderLevel2) => {
2
+ RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
3
+ RenderLevel2[RenderLevel2["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
4
+ RenderLevel2[RenderLevel2["SERVER_RENDER"] = 2] = "SERVER_RENDER";
5
+ return RenderLevel2;
6
+ })(RenderLevel || {});
7
+ export {
8
+ RenderLevel
9
+ };
@@ -0,0 +1,4 @@
1
+ import { RenderLevel } from "./renderToString/type";
2
+ export {
3
+ RenderLevel
4
+ };
@@ -0,0 +1,22 @@
1
+ function getLoadableScripts(extractor) {
2
+ const check = (scripts2) => (scripts2 || "").includes("__LOADABLE_REQUIRED_CHUNKS___ext");
3
+ const scripts = extractor.getScriptTags();
4
+ if (!check(scripts)) {
5
+ return "";
6
+ }
7
+ return scripts.split("<\/script>").slice(0, 2).map((i) => `${i}<\/script>`).join("");
8
+ }
9
+ const getLatency = (hrtime) => {
10
+ const [s, ns] = process.hrtime(hrtime);
11
+ return s * 1e3 + ns / 1e6;
12
+ };
13
+ const time = () => {
14
+ const hrtime = process.hrtime();
15
+ return () => {
16
+ return getLatency(hrtime);
17
+ };
18
+ };
19
+ export {
20
+ getLoadableScripts,
21
+ time
22
+ };
@@ -0,0 +1,81 @@
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
+ const isReact18 = () => process.env.IS_REACT18 === "true";
18
+ const formatServer = (request) => {
19
+ const {
20
+ cookie = "",
21
+ "user-agent": userAgent = "",
22
+ referer
23
+ } = request.headers || {};
24
+ return __spreadValues({
25
+ cookie,
26
+ userAgent,
27
+ referer
28
+ }, request);
29
+ };
30
+ const getQuery = () => window.location.search.substring(1).split("&").reduce((res, item) => {
31
+ const [key, value] = item.split("=");
32
+ if (key) {
33
+ res[key] = value;
34
+ }
35
+ return res;
36
+ }, {});
37
+ const formatClient = (request) => {
38
+ var _a, _b;
39
+ return {
40
+ params: request.params || {},
41
+ host: request.host || location.host,
42
+ pathname: request.pathname || location.pathname,
43
+ headers: request.headers || {},
44
+ cookieMap: request.cookieMap || {},
45
+ cookie: ((_a = request.headers) == null ? void 0 : _a.cookie) || document.cookie,
46
+ userAgent: ((_b = request.headers) == null ? void 0 : _b["user-agent"]) || navigator.userAgent,
47
+ referer: request.referer || document.referrer,
48
+ query: request.query || getQuery(),
49
+ url: location.href
50
+ };
51
+ };
52
+ const mockResponse = () => {
53
+ return {
54
+ setHeader() {
55
+ console.warn("response.setHeader() can only be used in the server side");
56
+ },
57
+ status() {
58
+ console.warn("response.status() can only be used in the server side");
59
+ },
60
+ get locals() {
61
+ console.warn("response.locals can only be used in the server side");
62
+ return {};
63
+ }
64
+ };
65
+ };
66
+ const isCrossOrigin = (url = "", base) => {
67
+ if (url.startsWith("/") || url.startsWith("./")) {
68
+ return false;
69
+ } else if (!url.includes(base)) {
70
+ return true;
71
+ } else {
72
+ return false;
73
+ }
74
+ };
75
+ export {
76
+ formatClient,
77
+ formatServer,
78
+ isCrossOrigin,
79
+ isReact18,
80
+ mockResponse
81
+ };
@@ -0,0 +1,83 @@
1
+ import {
2
+ getEntryOptions,
3
+ createRuntimeExportsUtils,
4
+ PLUGIN_SCHEMAS
5
+ } from "@modern-js/utils";
6
+ const PLUGIN_IDENTIFIER = "state";
7
+ var cli_default = () => ({
8
+ name: "@modern-js/plugin-state",
9
+ required: ["@modern-js/runtime"],
10
+ setup: (api) => {
11
+ const stateConfigMap = /* @__PURE__ */ new Map();
12
+ let pluginsExportsUtils;
13
+ return {
14
+ config() {
15
+ const appContext = api.useAppContext();
16
+ pluginsExportsUtils = createRuntimeExportsUtils(
17
+ appContext.internalDirectory,
18
+ "plugins"
19
+ );
20
+ return {
21
+ source: {
22
+ alias: {
23
+ "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
24
+ }
25
+ }
26
+ };
27
+ },
28
+ modifyEntryImports({ entrypoint, imports }) {
29
+ var _a;
30
+ const { entryName } = entrypoint;
31
+ const userConfig = api.useResolvedConfigContext();
32
+ const { packageName } = api.useAppContext();
33
+ const stateConfig = (_a = getEntryOptions(
34
+ entryName,
35
+ userConfig.runtime,
36
+ userConfig.runtimeByEntries,
37
+ packageName
38
+ )) == null ? void 0 : _a.state;
39
+ stateConfigMap.set(entryName, stateConfig);
40
+ if (stateConfig) {
41
+ imports.push({
42
+ value: "@modern-js/runtime/plugins",
43
+ specifiers: [
44
+ {
45
+ imported: PLUGIN_IDENTIFIER
46
+ }
47
+ ]
48
+ });
49
+ }
50
+ return {
51
+ entrypoint,
52
+ imports
53
+ };
54
+ },
55
+ modifyEntryRuntimePlugins({ entrypoint, plugins }) {
56
+ const stateOptions = stateConfigMap.get(entrypoint.entryName);
57
+ if (stateOptions) {
58
+ plugins.push({
59
+ name: PLUGIN_IDENTIFIER,
60
+ options: `${JSON.stringify(
61
+ stateConfigMap.get(entrypoint.entryName)
62
+ )}`
63
+ });
64
+ }
65
+ return {
66
+ entrypoint,
67
+ plugins
68
+ };
69
+ },
70
+ validateSchema() {
71
+ return PLUGIN_SCHEMAS["@modern-js/plugin-state"];
72
+ },
73
+ addRuntimeExports() {
74
+ pluginsExportsUtils.addExport(
75
+ `export { default as state } from '@modern-js/runtime/model'`
76
+ );
77
+ }
78
+ };
79
+ }
80
+ });
81
+ export {
82
+ cli_default as default
83
+ };
@@ -0,0 +1,7 @@
1
+ import { default as default2 } from "./runtime";
2
+ import { default as default3 } from "./runtime";
3
+ export * from "./runtime";
4
+ export {
5
+ default3 as default,
6
+ default2 as state
7
+ };
@@ -0,0 +1,13 @@
1
+ import { plugin as effectsPlugin } from "@modern-js-reduck/plugin-effects";
2
+ import autoActionsPlugin from "@modern-js-reduck/plugin-auto-actions";
3
+ import immerPlugin from "@modern-js-reduck/plugin-immutable";
4
+ import { default as default2 } from "@modern-js-reduck/plugin-devtools";
5
+ const effects = () => effectsPlugin;
6
+ const immer = () => immerPlugin;
7
+ const autoActions = () => autoActionsPlugin;
8
+ export {
9
+ autoActions,
10
+ default2 as devtools,
11
+ effects,
12
+ immer
13
+ };
@@ -0,0 +1,9 @@
1
+ export * from "@modern-js-reduck/react";
2
+ import { model, createStore } from "@modern-js-reduck/store";
3
+ import { default as default2 } from "./plugin";
4
+ export * from "./plugin";
5
+ export {
6
+ createStore,
7
+ default2 as default,
8
+ model
9
+ };
@@ -0,0 +1,97 @@
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 { useContext } from "react";
22
+ import {
23
+ createStore
24
+ } from "@modern-js-reduck/store";
25
+ import { Provider } from "@modern-js-reduck/react";
26
+ import hoistNonReactStatics from "hoist-non-react-statics";
27
+ import { immer, effects, autoActions, devtools } from "../plugins";
28
+ import { RuntimeReactContext } from "../../core";
29
+ import { isBrowser } from "../../common";
30
+ const StatePluginHandleMap = {
31
+ immer,
32
+ effects,
33
+ autoActions,
34
+ devtools
35
+ };
36
+ const getStoreConfig = (config) => {
37
+ const internalPlugins = [
38
+ "immer",
39
+ "effects",
40
+ "autoActions",
41
+ "devtools"
42
+ ];
43
+ const plugins = [];
44
+ internalPlugins.filter((plugin) => config[plugin] !== false).forEach(
45
+ (plugin) => plugins.push(StatePluginHandleMap[plugin](config[plugin]))
46
+ );
47
+ const storeConfig = {};
48
+ for (const [key, value] of Object.entries(config)) {
49
+ if (!internalPlugins.includes(key)) {
50
+ storeConfig[key] = value;
51
+ }
52
+ }
53
+ storeConfig.plugins = plugins;
54
+ return storeConfig;
55
+ };
56
+ const state = (config) => ({
57
+ name: "@modern-js/plugin-state",
58
+ setup: () => {
59
+ const storeConfig = getStoreConfig(config);
60
+ return {
61
+ hoc({ App }, next) {
62
+ const getStateApp = (props) => {
63
+ const context = useContext(RuntimeReactContext);
64
+ return /* @__PURE__ */ jsx(Provider, {
65
+ store: context.store,
66
+ config: storeConfig,
67
+ children: /* @__PURE__ */ jsx(App, __spreadValues({}, props))
68
+ });
69
+ };
70
+ return next({
71
+ App: hoistNonReactStatics(getStateApp, App)
72
+ });
73
+ },
74
+ init({ context }, next) {
75
+ var _a, _b;
76
+ if (isBrowser()) {
77
+ storeConfig.initialState = storeConfig.initialState || ((_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.data) == null ? void 0 : _b.storeState) || {};
78
+ }
79
+ context.store = createStore(storeConfig);
80
+ return next({ context });
81
+ },
82
+ pickContext({ context, pickedContext }, next) {
83
+ return next({
84
+ context,
85
+ pickedContext: __spreadProps(__spreadValues({}, pickedContext), {
86
+ store: context.store
87
+ })
88
+ });
89
+ }
90
+ };
91
+ }
92
+ });
93
+ var plugin_default = state;
94
+ export * from "../plugins";
95
+ export {
96
+ plugin_default as default
97
+ };
File without changes
@@ -0,0 +1,99 @@
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 __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var cli_exports = {};
45
+ __export(cli_exports, {
46
+ default: () => cli_default
47
+ });
48
+ module.exports = __toCommonJS(cli_exports);
49
+ var import_path = __toESM(require("path"));
50
+ var import_utils = require("@modern-js/utils");
51
+ var import_cli = __toESM(require("../state/cli"));
52
+ var import_cli2 = __toESM(require("../ssr/cli"));
53
+ var import_cli3 = __toESM(require("../router/cli"));
54
+ var import_cli4 = __toESM(require("../document/cli"));
55
+ var cli_default = () => ({
56
+ name: "@modern-js/runtime",
57
+ post: [
58
+ "@modern-js/plugin-router",
59
+ "@modern-js/plugin-ssr",
60
+ "@modern-js/plugin-document",
61
+ "@modern-js/plugin-state",
62
+ "@modern-js/plugin-design-token"
63
+ ],
64
+ usePlugins: [(0, import_cli.default)(), (0, import_cli2.default)(), (0, import_cli3.default)(), (0, import_cli4.default)()],
65
+ setup: (api) => {
66
+ return {
67
+ config() {
68
+ const dir = api.useAppContext().internalDirectory || "";
69
+ process.env.IS_REACT18 = (0, import_utils.isReact18)(import_path.default.join(dir, "../../")).toString();
70
+ return {
71
+ runtime: {},
72
+ runtimeByEntries: {},
73
+ source: {
74
+ alias: {
75
+ "styled-components": require.resolve("styled-components")
76
+ },
77
+ globalVars: {
78
+ "process.env.IS_REACT18": process.env.IS_REACT18
79
+ }
80
+ }
81
+ };
82
+ },
83
+ validateSchema() {
84
+ return import_utils.PLUGIN_SCHEMAS["@modern-js/runtime"];
85
+ },
86
+ beforeRestart() {
87
+ return __async(this, null, function* () {
88
+ (0, import_utils.cleanRequireCache)([
89
+ require.resolve("../state/cli"),
90
+ require.resolve("../router/cli"),
91
+ require.resolve("../ssr/cli")
92
+ ]);
93
+ });
94
+ }
95
+ };
96
+ }
97
+ });
98
+ // Annotate the CommonJS export names for ESM import in node:
99
+ 0 && (module.exports = {});
@@ -0,0 +1,27 @@
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 common_exports = {};
19
+ __export(common_exports, {
20
+ isBrowser: () => isBrowser
21
+ });
22
+ module.exports = __toCommonJS(common_exports);
23
+ const isBrowser = () => typeof window !== "undefined" && window.name !== "nodejs";
24
+ // Annotate the CommonJS export names for ESM import in node:
25
+ 0 && (module.exports = {
26
+ isBrowser
27
+ });
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var config_exports = {};
15
+ module.exports = __toCommonJS(config_exports);