@modern-js/runtime 2.16.1-alpha.1 → 2.17.1

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 (233) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/router/runtime/index.js +1 -1
  3. package/dist/esm/router/runtime/index.js +1 -1
  4. package/dist/esm-node/router/runtime/index.js +1 -1
  5. package/package.json +9 -9
  6. package/dist/js/modern/cli/index.js +0 -72
  7. package/dist/js/modern/common.js +0 -4
  8. package/dist/js/modern/config.js +0 -0
  9. package/dist/js/modern/core/app-config.js +0 -10
  10. package/dist/js/modern/core/compatible.js +0 -285
  11. package/dist/js/modern/core/index.js +0 -16
  12. package/dist/js/modern/core/loader/index.js +0 -4
  13. package/dist/js/modern/core/loader/loaderManager.js +0 -165
  14. package/dist/js/modern/core/loader/useLoader.js +0 -114
  15. package/dist/js/modern/core/plugin.js +0 -58
  16. package/dist/js/modern/document/Body.js +0 -23
  17. package/dist/js/modern/document/DocumentContext.js +0 -9
  18. package/dist/js/modern/document/DocumentStructrueContext.js +0 -11
  19. package/dist/js/modern/document/Head.js +0 -27
  20. package/dist/js/modern/document/Html.js +0 -78
  21. package/dist/js/modern/document/Links.js +0 -10
  22. package/dist/js/modern/document/Root.js +0 -33
  23. package/dist/js/modern/document/Script.js +0 -20
  24. package/dist/js/modern/document/Scripts.js +0 -10
  25. package/dist/js/modern/document/cli/index.js +0 -228
  26. package/dist/js/modern/document/constants.js +0 -49
  27. package/dist/js/modern/document/index.js +0 -10
  28. package/dist/js/modern/exports/head.js +0 -6
  29. package/dist/js/modern/exports/loadable.js +0 -6
  30. package/dist/js/modern/exports/server.js +0 -4
  31. package/dist/js/modern/exports/styled.js +0 -6
  32. package/dist/js/modern/index.js +0 -22
  33. package/dist/js/modern/router/cli/index.js +0 -120
  34. package/dist/js/modern/router/index.js +0 -7
  35. package/dist/js/modern/router/runtime/DefaultNotFound.js +0 -14
  36. package/dist/js/modern/router/runtime/index.js +0 -9
  37. package/dist/js/modern/router/runtime/plugin.js +0 -104
  38. package/dist/js/modern/router/runtime/plugin.node.js +0 -149
  39. package/dist/js/modern/router/runtime/server.js +0 -1
  40. package/dist/js/modern/router/runtime/types.js +0 -0
  41. package/dist/js/modern/router/runtime/utils.js +0 -196
  42. package/dist/js/modern/router/runtime/withRouter.js +0 -36
  43. package/dist/js/modern/runtime-context.js +0 -7
  44. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +0 -130
  45. package/dist/js/modern/ssr/cli/index.js +0 -172
  46. package/dist/js/modern/ssr/index.js +0 -159
  47. package/dist/js/modern/ssr/index.node.js +0 -79
  48. package/dist/js/modern/ssr/prefetch.js +0 -69
  49. package/dist/js/modern/ssr/react/index.js +0 -6
  50. package/dist/js/modern/ssr/react/nossr/index.js +0 -14
  51. package/dist/js/modern/ssr/react/prerender/index.js +0 -108
  52. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  53. package/dist/js/modern/ssr/react/prerender/util.js +0 -96
  54. package/dist/js/modern/ssr/react/withCallback/index.js +0 -15
  55. package/dist/js/modern/ssr/serverRender/helmet.js +0 -44
  56. package/dist/js/modern/ssr/serverRender/index.js +0 -35
  57. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -36
  58. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -11
  59. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -61
  60. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +0 -58
  61. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +0 -24
  62. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +0 -94
  63. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +0 -12
  64. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +0 -22
  65. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  66. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +0 -171
  67. package/dist/js/modern/ssr/serverRender/renderToString/index.js +0 -52
  68. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +0 -48
  69. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +0 -8
  70. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +0 -11
  71. package/dist/js/modern/ssr/serverRender/renderToString/template.js +0 -58
  72. package/dist/js/modern/ssr/serverRender/renderToString/type.js +0 -9
  73. package/dist/js/modern/ssr/serverRender/types.js +0 -4
  74. package/dist/js/modern/ssr/serverRender/utils.js +0 -22
  75. package/dist/js/modern/ssr/utils.js +0 -81
  76. package/dist/js/modern/state/cli/index.js +0 -83
  77. package/dist/js/modern/state/index.js +0 -7
  78. package/dist/js/modern/state/plugins.js +0 -13
  79. package/dist/js/modern/state/runtime/index.js +0 -9
  80. package/dist/js/modern/state/runtime/plugin.js +0 -97
  81. package/dist/js/modern/state/types.js +0 -0
  82. package/dist/js/node/cli/index.js +0 -99
  83. package/dist/js/node/common.js +0 -27
  84. package/dist/js/node/config.js +0 -15
  85. package/dist/js/node/core/app-config.js +0 -34
  86. package/dist/js/node/core/compatible.js +0 -312
  87. package/dist/js/node/core/index.js +0 -47
  88. package/dist/js/node/core/loader/index.js +0 -33
  89. package/dist/js/node/core/loader/loaderManager.js +0 -195
  90. package/dist/js/node/core/loader/useLoader.js +0 -132
  91. package/dist/js/node/core/plugin.js +0 -80
  92. package/dist/js/node/document/Body.js +0 -43
  93. package/dist/js/node/document/DocumentContext.js +0 -38
  94. package/dist/js/node/document/DocumentStructrueContext.js +0 -40
  95. package/dist/js/node/document/Head.js +0 -51
  96. package/dist/js/node/document/Html.js +0 -101
  97. package/dist/js/node/document/Links.js +0 -33
  98. package/dist/js/node/document/Root.js +0 -57
  99. package/dist/js/node/document/Script.js +0 -40
  100. package/dist/js/node/document/Scripts.js +0 -33
  101. package/dist/js/node/document/cli/index.js +0 -240
  102. package/dist/js/node/document/constants.js +0 -86
  103. package/dist/js/node/document/index.js +0 -26
  104. package/dist/js/node/exports/head.js +0 -34
  105. package/dist/js/node/exports/loadable.js +0 -34
  106. package/dist/js/node/exports/server.js +0 -27
  107. package/dist/js/node/exports/styled.js +0 -34
  108. package/dist/js/node/index.js +0 -44
  109. package/dist/js/node/router/cli/index.js +0 -135
  110. package/dist/js/node/router/index.js +0 -37
  111. package/dist/js/node/router/runtime/DefaultNotFound.js +0 -37
  112. package/dist/js/node/router/runtime/index.js +0 -33
  113. package/dist/js/node/router/runtime/plugin.js +0 -127
  114. package/dist/js/node/router/runtime/plugin.node.js +0 -175
  115. package/dist/js/node/router/runtime/server.js +0 -17
  116. package/dist/js/node/router/runtime/types.js +0 -15
  117. package/dist/js/node/router/runtime/utils.js +0 -221
  118. package/dist/js/node/router/runtime/withRouter.js +0 -57
  119. package/dist/js/node/runtime-context.js +0 -31
  120. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +0 -139
  121. package/dist/js/node/ssr/cli/index.js +0 -190
  122. package/dist/js/node/ssr/index.js +0 -185
  123. package/dist/js/node/ssr/index.node.js +0 -107
  124. package/dist/js/node/ssr/prefetch.js +0 -90
  125. package/dist/js/node/ssr/react/index.js +0 -30
  126. package/dist/js/node/ssr/react/nossr/index.js +0 -43
  127. package/dist/js/node/ssr/react/prerender/index.js +0 -130
  128. package/dist/js/node/ssr/react/prerender/type.js +0 -15
  129. package/dist/js/node/ssr/react/prerender/util.js +0 -123
  130. package/dist/js/node/ssr/react/withCallback/index.js +0 -38
  131. package/dist/js/node/ssr/serverRender/helmet.js +0 -65
  132. package/dist/js/node/ssr/serverRender/index.js +0 -56
  133. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -65
  134. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -35
  135. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -87
  136. package/dist/js/node/ssr/serverRender/renderToStream/index.js +0 -87
  137. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +0 -47
  138. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +0 -111
  139. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +0 -35
  140. package/dist/js/node/ssr/serverRender/renderToStream/template.js +0 -45
  141. package/dist/js/node/ssr/serverRender/renderToStream/type.js +0 -15
  142. package/dist/js/node/ssr/serverRender/renderToString/entry.js +0 -196
  143. package/dist/js/node/ssr/serverRender/renderToString/index.js +0 -81
  144. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +0 -71
  145. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +0 -31
  146. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +0 -34
  147. package/dist/js/node/ssr/serverRender/renderToString/template.js +0 -82
  148. package/dist/js/node/ssr/serverRender/renderToString/type.js +0 -32
  149. package/dist/js/node/ssr/serverRender/types.js +0 -27
  150. package/dist/js/node/ssr/serverRender/utils.js +0 -46
  151. package/dist/js/node/ssr/utils.js +0 -106
  152. package/dist/js/node/state/cli/index.js +0 -100
  153. package/dist/js/node/state/index.js +0 -37
  154. package/dist/js/node/state/plugins.js +0 -45
  155. package/dist/js/node/state/runtime/index.js +0 -40
  156. package/dist/js/node/state/runtime/plugin.js +0 -121
  157. package/dist/js/node/state/types.js +0 -15
  158. package/dist/js/treeshaking/cli/index.js +0 -186
  159. package/dist/js/treeshaking/common.js +0 -4
  160. package/dist/js/treeshaking/config.js +0 -1
  161. package/dist/js/treeshaking/core/app-config.js +0 -9
  162. package/dist/js/treeshaking/core/compatible.js +0 -485
  163. package/dist/js/treeshaking/core/index.js +0 -7
  164. package/dist/js/treeshaking/core/loader/index.js +0 -2
  165. package/dist/js/treeshaking/core/loader/loaderManager.js +0 -406
  166. package/dist/js/treeshaking/core/loader/useLoader.js +0 -188
  167. package/dist/js/treeshaking/core/plugin.js +0 -176
  168. package/dist/js/treeshaking/document/Body.js +0 -18
  169. package/dist/js/treeshaking/document/DocumentContext.js +0 -7
  170. package/dist/js/treeshaking/document/DocumentStructrueContext.js +0 -9
  171. package/dist/js/treeshaking/document/Head.js +0 -24
  172. package/dist/js/treeshaking/document/Html.js +0 -99
  173. package/dist/js/treeshaking/document/Links.js +0 -8
  174. package/dist/js/treeshaking/document/Root.js +0 -26
  175. package/dist/js/treeshaking/document/Script.js +0 -15
  176. package/dist/js/treeshaking/document/Scripts.js +0 -8
  177. package/dist/js/treeshaking/document/cli/index.js +0 -393
  178. package/dist/js/treeshaking/document/constants.js +0 -35
  179. package/dist/js/treeshaking/document/index.js +0 -10
  180. package/dist/js/treeshaking/exports/head.js +0 -4
  181. package/dist/js/treeshaking/exports/loadable.js +0 -4
  182. package/dist/js/treeshaking/exports/server.js +0 -4
  183. package/dist/js/treeshaking/exports/styled.js +0 -4
  184. package/dist/js/treeshaking/index.js +0 -3
  185. package/dist/js/treeshaking/router/cli/index.js +0 -148
  186. package/dist/js/treeshaking/router/index.js +0 -4
  187. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +0 -14
  188. package/dist/js/treeshaking/router/runtime/index.js +0 -6
  189. package/dist/js/treeshaking/router/runtime/plugin.js +0 -132
  190. package/dist/js/treeshaking/router/runtime/plugin.node.js +0 -390
  191. package/dist/js/treeshaking/router/runtime/server.js +0 -1
  192. package/dist/js/treeshaking/router/runtime/types.js +0 -1
  193. package/dist/js/treeshaking/router/runtime/utils.js +0 -260
  194. package/dist/js/treeshaking/router/runtime/withRouter.js +0 -67
  195. package/dist/js/treeshaking/runtime-context.js +0 -4
  196. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +0 -122
  197. package/dist/js/treeshaking/ssr/cli/index.js +0 -217
  198. package/dist/js/treeshaking/ssr/index.js +0 -315
  199. package/dist/js/treeshaking/ssr/index.node.js +0 -240
  200. package/dist/js/treeshaking/ssr/prefetch.js +0 -199
  201. package/dist/js/treeshaking/ssr/react/index.js +0 -3
  202. package/dist/js/treeshaking/ssr/react/nossr/index.js +0 -58
  203. package/dist/js/treeshaking/ssr/react/prerender/index.js +0 -237
  204. package/dist/js/treeshaking/ssr/react/prerender/type.js +0 -1
  205. package/dist/js/treeshaking/ssr/react/prerender/util.js +0 -108
  206. package/dist/js/treeshaking/ssr/react/withCallback/index.js +0 -16
  207. package/dist/js/treeshaking/ssr/serverRender/helmet.js +0 -42
  208. package/dist/js/treeshaking/ssr/serverRender/index.js +0 -169
  209. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -34
  210. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -7
  211. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -115
  212. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +0 -165
  213. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +0 -22
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +0 -119
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +0 -11
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +0 -63
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +0 -1
  218. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +0 -393
  219. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +0 -165
  220. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +0 -56
  221. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +0 -10
  222. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +0 -9
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +0 -156
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +0 -7
  225. package/dist/js/treeshaking/ssr/serverRender/types.js +0 -2
  226. package/dist/js/treeshaking/ssr/serverRender/utils.js +0 -69
  227. package/dist/js/treeshaking/ssr/utils.js +0 -134
  228. package/dist/js/treeshaking/state/cli/index.js +0 -71
  229. package/dist/js/treeshaking/state/index.js +0 -4
  230. package/dist/js/treeshaking/state/plugins.js +0 -14
  231. package/dist/js/treeshaking/state/runtime/index.js +0 -5
  232. package/dist/js/treeshaking/state/runtime/plugin.js +0 -198
  233. package/dist/js/treeshaking/state/types.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @modern-js/runtime
