@modern-js/runtime 2.22.2-alpha.0 → 2.23.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 (270) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/cli/index.js +21 -1
  3. package/dist/cjs/router/cli/index.js +11 -1
  4. package/dist/cjs/router/runtime/plugin.js +1 -16
  5. package/dist/cjs/state/cli/index.js +11 -1
  6. package/dist/esm/cli/index.js +21 -2
  7. package/dist/esm/router/cli/index.js +12 -2
  8. package/dist/esm/router/runtime/plugin.js +1 -20
  9. package/dist/esm/state/cli/index.js +12 -2
  10. package/dist/esm-node/cli/index.js +22 -2
  11. package/dist/esm-node/router/cli/index.js +12 -2
  12. package/dist/esm-node/router/runtime/plugin.js +1 -16
  13. package/dist/esm-node/state/cli/index.js +12 -2
  14. package/dist/types/runtimeContext.d.ts +0 -8
  15. package/package.json +9 -9
  16. package/dist/js/modern/cli/index.js +0 -72
  17. package/dist/js/modern/common.js +0 -4
  18. package/dist/js/modern/config.js +0 -0
  19. package/dist/js/modern/core/app-config.js +0 -10
  20. package/dist/js/modern/core/compatible.js +0 -286
  21. package/dist/js/modern/core/index.js +0 -16
  22. package/dist/js/modern/core/loader/index.js +0 -4
  23. package/dist/js/modern/core/loader/loaderManager.js +0 -165
  24. package/dist/js/modern/core/loader/useLoader.js +0 -114
  25. package/dist/js/modern/core/plugin.js +0 -58
  26. package/dist/js/modern/document/Body.js +0 -23
  27. package/dist/js/modern/document/DocumentContext.js +0 -9
  28. package/dist/js/modern/document/DocumentStructureContext.js +0 -11
  29. package/dist/js/modern/document/Head.js +0 -27
  30. package/dist/js/modern/document/Html.js +0 -78
  31. package/dist/js/modern/document/Links.js +0 -10
  32. package/dist/js/modern/document/Root.js +0 -33
  33. package/dist/js/modern/document/Script.js +0 -20
  34. package/dist/js/modern/document/Scripts.js +0 -10
  35. package/dist/js/modern/document/cli/index.js +0 -228
  36. package/dist/js/modern/document/constants.js +0 -49
  37. package/dist/js/modern/document/index.js +0 -10
  38. package/dist/js/modern/exports/head.js +0 -6
  39. package/dist/js/modern/exports/loadable.js +0 -6
  40. package/dist/js/modern/exports/server.js +0 -4
  41. package/dist/js/modern/exports/styled.js +0 -6
  42. package/dist/js/modern/index.js +0 -22
  43. package/dist/js/modern/router/cli/index.js +0 -120
  44. package/dist/js/modern/router/index.js +0 -7
  45. package/dist/js/modern/router/runtime/DefaultNotFound.js +0 -14
  46. package/dist/js/modern/router/runtime/fetch.js +0 -5
  47. package/dist/js/modern/router/runtime/fetch.node.js +0 -4
  48. package/dist/js/modern/router/runtime/fetch.worker.js +0 -5
  49. package/dist/js/modern/router/runtime/index.js +0 -9
  50. package/dist/js/modern/router/runtime/plugin.js +0 -104
  51. package/dist/js/modern/router/runtime/plugin.node.js +0 -189
  52. package/dist/js/modern/router/runtime/server.js +0 -1
  53. package/dist/js/modern/router/runtime/types.js +0 -0
  54. package/dist/js/modern/router/runtime/utils.js +0 -196
  55. package/dist/js/modern/router/runtime/withRouter.js +0 -36
  56. package/dist/js/modern/runtime-context.js +0 -7
  57. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +0 -130
  58. package/dist/js/modern/ssr/cli/index.js +0 -172
  59. package/dist/js/modern/ssr/index.js +0 -159
  60. package/dist/js/modern/ssr/index.node.js +0 -79
  61. package/dist/js/modern/ssr/prefetch.js +0 -69
  62. package/dist/js/modern/ssr/prefetch.worker.js +0 -66
  63. package/dist/js/modern/ssr/react/index.js +0 -6
  64. package/dist/js/modern/ssr/react/nossr/index.js +0 -18
  65. package/dist/js/modern/ssr/react/prerender/index.js +0 -108
  66. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  67. package/dist/js/modern/ssr/react/prerender/util.js +0 -96
  68. package/dist/js/modern/ssr/react/withCallback/index.js +0 -15
  69. package/dist/js/modern/ssr/serverRender/helmet.js +0 -44
  70. package/dist/js/modern/ssr/serverRender/index.js +0 -35
  71. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -36
  72. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -11
  73. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -61
  74. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +0 -58
  75. package/dist/js/modern/ssr/serverRender/renderToStream/index.worker.js +0 -35
  76. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +0 -24
  77. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +0 -96
  78. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -117
  79. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +0 -12
  80. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +0 -22
  81. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  82. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +0 -172
  83. package/dist/js/modern/ssr/serverRender/renderToString/index.js +0 -52
  84. package/dist/js/modern/ssr/serverRender/renderToString/index.worker.js +0 -49
  85. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +0 -48
  86. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +0 -8
  87. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +0 -11
  88. package/dist/js/modern/ssr/serverRender/renderToString/template.js +0 -58
  89. package/dist/js/modern/ssr/serverRender/renderToString/type.js +0 -9
  90. package/dist/js/modern/ssr/serverRender/time.js +0 -13
  91. package/dist/js/modern/ssr/serverRender/time.worker.js +0 -28
  92. package/dist/js/modern/ssr/serverRender/types.js +0 -4
  93. package/dist/js/modern/ssr/serverRender/utils.js +0 -11
  94. package/dist/js/modern/ssr/utils.js +0 -81
  95. package/dist/js/modern/state/cli/index.js +0 -83
  96. package/dist/js/modern/state/index.js +0 -7
  97. package/dist/js/modern/state/plugins.js +0 -13
  98. package/dist/js/modern/state/runtime/index.js +0 -9
  99. package/dist/js/modern/state/runtime/plugin.js +0 -97
  100. package/dist/js/modern/state/types.js +0 -0
  101. package/dist/js/node/cli/index.js +0 -99
  102. package/dist/js/node/common.js +0 -27
  103. package/dist/js/node/config.js +0 -15
  104. package/dist/js/node/core/app-config.js +0 -34
  105. package/dist/js/node/core/compatible.js +0 -313
  106. package/dist/js/node/core/index.js +0 -47
  107. package/dist/js/node/core/loader/index.js +0 -33
  108. package/dist/js/node/core/loader/loaderManager.js +0 -195
  109. package/dist/js/node/core/loader/useLoader.js +0 -132
  110. package/dist/js/node/core/plugin.js +0 -80
  111. package/dist/js/node/document/Body.js +0 -43
  112. package/dist/js/node/document/DocumentContext.js +0 -38
  113. package/dist/js/node/document/DocumentStructureContext.js +0 -40
  114. package/dist/js/node/document/Head.js +0 -51
  115. package/dist/js/node/document/Html.js +0 -101
  116. package/dist/js/node/document/Links.js +0 -33
  117. package/dist/js/node/document/Root.js +0 -57
  118. package/dist/js/node/document/Script.js +0 -40
  119. package/dist/js/node/document/Scripts.js +0 -33
  120. package/dist/js/node/document/cli/index.js +0 -240
  121. package/dist/js/node/document/constants.js +0 -86
  122. package/dist/js/node/document/index.js +0 -26
  123. package/dist/js/node/exports/head.js +0 -34
  124. package/dist/js/node/exports/loadable.js +0 -34
  125. package/dist/js/node/exports/server.js +0 -27
  126. package/dist/js/node/exports/styled.js +0 -34
  127. package/dist/js/node/index.js +0 -44
  128. package/dist/js/node/router/cli/index.js +0 -135
  129. package/dist/js/node/router/index.js +0 -37
  130. package/dist/js/node/router/runtime/DefaultNotFound.js +0 -37
  131. package/dist/js/node/router/runtime/fetch.js +0 -28
  132. package/dist/js/node/router/runtime/fetch.node.js +0 -27
  133. package/dist/js/node/router/runtime/fetch.worker.js +0 -28
  134. package/dist/js/node/router/runtime/index.js +0 -33
  135. package/dist/js/node/router/runtime/plugin.js +0 -127
  136. package/dist/js/node/router/runtime/plugin.node.js +0 -212
  137. package/dist/js/node/router/runtime/server.js +0 -17
  138. package/dist/js/node/router/runtime/types.js +0 -15
  139. package/dist/js/node/router/runtime/utils.js +0 -221
  140. package/dist/js/node/router/runtime/withRouter.js +0 -57
  141. package/dist/js/node/runtime-context.js +0 -31
  142. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +0 -139
  143. package/dist/js/node/ssr/cli/index.js +0 -190
  144. package/dist/js/node/ssr/index.js +0 -185
  145. package/dist/js/node/ssr/index.node.js +0 -107
  146. package/dist/js/node/ssr/prefetch.js +0 -90
  147. package/dist/js/node/ssr/prefetch.worker.js +0 -87
  148. package/dist/js/node/ssr/react/index.js +0 -30
  149. package/dist/js/node/ssr/react/nossr/index.js +0 -47
  150. package/dist/js/node/ssr/react/prerender/index.js +0 -130
  151. package/dist/js/node/ssr/react/prerender/type.js +0 -15
  152. package/dist/js/node/ssr/react/prerender/util.js +0 -123
  153. package/dist/js/node/ssr/react/withCallback/index.js +0 -38
  154. package/dist/js/node/ssr/serverRender/helmet.js +0 -65
  155. package/dist/js/node/ssr/serverRender/index.js +0 -56
  156. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -65
  157. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -35
  158. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -87
  159. package/dist/js/node/ssr/serverRender/renderToStream/index.js +0 -87
  160. package/dist/js/node/ssr/serverRender/renderToStream/index.worker.js +0 -64
  161. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +0 -47
  162. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +0 -115
  163. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -136
  164. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +0 -35
  165. package/dist/js/node/ssr/serverRender/renderToStream/template.js +0 -45
  166. package/dist/js/node/ssr/serverRender/renderToStream/type.js +0 -15
  167. package/dist/js/node/ssr/serverRender/renderToString/entry.js +0 -197
  168. package/dist/js/node/ssr/serverRender/renderToString/index.js +0 -81
  169. package/dist/js/node/ssr/serverRender/renderToString/index.worker.js +0 -78
  170. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +0 -71
  171. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +0 -31
  172. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +0 -34
  173. package/dist/js/node/ssr/serverRender/renderToString/template.js +0 -82
  174. package/dist/js/node/ssr/serverRender/renderToString/type.js +0 -32
  175. package/dist/js/node/ssr/serverRender/time.js +0 -36
  176. package/dist/js/node/ssr/serverRender/time.worker.js +0 -51
  177. package/dist/js/node/ssr/serverRender/types.js +0 -27
  178. package/dist/js/node/ssr/serverRender/utils.js +0 -34
  179. package/dist/js/node/ssr/utils.js +0 -106
  180. package/dist/js/node/state/cli/index.js +0 -100
  181. package/dist/js/node/state/index.js +0 -37
  182. package/dist/js/node/state/plugins.js +0 -45
  183. package/dist/js/node/state/runtime/index.js +0 -40
  184. package/dist/js/node/state/runtime/plugin.js +0 -121
  185. package/dist/js/node/state/types.js +0 -15
  186. package/dist/js/treeshaking/cli/index.js +0 -186
  187. package/dist/js/treeshaking/common.js +0 -4
  188. package/dist/js/treeshaking/config.js +0 -1
  189. package/dist/js/treeshaking/core/app-config.js +0 -9
  190. package/dist/js/treeshaking/core/compatible.js +0 -486
  191. package/dist/js/treeshaking/core/index.js +0 -7
  192. package/dist/js/treeshaking/core/loader/index.js +0 -2
  193. package/dist/js/treeshaking/core/loader/loaderManager.js +0 -406
  194. package/dist/js/treeshaking/core/loader/useLoader.js +0 -188
  195. package/dist/js/treeshaking/core/plugin.js +0 -176
  196. package/dist/js/treeshaking/document/Body.js +0 -18
  197. package/dist/js/treeshaking/document/DocumentContext.js +0 -7
  198. package/dist/js/treeshaking/document/DocumentStructureContext.js +0 -9
  199. package/dist/js/treeshaking/document/Head.js +0 -24
  200. package/dist/js/treeshaking/document/Html.js +0 -99
  201. package/dist/js/treeshaking/document/Links.js +0 -8
  202. package/dist/js/treeshaking/document/Root.js +0 -26
  203. package/dist/js/treeshaking/document/Script.js +0 -15
  204. package/dist/js/treeshaking/document/Scripts.js +0 -8
  205. package/dist/js/treeshaking/document/cli/index.js +0 -393
  206. package/dist/js/treeshaking/document/constants.js +0 -35
  207. package/dist/js/treeshaking/document/index.js +0 -10
  208. package/dist/js/treeshaking/exports/head.js +0 -4
  209. package/dist/js/treeshaking/exports/loadable.js +0 -4
  210. package/dist/js/treeshaking/exports/server.js +0 -4
  211. package/dist/js/treeshaking/exports/styled.js +0 -4
  212. package/dist/js/treeshaking/index.js +0 -3
  213. package/dist/js/treeshaking/router/cli/index.js +0 -148
  214. package/dist/js/treeshaking/router/index.js +0 -4
  215. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +0 -14
  216. package/dist/js/treeshaking/router/runtime/fetch.js +0 -2
  217. package/dist/js/treeshaking/router/runtime/fetch.node.js +0 -2
  218. package/dist/js/treeshaking/router/runtime/fetch.worker.js +0 -2
  219. package/dist/js/treeshaking/router/runtime/index.js +0 -6
  220. package/dist/js/treeshaking/router/runtime/plugin.js +0 -132
  221. package/dist/js/treeshaking/router/runtime/plugin.node.js +0 -447
  222. package/dist/js/treeshaking/router/runtime/server.js +0 -1
  223. package/dist/js/treeshaking/router/runtime/types.js +0 -1
  224. package/dist/js/treeshaking/router/runtime/utils.js +0 -260
  225. package/dist/js/treeshaking/router/runtime/withRouter.js +0 -67
  226. package/dist/js/treeshaking/runtime-context.js +0 -4
  227. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +0 -122
  228. package/dist/js/treeshaking/ssr/cli/index.js +0 -217
  229. package/dist/js/treeshaking/ssr/index.js +0 -315
  230. package/dist/js/treeshaking/ssr/index.node.js +0 -240
  231. package/dist/js/treeshaking/ssr/prefetch.js +0 -199
  232. package/dist/js/treeshaking/ssr/prefetch.worker.js +0 -191
  233. package/dist/js/treeshaking/ssr/react/index.js +0 -3
  234. package/dist/js/treeshaking/ssr/react/nossr/index.js +0 -58
  235. package/dist/js/treeshaking/ssr/react/prerender/index.js +0 -237
  236. package/dist/js/treeshaking/ssr/react/prerender/type.js +0 -1
  237. package/dist/js/treeshaking/ssr/react/prerender/util.js +0 -108
  238. package/dist/js/treeshaking/ssr/react/withCallback/index.js +0 -16
  239. package/dist/js/treeshaking/ssr/serverRender/helmet.js +0 -42
  240. package/dist/js/treeshaking/ssr/serverRender/index.js +0 -169
  241. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -34
  242. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -7
  243. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -115
  244. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +0 -165
  245. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.worker.js +0 -32
  246. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +0 -22
  247. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +0 -122
  248. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -294
  249. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +0 -11
  250. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +0 -63
  251. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +0 -1
  252. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +0 -393
  253. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +0 -165
  254. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.worker.js +0 -167
  255. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +0 -56
  256. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +0 -10
  257. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +0 -9
  258. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +0 -156
  259. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +0 -7
  260. package/dist/js/treeshaking/ssr/serverRender/time.js +0 -57
  261. package/dist/js/treeshaking/ssr/serverRender/time.worker.js +0 -75
  262. package/dist/js/treeshaking/ssr/serverRender/types.js +0 -2
  263. package/dist/js/treeshaking/ssr/serverRender/utils.js +0 -13
  264. package/dist/js/treeshaking/ssr/utils.js +0 -134
  265. package/dist/js/treeshaking/state/cli/index.js +0 -71
  266. package/dist/js/treeshaking/state/index.js +0 -4
  267. package/dist/js/treeshaking/state/plugins.js +0 -14
  268. package/dist/js/treeshaking/state/runtime/index.js +0 -5
  269. package/dist/js/treeshaking/state/runtime/plugin.js +0 -198
  270. package/dist/js/treeshaking/state/types.js +0 -1