2
2
 
3
+ ## 2.17.1
4
+
5
+ ### Patch Changes
6
+
7
+ - @modern-js/plugin@2.17.1
8
+ - @modern-js/types@2.17.1
9
+ - @modern-js/utils@2.17.1
10
+
11
+ ## 2.17.0
12
+
13
+ ### Patch Changes
14
+
15
+ - 3810930: fix: optimize alias for plugin-express & export useBlocker
16
+ fix: 优化 plugin-express 的 alias 的实现 & 导出 useBlocker
17
+ - @modern-js/plugin@2.17.0
18
+ - @modern-js/types@2.17.0
19
+ - @modern-js/utils@2.17.0
20
+
3
21
  ## 2.16.0
4
22
 
5
23
  ### Patch Changes
@@ -97,6 +97,6 @@ function _export_star(from, to) {
97
97
  }
98
98
  const _default = _plugin.routerPlugin;
99
99
  const useRouteLoaderData = (routeId) => {
100
- const realRouteId = routeId.replace(/\[(.*?)\]/g, "($1)");
100
+ const realRouteId = routeId.replace(/\((.*?)\)/g, "[$1]");
101
101
  return (0, _reactrouterdom.useRouteLoaderData)(realRouteId);
102
102
  };
@@ -5,7 +5,7 @@ export { modifyRoutes } from "./plugin";
5
5
  export * from "./withRouter";
6
6
  export { Link, NavLink } from "./PrefetchLink";
7
7
  export var useRouteLoaderData = function(routeId) {
8
- var realRouteId = routeId.replace(/\[(.*?)\]/g, "($1)");
8
+ var realRouteId = routeId.replace(/\((.*?)\)/g, "[$1]");
9
9
  return useRouteData(realRouteId);
10
10
  };
11
11
  export {
@@ -5,7 +5,7 @@ export { modifyRoutes } from "./plugin";
5
5
  export * from "./withRouter";
6
6
  export { Link, NavLink } from "./PrefetchLink";
7
7
  export const useRouteLoaderData = (routeId) => {
8
- const realRouteId = routeId.replace(/\[(.*?)\]/g, "($1)");
8
+ const realRouteId = routeId.replace(/\((.*?)\)/g, "[$1]");
9
9
  return useRouteData(realRouteId);
10
10
  };
11
11
  export {
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.16.1-alpha.1",
18
+ "version": "2.17.1",
19
19
  "engines": {
20
20
  "node": ">=14.17.6"
21
21
  },
@@ -162,9 +162,9 @@
162
162
  "react-side-effect": "^2.1.1",
163
163
  "redux-logger": "^3.0.6",
164
164
  "styled-components": "^5.3.1",
165
- "@modern-js/plugin": "2.16.0",
166
- "@modern-js/types": "2.16.0",
167
- "@modern-js/utils": "2.16.0"
165
+ "@modern-js/plugin": "2.17.1",
166
+ "@modern-js/types": "2.17.1",
167
+ "@modern-js/utils": "2.17.1"
168
168
  },
169
169
  "peerDependencies": {
170
170
  "react": ">=17",
@@ -184,11 +184,11 @@
184
184
  "react-dom": "^18",
185
185
  "ts-jest": "^29.0.5",
186
186
  "typescript": "^4",
187
- "@scripts/build": "2.16.0",
188
- "@modern-js/app-tools": "2.16.0",
189
- "@modern-js/core": "2.16.0",
190
- "@modern-js/server-core": "2.16.0",
191
- "@scripts/jest-config": "2.16.0"
187
+ "@modern-js/app-tools": "2.17.1",
188
+ "@modern-js/core": "2.17.1",
189
+ "@modern-js/server-core": "2.17.1",
190
+ "@scripts/build": "2.17.1",
191
+ "@scripts/jest-config": "2.17.1"
192
192
  },
193
193
  "sideEffects": false,
194
194
  "modernConfig": {},
@@ -1,72 +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 path from "path";
22
- import { PLUGIN_SCHEMAS, cleanRequireCache, isReact18 } from "@modern-js/utils";
23
- import PluginState from "../state/cli";
24
- import PluginSSR from "../ssr/cli";
25
- import PluginRouter from "../router/cli";
26
- import Document from "../document/cli";
27
- var cli_default = () => ({
28
- name: "@modern-js/runtime",
29
- post: [
30
- "@modern-js/plugin-router",
31
- "@modern-js/plugin-ssr",
32
- "@modern-js/plugin-document",
33
- "@modern-js/plugin-state",
34
- "@modern-js/plugin-design-token"
35
- ],
36
- usePlugins: [PluginState(), PluginSSR(), PluginRouter(), Document()],
37
- setup: (api) => {
38
- return {
39
- config() {
40
- const dir = api.useAppContext().internalDirectory || "";
41
- process.env.IS_REACT18 = isReact18(path.join(dir, "../../")).toString();
42
- return {
43
- runtime: {},
44
- runtimeByEntries: {},
45
- source: {
46
- alias: {
47
- "styled-components": require.resolve("styled-components")
48
- },
49
- globalVars: {
50
- "process.env.IS_REACT18": process.env.IS_REACT18
51
- }
52
- }
53
- };
54
- },
55
- validateSchema() {
56
- return PLUGIN_SCHEMAS["@modern-js/runtime"];
57
- },
58
- beforeRestart() {
59
- return __async(this, null, function* () {
60
- cleanRequireCache([
61
- require.resolve("../state/cli"),
62
- require.resolve("../router/cli"),
63
- require.resolve("../ssr/cli")
64
- ]);
65
- });
66
- }
67
- };
68
- }
69
- });
70
- export {
71
- cli_default as default
72
- };
@@ -1,4 +0,0 @@
1
- const isBrowser = () => typeof window !== "undefined" && window.name !== "nodejs";
2
- export {
3
- isBrowser
4
- };
File without changes
@@ -1,10 +0,0 @@
1
- const APP_CONFIG_SYMBOL = "config";
2
- const getConfig = (Component) => Component[APP_CONFIG_SYMBOL];
3
- const defineConfig = (Component, config) => {
4
- Component[APP_CONFIG_SYMBOL] = config;
5
- return Component;
6
- };
7
- export {
8
- defineConfig,
9
- getConfig
10
- };
@@ -1,285 +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.status = status;
252
- ssrContext.redirection.url = redirectUrl;
253
- }
254
- return true;
255
- }
256
- return false;
257
- };
258
- const initialData = yield runInit(context);
259
- if (!isRedirectResponse(initialData)) {
260
- context.initialData = initialData;
261
- return runner.server({
262
- App,
263
- context
264
- });
265
- }
266
- }
267
- });
268
- const useRuntimeContext = () => {
269
- const context = useContext(RuntimeReactContext);
270
- const memoizedContext = useMemo(
271
- () => context.runner.pickContext(
272
- { context, pickedContext: {} },
273
- {
274
- onLast: ({ pickedContext }) => pickedContext
275
- }
276
- ),
277
- [context]
278
- );
279
- return memoizedContext;
280
- };
281
- export {
282
- bootstrap,
283
- createApp,
284
- useRuntimeContext
285
- };
@@ -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
- };