@@ -1,286 +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
- var __objRest = (source, exclude) => {
18
- var target = {};
19
- for (var prop in source)
20
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
21
- target[prop] = source[prop];
22
- if (source != null && __getOwnPropSymbols)
23
- for (var prop of __getOwnPropSymbols(source)) {
24
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
25
- target[prop] = source[prop];
26
- }
27
- return target;
28
- };
29
- var __async = (__this, __arguments, generator) => {
30
- return new Promise((resolve, reject) => {
31
- var fulfilled = (value) => {
32
- try {
33
- step(generator.next(value));
34
- } catch (e) {
35
- reject(e);
36
- }
37
- };
38
- var rejected = (value) => {
39
- try {
40
- step(generator.throw(value));
41
- } catch (e) {
42
- reject(e);
43
- }
44
- };
45
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
46
- step((generator = generator.apply(__this, __arguments)).next());
47
- });
48
- };
49
- import { jsx } from "react/jsx-runtime";
50
- import React, { useContext, useMemo } from "react";
51
- import hoistNonReactStatics from "hoist-non-react-statics";
52
- import { ROUTE_MANIFEST } from "@modern-js/utils/constants";
53
- import {
54
- RuntimeReactContext
55
- } from "../runtime-context";
56
- import { runtime } from "./plugin";
57
- import { createLoaderManager } from "./loader/loaderManager";
58
- const IS_REACT18 = process.env.IS_REACT18 === "true";
59
- function isClientArgs(id) {
60
- return typeof id === "string" || typeof HTMLElement !== "undefined" && id instanceof HTMLElement;
61
- }
62
- const runnerMap = /* @__PURE__ */ new WeakMap();
63
- const getInitialContext = (runner) => ({
64
- loaderManager: createLoaderManager({}),
65
- runner,
66
- isBrowser: true,
67
- routeManifest: typeof window !== "undefined" && window[ROUTE_MANIFEST]
68
- });
69
- const createApp = ({ plugins }) => {
70
- const appRuntime = runtime.clone();
71
- appRuntime.usePlugin(...plugins);
72
- return (App) => {
73
- const runner = appRuntime.init();
74
- const WrapperComponent = (props) => {
75
- const element = React.createElement(
76
- App || React.Fragment,
77
- __spreadValues({}, props),
78
- props.children
79
- );
80
- const context = useContext(RuntimeReactContext);
81
- return runner.provide(
82
- { element, props: __spreadValues({}, props), context },
83
- {
84
- onLast: ({ element: element2 }) => element2
85
- }
86
- );
87
- };
88
- if (App) {
89
- hoistNonReactStatics(WrapperComponent, App);
90
- }
91
- const HOCApp = runner.hoc(
92
- { App: WrapperComponent },
93
- {
94
- onLast: ({ App: App2 }) => {
95
- const WrapComponent = (_a) => {
96
- var _b = _a, { context } = _b, props = __objRest(_b, ["context"]);
97
- let contextValue = context;
98
- if (!(contextValue == null ? void 0 : contextValue.runner)) {
99
- contextValue = getInitialContext(runner);
100
- runner.init(
101
- { context: contextValue },
102
- {
103
- onLast: ({ context: context1 }) => {
104
- var _a2;
105
- return (_a2 = App2 == null ? void 0 : App2.init) == null ? void 0 : _a2.call(App2, context1);
106
- }
107
- }
108
- );
109
- }
110
- return /* @__PURE__ */ jsx(RuntimeReactContext.Provider, {
111
- value: contextValue,
112
- children: /* @__PURE__ */ jsx(App2, __spreadValues({}, props))
113
- });
114
- };
115
- return hoistNonReactStatics(WrapComponent, App2);
116
- }
117
- }
118
- );
119
- runnerMap.set(HOCApp, runner);
120
- return HOCApp;
121
- };
122
- };
123
- const bootstrap = (BootApp, id, root, ReactDOM) => __async(void 0, null, function* () {
124
- var _a, _b;
125
- let App = BootApp;
126
- let runner = runnerMap.get(App);
127
- if (!runner) {
128
- App = createApp({ plugins: [] })(App);
129
- runner = runnerMap.get(App);
130
- }
131
- const context = getInitialContext(runner);
132
- const runInit = (_context) => runner.init(
133
- { context: _context },
134
- {
135
- onLast: ({ context: context1 }) => {
136
- var _a2;
137
- return (_a2 = App == null ? void 0 : App.init) == null ? void 0 : _a2.call(App, context1);
138
- }
139
- }
140
- );
141
- if (!id) {
142
- return React.createElement(App, {
143
- context
144
- });
145
- }
146
- const isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
147
- if (isBrowser) {
148
- if (isClientArgs(id)) {
149
- const ssrData = window._SSR_DATA;
150
- const loadersData = ((_a = ssrData == null ? void 0 : ssrData.data) == null ? void 0 : _a.loadersData) || {};
151
- const initialLoadersState = Object.keys(loadersData).reduce(
152
- (res, key) => {
153
- const loaderData = loadersData[key];
154
- if (loaderData.loading !== false) {
155
- return res;
156
- }
157
- res[key] = loaderData;
158
- return res;
159
- },
160
- {}
161
- );
162
- Object.assign(context, __spreadValues({
163
- loaderManager: createLoaderManager(initialLoadersState, {
164
- skipStatic: true
165
- })
166
- }, ssrData ? { ssrContext: ssrData == null ? void 0 : ssrData.context } : {}));
167
- context.initialData = (_b = ssrData == null ? void 0 : ssrData.data) == null ? void 0 : _b.initialData;
168
- const initialData = yield runInit(context);
169
- if (initialData) {
170
- context.initialData = initialData;
171
- }
172
- const rootElement = typeof id !== "string" ? id : document.getElementById(id || "root");
173
- if (!ReactDOM) {
174
- throw Error("The `bootstrap` need provide `ReactDOM` parameter");
175
- }
176
- const ModernRender = (App2) => {
177
- if (IS_REACT18) {
178
- if (root) {
179
- root.render(App2);
180
- } else if (ReactDOM.createRoot) {
181
- ReactDOM.createRoot(rootElement).render(App2);
182
- } else {
183
- throw Error(
184
- "The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method"
185
- );
186
- }
187
- } else {
188
- if (!ReactDOM.render) {
189
- throw Error(
190
- "The `bootstrap` `ReactDOM` parameter needs to provide the `render` method"
191
- );
192
- }
193
- ReactDOM.render(App2, rootElement);
194
- }
195
- };
196
- const ModernHydrate = (App2, callback) => {
197
- if (IS_REACT18) {
198
- if (!ReactDOM.hydrateRoot) {
199
- throw Error(
200
- "The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method"
201
- );
202
- }
203
- ReactDOM.hydrateRoot(rootElement, App2);
204
- } else {
205
- if (!ReactDOM.hydrate) {
206
- throw Error(
207
- "The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method"
208
- );
209
- }
210
- ReactDOM.hydrate(App2, rootElement, callback);
211
- }
212
- };
213
- return runner.client(
214
- {
215
- App,
216
- context,
217
- ModernRender,
218
- ModernHydrate
219
- },
220
- {
221
- onLast: ({ App: App2 }) => {
222
- ModernRender(React.createElement(App2, { context }));
223
- }
224
- }
225
- );
226
- } else {
227
- throw Error(
228
- "`bootstrap` needs id in browser environment, it needs to be string or element"
229
- );
230
- }
231
- } else {
232
- Object.assign(context, {
233
- ssrContext: id,
234
- isBrowser: false,
235
- loaderManager: createLoaderManager(
236
- {},
237
- {
238
- skipNonStatic: id.staticGenerate,
239
- skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
240
- }
241
- )
242
- });
243
- const isRedirectResponse = (result) => {
244
- if (typeof Response !== "undefined" && result instanceof Response && result.status >= 300 && result.status <= 399) {
245
- const { status } = result;
246
- const redirectUrl = result.headers.get("Location") || "/";
247
- const { ssrContext } = context;
248
- if (ssrContext) {
249
- ssrContext.res.statusCode = status;
250
- ssrContext.res.setHeader("Location", redirectUrl);
251
- ssrContext.redirection = ssrContext.redirection || {};
252
- ssrContext.redirection.status = status;
253
- ssrContext.redirection.url = redirectUrl;
254
- }
255
- return true;
256
- }
257
- return false;
258
- };
259
- const initialData = yield runInit(context);
260
- if (!isRedirectResponse(initialData)) {
261
- context.initialData = initialData;
262
- return runner.server({
263
- App,
264
- context
265
- });
266
- }
267
- }
268
- });
269
- const useRuntimeContext = () => {
270
- const context = useContext(RuntimeReactContext);
271
- const memoizedContext = useMemo(
272
- () => context.runner.pickContext(
273
- { context, pickedContext: {} },
274
- {
275
- onLast: ({ pickedContext }) => pickedContext
276
- }
277
- ),
278
- [context]
279
- );
280
- return memoizedContext;
281
- };
282
- export {
283
- bootstrap,
284
- createApp,
285
- useRuntimeContext
286
- };
@@ -1,16 +0,0 @@
1
- import { createPlugin, createRuntime, runtime, registerInit } from "./plugin";
2
- import { defineConfig, getConfig } from "./app-config";
3
- export * from "./compatible";
4
- import { RuntimeReactContext, ServerRouterContext } from "../runtime-context";
5
- export * from "./loader";
6
- export * from "@modern-js/plugin";
7
- export {
8
- RuntimeReactContext,
9
- ServerRouterContext,
10
- createPlugin,
11
- createRuntime,
12
- defineConfig,
13
- getConfig,
14
- registerInit,
15
- runtime
16
- };
@@ -1,4 +0,0 @@
1
- import { default as default2 } from "./useLoader";
2
- export {
3
- default2 as useLoader
4
- };
@@ -1,165 +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 invariant from "invariant";
22
- const createGetId = () => {
23
- const idCache = /* @__PURE__ */ new Map();
24
- return (objectId) => {
25
- const cachedId = idCache.get(objectId);
26
- if (cachedId) {
27
- return cachedId;
28
- }
29
- const id = JSON.stringify(objectId);
30
- invariant(id, "params should be not null value");
31
- idCache.set(objectId, id);
32
- return id;
33
- };
34
- };
35
- var LoaderStatus = /* @__PURE__ */ ((LoaderStatus2) => {
36
- LoaderStatus2[LoaderStatus2["idle"] = 0] = "idle";
37
- LoaderStatus2[LoaderStatus2["loading"] = 1] = "loading";
38
- LoaderStatus2[LoaderStatus2["fulfilled"] = 2] = "fulfilled";
39
- LoaderStatus2[LoaderStatus2["rejected"] = 3] = "rejected";
40
- return LoaderStatus2;
41
- })(LoaderStatus || {});
42
- const createLoader = (id, initialData = {
43
- loading: false,
44
- reloading: false,
45
- data: void 0,
46
- error: void 0
47
- }, loaderFn, skip = false) => {
48
- let promise;
49
- let status = 0 /* idle */;
50
- let { data, error } = initialData;
51
- let hasLoaded = false;
52
- const handlers = /* @__PURE__ */ new Set();
53
- const load = () => __async(void 0, null, function* () {
54
- if (skip) {
55
- return promise;
56
- }
57
- if (status === 1 /* loading */) {
58
- return promise;
59
- }
60
- status = 1 /* loading */;
61
- notify();
62
- promise = loaderFn().then((value) => {
63
- data = value;
64
- error = null;
65
- status = 2 /* fulfilled */;
66
- }).catch((e) => {
67
- error = e;
68
- data = null;
69
- status = 3 /* rejected */;
70
- }).finally(() => {
71
- promise = null;
72
- hasLoaded = true;
73
- notify();
74
- });
75
- return promise;
76
- });
77
- const getResult = () => ({
78
- loading: !hasLoaded && status === 1 /* loading */,
79
- reloading: hasLoaded && status === 1 /* loading */,
80
- data,
81
- error: error instanceof Error ? `${error.message}` : error,
82
- _error: error
83
- });
84
- const notify = () => {
85
- [...handlers].forEach((handler) => {
86
- handler(status, getResult());
87
- });
88
- };
89
- const onChange = (handler) => {
90
- handlers.add(handler);
91
- return () => {
92
- handlers.delete(handler);
93
- };
94
- };
95
- return {
96
- get result() {
97
- return getResult();
98
- },
99
- get promise() {
100
- return promise;
101
- },
102
- onChange,
103
- load
104
- };
105
- };
106
- const createLoaderManager = (initialDataMap, managerOptions = {}) => {
107
- const { skipStatic = false, skipNonStatic = false } = managerOptions;
108
- const loadersMap = /* @__PURE__ */ new Map();
109
- const getId = createGetId();
110
- const add = (loaderFn, loaderOptions) => {
111
- const id = getId(loaderOptions.params);
112
- let loader = loadersMap.get(id);
113
- const cache = loaderOptions._cache;
114
- if (!loader || cache === false) {
115
- const ignoreNonStatic = skipNonStatic && !loaderOptions.static;
116
- const ignoreStatic = skipStatic && loaderOptions.static;
117
- const skipExec = ignoreNonStatic || ignoreStatic;
118
- loader = createLoader(
119
- id,
120
- typeof initialDataMap[id] !== "undefined" ? initialDataMap[id] : { data: loaderOptions.initialData },
121
- loaderFn,
122
- skipExec
123
- );
124
- loadersMap.set(id, loader);
125
- }
126
- return id;
127
- };
128
- const get = (id) => loadersMap.get(id);
129
- const hasPendingLoaders = () => {
130
- for (const loader of loadersMap.values()) {
131
- const { promise } = loader;
132
- if (promise instanceof Promise) {
133
- return true;
134
- }
135
- }
136
- return false;
137
- };
138
- const awaitPendingLoaders = () => __async(void 0, null, function* () {
139
- const pendingLoaders = [];
140
- for (const [id, loader] of loadersMap) {
141
- const { promise } = loader;
142
- if (promise instanceof Promise) {
143
- pendingLoaders.push([id, loader]);
144
- }
145
- }
146
- yield Promise.all(pendingLoaders.map((item) => item[1].promise));
147
- return pendingLoaders.reduce(
148
- (res, [id, loader]) => {
149
- res[id] = loader.result;
150
- return res;
151
- },
152
- {}
153
- );
154
- });
155
- return {
156
- hasPendingLoaders,
157
- awaitPendingLoaders,
158
- add,
159
- get
160
- };
161
- };
162
- export {
163
- LoaderStatus,
164
- createLoaderManager
165
- };
@@ -1,114 +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 {
21
- useContext,
22
- useRef,
23
- useMemo,
24
- useState,
25
- useCallback,
26
- useEffect
27
- } from "react";
28
- import invariant from "invariant";
29
- import { RuntimeReactContext } from "../../runtime-context";
30
- import { LoaderStatus } from "./loaderManager";
31
- const useLoader = (loaderFn, options = { params: void 0 }) => {
32
- const context = useContext(RuntimeReactContext);
33
- const isSSRRender = Boolean(context.ssr);
34
- const { loaderManager } = context;
35
- const loaderRef = useRef();
36
- const unlistenLoaderChangeRef = useRef(null);
37
- if (isSSRRender && Object.prototype.hasOwnProperty.call(options, "_cache")) {
38
- delete options._cache;
39
- }
40
- const load = useCallback(
41
- (params) => {
42
- var _a, _b, _c, _d, _e, _f;
43
- if (typeof params === "undefined") {
44
- return (_a = loaderRef.current) == null ? void 0 : _a.load();
45
- }
46
- const id = loaderManager.add(
47
- () => {
48
- try {
49
- const res2 = loaderFn(context, params);
50
- if (res2 instanceof Promise) {
51
- return res2;
52
- }
53
- return Promise.resolve(res2);
54
- } catch (e) {
55
- return Promise.reject(e);
56
- }
57
- },
58
- __spreadProps(__spreadValues({}, options), {
59
- params
60
- })
61
- );
62
- loaderRef.current = loaderManager.get(id);
63
- (_b = unlistenLoaderChangeRef.current) == null ? void 0 : _b.call(unlistenLoaderChangeRef);
64
- if (isSSRRender) {
65
- return void 0;
66
- }
67
- if (options.skip) {
68
- return void 0;
69
- }
70
- if (context._hydration && ((_e = (_d = (_c = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _c.data) == null ? void 0 : _d.loadersData[id]) == null ? void 0 : _e.error) === null) {
71
- return void 0;
72
- }
73
- const res = loaderRef.current.load();
74
- unlistenLoaderChangeRef.current = (_f = loaderRef.current) == null ? void 0 : _f.onChange(
75
- (_status, _result) => {
76
- var _a2, _b2;
77
- setResult(_result);
78
- if (_status === LoaderStatus.fulfilled) {
79
- (_a2 = options == null ? void 0 : options.onSuccess) == null ? void 0 : _a2.call(options, _result.data);
80
- }
81
- if (_status === LoaderStatus.rejected) {
82
- (_b2 = options == null ? void 0 : options.onError) == null ? void 0 : _b2.call(options, _result.error);
83
- }
84
- }
85
- );
86
- return res;
87
- },
88
- [options.skip]
89
- );
90
- useEffect(
91
- () => () => {
92
- var _a;
93
- (_a = unlistenLoaderChangeRef.current) == null ? void 0 : _a.call(unlistenLoaderChangeRef);
94
- },
95
- []
96
- );
97
- useMemo(() => {
98
- var _a;
99
- const p = (_a = options.params) != null ? _a : loaderFn.id;
100
- invariant(
101
- typeof p !== "undefined" && p !== null,
102
- "Params is required in useLoader"
103
- );
104
- load(p);
105
- }, [options.params]);
106
- const [result, setResult] = useState(loaderRef.current.result);
107
- return __spreadProps(__spreadValues({}, result), {
108
- reload: load
109
- });
110
- };
111
- var useLoader_default = useLoader;
112
- export {
113
- useLoader_default as default
114
- };
@@ -1,58 +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 {
22
- createManager,
23
- createPipeline,
24
- createAsyncPipeline
25
- } from "@modern-js/plugin";
26
- import { createLoaderManager } from "./loader/loaderManager";
27
- const hoc = createPipeline();
28
- const provide = createPipeline();
29
- const client = createAsyncPipeline();
30
- const server = createAsyncPipeline();
31
- const init = createAsyncPipeline();
32
- const pickContext = createPipeline();
33
- const runtimeHooks = {
34
- hoc,
35
- provide,
36
- client,
37
- server,
38
- init,
39
- pickContext
40
- };
41
- const createRuntime = () => createManager(runtimeHooks);
42
- const registerInit = (App, _init) => {
43
- const originalInit = App.init;
44
- App.init = (context) => __async(void 0, null, function* () {
45
- if (!context.loaderManager) {
46
- context.loaderManager = createLoaderManager({});
47
- }
48
- yield Promise.all([originalInit == null ? void 0 : originalInit(context), _init == null ? void 0 : _init(context)]);
49
- });
50
- };
51
- const runtime = createRuntime();
52
- const { createPlugin } = runtime;
53
- export {
54
- createPlugin,
55
- createRuntime,
56
- registerInit,
57
- runtime
58
- };
@@ -1,23 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useContext } from "react";
3
- import {
4
- DOCUMENT_CHUNKSMAP_PLACEHOLDER,
5
- DOCUMENT_SSRDATASCRIPT_PLACEHOLDER
6
- } from "./constants";
7
- import { DocumentStructureContext } from "./DocumentStructureContext";
8
- import { DefaultRoot } from "./Root";
9
- function Body(props) {
10
- const { hasSetRoot } = useContext(DocumentStructureContext);
11
- const { children } = props;
12
- return /* @__PURE__ */ jsxs("body", {
13
- children: [
14
- hasSetRoot ? null : /* @__PURE__ */ jsx(DefaultRoot, {}),
15
- children,
16
- `${DOCUMENT_CHUNKSMAP_PLACEHOLDER}`,
17
- `${DOCUMENT_SSRDATASCRIPT_PLACEHOLDER}`
18
- ]
19
- });
20
- }
21
- export {
22
- Body
23
- };
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- const DocumentContext = React.createContext({
3
- config: {},
4
- templateParams: {},
5
- processEnv: {}
6
- });
7
- export {
8
- DocumentContext
9
- };
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- const DocumentStructureContext = React.createContext({
3
- hasSetHead: false,
4
- hasSetScripts: false,
5
- hasSetBody: false,
6
- hasSetRoot: false,
7
- hasSetLinks: false
8
- });
9
- export {
10
- DocumentStructureContext
11
- };