@modern-js/runtime 2.0.0-canary.0 → 2.0.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 (280) hide show
  1. package/CHANGELOG.md +328 -0
  2. package/dist/js/modern/cli/index.js +49 -19
  3. package/dist/js/modern/cli/types.d.js +0 -0
  4. package/dist/js/modern/common.js +4 -1
  5. package/dist/js/modern/config.js +0 -0
  6. package/dist/js/modern/core/app-config.js +8 -9
  7. package/dist/js/modern/core/compatible.js +195 -169
  8. package/dist/js/modern/core/index.js +14 -6
  9. package/dist/js/modern/core/loader/index.js +4 -1
  10. package/dist/js/modern/core/loader/loaderManager.js +75 -77
  11. package/dist/js/modern/core/loader/useLoader.js +96 -69
  12. package/dist/js/modern/core/plugin.js +37 -20
  13. package/dist/js/modern/document/Body.js +20 -14
  14. package/dist/js/modern/document/DocumentContext.js +6 -3
  15. package/dist/js/modern/document/DocumentStructrueContext.js +8 -4
  16. package/dist/js/modern/document/Head.js +20 -17
  17. package/dist/js/modern/document/Html.js +44 -58
  18. package/dist/js/modern/document/Links.js +10 -0
  19. package/dist/js/modern/document/Root.js +22 -20
  20. package/dist/js/modern/document/Script.js +20 -0
  21. package/dist/js/modern/document/Scripts.js +7 -7
  22. package/dist/js/modern/document/cli/index.js +181 -85
  23. package/dist/js/modern/document/constants.js +45 -15
  24. package/dist/js/modern/document/index.js +3 -1
  25. package/dist/js/modern/document/type.d.js +0 -0
  26. package/dist/js/modern/exports/head.js +6 -3
  27. package/dist/js/modern/exports/loadable.js +6 -3
  28. package/dist/js/modern/exports/server.js +4 -1
  29. package/dist/js/modern/exports/styled.js +6 -3
  30. package/dist/js/modern/index.js +22 -2
  31. package/dist/js/modern/modern-app.env.d.js +0 -0
  32. package/dist/js/modern/router/cli/index.js +76 -60
  33. package/dist/js/modern/router/index.js +7 -3
  34. package/dist/js/modern/router/runtime/DefaultNotFound.js +11 -10
  35. package/dist/js/modern/router/runtime/index.js +8 -4
  36. package/dist/js/modern/router/runtime/plugin.js +69 -46
  37. package/dist/js/modern/router/runtime/plugin.node.js +88 -83
  38. package/dist/js/modern/router/runtime/root/index.js +10 -10
  39. package/dist/js/modern/router/runtime/root/load.js +57 -36
  40. package/dist/js/modern/router/runtime/server.js +1 -1
  41. package/dist/js/modern/router/runtime/types.js +0 -1
  42. package/dist/js/modern/router/runtime/utils.js +91 -66
  43. package/dist/js/modern/router/runtime/withRouter.js +31 -15
  44. package/dist/js/modern/runtime-context.js +7 -3
  45. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  46. package/dist/js/modern/ssr/cli/index.js +102 -79
  47. package/dist/js/modern/ssr/index.js +89 -71
  48. package/dist/js/modern/ssr/index.node.js +59 -37
  49. package/dist/js/modern/ssr/prefetch.js +64 -45
  50. package/dist/js/modern/ssr/react/index.js +6 -2
  51. package/dist/js/modern/ssr/react/nossr/index.js +8 -7
  52. package/dist/js/modern/ssr/react/prerender/index.js +53 -28
  53. package/dist/js/modern/ssr/react/prerender/util.js +38 -26
  54. package/dist/js/modern/ssr/react/withCallback/index.js +6 -7
  55. package/dist/js/modern/ssr/serverRender/helmet.js +18 -12
  56. package/dist/js/modern/ssr/serverRender/index.js +34 -13
  57. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +10 -12
  58. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -5
  59. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +35 -39
  60. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +36 -18
  61. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +7 -7
  62. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +56 -34
  63. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +6 -5
  64. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +13 -9
  65. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +101 -84
  66. package/dist/js/modern/ssr/serverRender/renderToString/index.js +32 -9
  67. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +21 -18
  68. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +6 -3
  69. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +6 -3
  70. package/dist/js/modern/ssr/serverRender/renderToString/template.js +22 -22
  71. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -6
  72. package/dist/js/modern/ssr/serverRender/types.js +3 -1
  73. package/dist/js/modern/ssr/serverRender/utils.js +11 -9
  74. package/dist/js/modern/ssr/type.d.js +0 -0
  75. package/dist/js/modern/ssr/utils.js +41 -21
  76. package/dist/js/modern/state/cli/index.js +43 -32
  77. package/dist/js/modern/state/index.js +7 -3
  78. package/dist/js/modern/state/plugins.js +13 -7
  79. package/dist/js/modern/state/runtime/index.js +9 -4
  80. package/dist/js/modern/state/runtime/plugin.js +56 -40
  81. package/dist/js/modern/state/types.js +0 -1
  82. package/dist/js/node/cli/index.js +79 -30
  83. package/dist/js/node/cli/types.d.js +0 -0
  84. package/dist/js/node/common.js +26 -7
  85. package/dist/js/node/config.js +15 -0
  86. package/dist/js/node/core/app-config.js +29 -14
  87. package/dist/js/node/core/compatible.js +227 -186
  88. package/dist/js/node/core/index.js +44 -99
  89. package/dist/js/node/core/loader/index.js +31 -11
  90. package/dist/js/node/core/loader/loaderManager.js +102 -83
  91. package/dist/js/node/core/loader/useLoader.js +120 -83
  92. package/dist/js/node/core/plugin.js +65 -35
  93. package/dist/js/node/document/Body.js +40 -23
  94. package/dist/js/node/document/DocumentContext.js +33 -9
  95. package/dist/js/node/document/DocumentStructrueContext.js +35 -10
  96. package/dist/js/node/document/Head.js +45 -27
  97. package/dist/js/node/document/Html.js +68 -65
  98. package/dist/js/node/document/Links.js +33 -0
  99. package/dist/js/node/document/Root.js +47 -31
  100. package/dist/js/node/document/Script.js +40 -0
  101. package/dist/js/node/document/Scripts.js +30 -14
  102. package/dist/js/node/document/cli/index.js +193 -95
  103. package/dist/js/node/document/constants.js +78 -28
  104. package/dist/js/node/document/index.js +26 -93
  105. package/dist/js/node/document/type.d.js +0 -0
  106. package/dist/js/node/exports/head.js +33 -22
  107. package/dist/js/node/exports/loadable.js +33 -22
  108. package/dist/js/node/exports/server.js +26 -7
  109. package/dist/js/node/exports/styled.js +33 -22
  110. package/dist/js/node/index.js +43 -60
  111. package/dist/js/node/modern-app.env.d.js +0 -0
  112. package/dist/js/node/router/cli/index.js +89 -65
  113. package/dist/js/node/router/index.js +33 -30
  114. package/dist/js/node/router/runtime/DefaultNotFound.js +32 -17
  115. package/dist/js/node/router/runtime/index.js +29 -38
  116. package/dist/js/node/router/runtime/plugin.js +91 -57
  117. package/dist/js/node/router/runtime/plugin.node.js +113 -93
  118. package/dist/js/node/router/runtime/root/index.js +37 -21
  119. package/dist/js/node/router/runtime/root/load.js +80 -42
  120. package/dist/js/node/router/runtime/server.js +17 -16
  121. package/dist/js/node/router/runtime/types.js +15 -5
  122. package/dist/js/node/router/runtime/utils.js +112 -75
  123. package/dist/js/node/router/runtime/withRouter.js +53 -22
  124. package/dist/js/node/runtime-context.js +30 -10
  125. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  126. package/dist/js/node/ssr/cli/index.js +119 -85
  127. package/dist/js/node/ssr/index.js +125 -104
  128. package/dist/js/node/ssr/index.node.js +86 -59
  129. package/dist/js/node/ssr/prefetch.js +84 -51
  130. package/dist/js/node/ssr/react/index.js +27 -16
  131. package/dist/js/node/ssr/react/nossr/index.js +37 -16
  132. package/dist/js/node/ssr/react/prerender/index.js +82 -45
  133. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  134. package/dist/js/node/ssr/react/prerender/util.js +63 -36
  135. package/dist/js/node/ssr/react/withCallback/index.js +29 -15
  136. package/dist/js/node/ssr/serverRender/helmet.js +37 -17
  137. package/dist/js/node/ssr/serverRender/index.js +55 -19
  138. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +40 -20
  139. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +32 -10
  140. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +63 -48
  141. package/dist/js/node/ssr/serverRender/renderToStream/index.js +69 -30
  142. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +29 -12
  143. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +75 -43
  144. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +29 -11
  145. package/dist/js/node/ssr/serverRender/renderToStream/template.js +36 -16
  146. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  147. package/dist/js/node/ssr/serverRender/renderToString/entry.js +135 -103
  148. package/dist/js/node/ssr/serverRender/renderToString/index.js +64 -20
  149. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +45 -26
  150. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +27 -7
  151. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +27 -8
  152. package/dist/js/node/ssr/serverRender/renderToString/template.js +44 -28
  153. package/dist/js/node/ssr/serverRender/renderToString/type.js +31 -12
  154. package/dist/js/node/ssr/serverRender/types.js +25 -10
  155. package/dist/js/node/ssr/serverRender/utils.js +31 -13
  156. package/dist/js/node/ssr/type.d.js +0 -0
  157. package/dist/js/node/ssr/utils.js +63 -29
  158. package/dist/js/node/state/cli/index.js +58 -37
  159. package/dist/js/node/state/index.js +33 -30
  160. package/dist/js/node/state/plugins.js +43 -22
  161. package/dist/js/node/state/runtime/index.js +36 -50
  162. package/dist/js/node/state/runtime/plugin.js +89 -68
  163. package/dist/js/node/state/types.js +15 -5
  164. package/dist/js/treeshaking/cli/index.js +180 -52
  165. package/dist/js/treeshaking/cli/types.d.js +1 -0
  166. package/dist/js/treeshaking/common.js +4 -3
  167. package/dist/js/treeshaking/config.js +1 -0
  168. package/dist/js/treeshaking/core/app-config.js +8 -13
  169. package/dist/js/treeshaking/core/compatible.js +473 -276
  170. package/dist/js/treeshaking/core/index.js +5 -6
  171. package/dist/js/treeshaking/core/loader/index.js +2 -1
  172. package/dist/js/treeshaking/core/loader/loaderManager.js +395 -224
  173. package/dist/js/treeshaking/core/loader/useLoader.js +181 -83
  174. package/dist/js/treeshaking/core/plugin.js +164 -48
  175. package/dist/js/treeshaking/document/Body.js +15 -11
  176. package/dist/js/treeshaking/document/DocumentContext.js +7 -6
  177. package/dist/js/treeshaking/document/DocumentStructrueContext.js +9 -7
  178. package/dist/js/treeshaking/document/Head.js +20 -17
  179. package/dist/js/treeshaking/document/Html.js +88 -93
  180. package/dist/js/treeshaking/document/Links.js +8 -0
  181. package/dist/js/treeshaking/document/Root.js +23 -21
  182. package/dist/js/treeshaking/document/Script.js +15 -0
  183. package/dist/js/treeshaking/document/Scripts.js +7 -9
  184. package/dist/js/treeshaking/document/cli/index.js +386 -168
  185. package/dist/js/treeshaking/document/constants.js +35 -16
  186. package/dist/js/treeshaking/document/index.js +3 -1
  187. package/dist/js/treeshaking/document/type.d.js +1 -0
  188. package/dist/js/treeshaking/exports/head.js +4 -3
  189. package/dist/js/treeshaking/exports/loadable.js +4 -3
  190. package/dist/js/treeshaking/exports/server.js +4 -3
  191. package/dist/js/treeshaking/exports/styled.js +4 -3
  192. package/dist/js/treeshaking/index.js +3 -2
  193. package/dist/js/treeshaking/modern-app.env.d.js +1 -0
  194. package/dist/js/treeshaking/router/cli/index.js +145 -99
  195. package/dist/js/treeshaking/router/index.js +4 -3
  196. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -15
  197. package/dist/js/treeshaking/router/runtime/index.js +5 -4
  198. package/dist/js/treeshaking/router/runtime/plugin.js +127 -78
  199. package/dist/js/treeshaking/router/runtime/plugin.node.js +375 -152
  200. package/dist/js/treeshaking/router/runtime/root/index.js +17 -15
  201. package/dist/js/treeshaking/router/runtime/root/load.js +290 -95
  202. package/dist/js/treeshaking/router/runtime/server.js +1 -1
  203. package/dist/js/treeshaking/router/runtime/types.js +1 -1
  204. package/dist/js/treeshaking/router/runtime/utils.js +230 -142
  205. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -18
  206. package/dist/js/treeshaking/runtime-context.js +4 -3
  207. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  208. package/dist/js/treeshaking/ssr/cli/index.js +210 -138
  209. package/dist/js/treeshaking/ssr/index.js +305 -144
  210. package/dist/js/treeshaking/ssr/index.node.js +234 -66
  211. package/dist/js/treeshaking/ssr/prefetch.js +196 -79
  212. package/dist/js/treeshaking/ssr/react/index.js +3 -2
  213. package/dist/js/treeshaking/ssr/react/nossr/index.js +57 -14
  214. package/dist/js/treeshaking/ssr/react/prerender/index.js +226 -89
  215. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  216. package/dist/js/treeshaking/ssr/react/prerender/util.js +96 -86
  217. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -15
  218. package/dist/js/treeshaking/ssr/serverRender/helmet.js +38 -34
  219. package/dist/js/treeshaking/ssr/serverRender/index.js +165 -37
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +33 -31
  221. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -7
  222. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +108 -60
  223. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +157 -42
  224. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +20 -20
  225. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +114 -63
  226. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -10
  227. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +61 -20
  228. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  229. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +380 -208
  230. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +161 -40
  231. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +51 -45
  232. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +9 -8
  233. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -8
  234. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +142 -64
  235. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -6
  236. package/dist/js/treeshaking/ssr/serverRender/types.js +1 -1
  237. package/dist/js/treeshaking/ssr/serverRender/utils.js +67 -26
  238. package/dist/js/treeshaking/ssr/type.d.js +1 -0
  239. package/dist/js/treeshaking/ssr/utils.js +128 -64
  240. package/dist/js/treeshaking/state/cli/index.js +70 -68
  241. package/dist/js/treeshaking/state/index.js +4 -3
  242. package/dist/js/treeshaking/state/plugins.js +12 -11
  243. package/dist/js/treeshaking/state/runtime/index.js +5 -4
  244. package/dist/js/treeshaking/state/runtime/plugin.js +189 -77
  245. package/dist/js/treeshaking/state/types.js +1 -1
  246. package/dist/types/cli/index.d.ts +2 -0
  247. package/dist/types/config.d.ts +8 -0
  248. package/dist/types/core/compatible.d.ts +2 -2
  249. package/dist/types/core/loader/loaderManager.d.ts +4 -3
  250. package/dist/types/core/loader/useLoader.d.ts +6 -1
  251. package/dist/types/core/plugin.d.ts +10 -5
  252. package/dist/types/document/DocumentContext.d.ts +1 -1
  253. package/dist/types/document/DocumentStructrueContext.d.ts +2 -1
  254. package/dist/types/document/Links.d.ts +2 -0
  255. package/dist/types/document/Script.d.ts +4 -0
  256. package/dist/types/document/cli/index.d.ts +2 -0
  257. package/dist/types/document/constants.d.ts +3 -0
  258. package/dist/types/document/index.d.ts +2 -0
  259. package/dist/types/exports/server.d.ts +3 -3
  260. package/dist/types/index.d.ts +1 -0
  261. package/dist/types/router/cli/index.d.ts +2 -0
  262. package/dist/types/router/runtime/plugin.d.ts +2 -2
  263. package/dist/types/router/runtime/types.d.ts +6 -4
  264. package/dist/types/ssr/cli/babel-plugin-ssr-loader-id.d.ts +1 -0
  265. package/dist/types/ssr/cli/index.d.ts +2 -0
  266. package/dist/types/ssr/react/prerender/type.d.ts +6 -6
  267. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +1 -1
  268. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +1 -1
  269. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +1 -1
  270. package/dist/types/ssr/serverRender/renderToStream/type.d.ts +1 -1
  271. package/dist/types/ssr/serverRender/renderToString/entry.d.ts +1 -1
  272. package/dist/types/ssr/serverRender/renderToString/template.d.ts +1 -1
  273. package/dist/types/ssr/serverRender/renderToString/type.d.ts +3 -3
  274. package/dist/types/ssr/serverRender/types.d.ts +3 -3
  275. package/dist/types/state/cli/index.d.ts +2 -0
  276. package/dist/types/state/runtime/plugin.d.ts +3 -3
  277. package/dist/types/state/types.d.ts +2 -1
  278. package/package.json +19 -16
  279. package/types/index.d.ts +8 -2
  280. package/types/router.d.ts +8 -2
@@ -1 +1,4 @@
1
- export const hook = attacher => attacher;
1
+ const hook = (attacher) => attacher;
2
+ export {
3
+ hook
4
+ };
@@ -1,3 +1,6 @@
1
- import styled from 'styled-components';
2
- export default styled;
3
- export * from 'styled-components';
1
+ import styled from "styled-components";
2
+ var styled_default = styled;
3
+ export * from "styled-components";
4
+ export {
5
+ styled_default as default
6
+ };
@@ -1,2 +1,22 @@
1
- export { isBrowser } from "./common";
2
- export { createApp, createPlugin, useLoader, bootstrap, RuntimeReactContext, defineConfig, registerInit, useRuntimeContext } from "./core";
1
+ import { isBrowser } from "./common";
2
+ import {
3
+ createApp,
4
+ createPlugin,
5
+ useLoader,
6
+ bootstrap,
7
+ RuntimeReactContext,
8
+ defineConfig,
9
+ registerInit,
10
+ useRuntimeContext
11
+ } from "./core";
12
+ export {
13
+ RuntimeReactContext,
14
+ bootstrap,
15
+ createApp,
16
+ createPlugin,
17
+ defineConfig,
18
+ isBrowser,
19
+ registerInit,
20
+ useLoader,
21
+ useRuntimeContext
22
+ };
File without changes
@@ -1,89 +1,102 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- import { getEntryOptions, createRuntimeExportsUtils, PLUGIN_SCHEMAS } from '@modern-js/utils';
5
- const PLUGIN_IDENTIFIER = 'router';
6
- const ROUTES_IDENTIFIER = 'routes';
7
- export default (() => ({
8
- name: '@modern-js/plugin-router',
9
- required: ['@modern-js/runtime'],
10
- setup: api => {
11
- const runtimeConfigMap = new Map();
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
+ getEntryOptions,
22
+ createRuntimeExportsUtils,
23
+ PLUGIN_SCHEMAS
24
+ } from "@modern-js/utils";
25
+ const PLUGIN_IDENTIFIER = "router";
26
+ const ROUTES_IDENTIFIER = "routes";
27
+ const isV5 = (config) => {
28
+ var _a, _b;
29
+ return ((_b = (_a = config == null ? void 0 : config.runtime) == null ? void 0 : _a.router) == null ? void 0 : _b.mode) === "react-router-5";
30
+ };
31
+ var cli_default = () => ({
32
+ name: "@modern-js/plugin-router",
33
+ required: ["@modern-js/runtime"],
34
+ setup: (api) => {
35
+ const runtimeConfigMap = /* @__PURE__ */ new Map();
12
36
  let pluginsExportsUtils;
13
37
  return {
14
38
  config() {
15
39
  const appContext = api.useAppContext();
16
- pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, 'plugins');
40
+ pluginsExportsUtils = createRuntimeExportsUtils(
41
+ appContext.internalDirectory,
42
+ "plugins"
43
+ );
17
44
  return {
18
45
  source: {
19
46
  alias: {
20
- '@modern-js/runtime/plugins': pluginsExportsUtils.getPath()
47
+ "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
21
48
  }
22
49
  }
23
50
  };
24
51
  },
25
52
  validateSchema() {
26
- return PLUGIN_SCHEMAS['@modern-js/plugin-router'];
53
+ return PLUGIN_SCHEMAS["@modern-js/plugin-router"];
27
54
  },
28
- modifyEntryImports({
29
- entrypoint,
30
- imports
31
- }) {
32
- var _userConfig$runtime, _userConfig$runtime$r;
33
- const {
34
- entryName,
35
- fileSystemRoutes
36
- } = entrypoint;
55
+ modifyEntryImports({ entrypoint, imports }) {
56
+ const { entryName, fileSystemRoutes } = entrypoint;
37
57
  const userConfig = api.useResolvedConfigContext();
38
- const isLegacy = Boolean(userConfig === null || userConfig === void 0 ? void 0 : (_userConfig$runtime = userConfig.runtime) === null || _userConfig$runtime === void 0 ? void 0 : (_userConfig$runtime$r = _userConfig$runtime.router) === null || _userConfig$runtime$r === void 0 ? void 0 : _userConfig$runtime$r.legacy);
39
- const {
58
+ const { packageName } = api.useAppContext();
59
+ const runtimeConfig = getEntryOptions(
60
+ entryName,
61
+ userConfig.runtime,
62
+ userConfig.runtimeByEntries,
40
63
  packageName
41
- } = api.useAppContext();
42
- const runtimeConfig = getEntryOptions(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
64
+ );
43
65
  runtimeConfigMap.set(entryName, runtimeConfig);
44
- if (runtimeConfig !== null && runtimeConfig !== void 0 && runtimeConfig.router) {
45
- if (!isLegacy) {
66
+ if (runtimeConfig == null ? void 0 : runtimeConfig.router) {
67
+ if (!isV5(userConfig)) {
46
68
  imports.push({
47
- value: '@modern-js/runtime/plugins',
48
- specifiers: [{
49
- imported: PLUGIN_IDENTIFIER
50
- }]
69
+ value: "@modern-js/runtime/plugins",
70
+ specifiers: [{ imported: PLUGIN_IDENTIFIER }]
51
71
  });
52
72
  }
53
73
  } else if (fileSystemRoutes) {
54
- throw new Error(`should enable runtime.router for entry ${entryName}`);
74
+ throw new Error(
75
+ `should enable runtime.router for entry ${entryName}`
76
+ );
55
77
  }
56
78
  return {
57
79
  entrypoint,
58
80
  imports
59
81
  };
60
82
  },
61
- modifyEntryRuntimePlugins({
62
- entrypoint,
63
- plugins
64
- }) {
65
- var _userConfig$runtime2, _userConfig$runtime2$;
66
- const {
67
- entryName,
68
- fileSystemRoutes
69
- } = entrypoint;
70
- const {
71
- serverRoutes
72
- } = api.useAppContext();
83
+ modifyEntryRuntimePlugins({ entrypoint, plugins }) {
84
+ const { entryName, fileSystemRoutes } = entrypoint;
85
+ const { serverRoutes } = api.useAppContext();
73
86
  const userConfig = api.useResolvedConfigContext();
74
- const isLegacy = Boolean(userConfig === null || userConfig === void 0 ? void 0 : (_userConfig$runtime2 = userConfig.runtime) === null || _userConfig$runtime2 === void 0 ? void 0 : (_userConfig$runtime2$ = _userConfig$runtime2.router) === null || _userConfig$runtime2$ === void 0 ? void 0 : _userConfig$runtime2$.legacy);
75
87
  const runtimeConfig = runtimeConfigMap.get(entryName);
76
- if (runtimeConfig.router && !isLegacy) {
77
- // Todo: plugin-router best to only handle manage client route.
78
- // here support base server route usage, part for compatibility
79
- const serverBase = serverRoutes.filter(route => route.entryName === entryName).map(route => route.urlPath).sort((a, b) => a.length - b.length > 0 ? -1 : 1);
88
+ if (runtimeConfig.router && !isV5(userConfig)) {
89
+ const serverBase = serverRoutes.filter((route) => route.entryName === entryName).map((route) => route.urlPath).sort((a, b) => a.length - b.length > 0 ? -1 : 1);
80
90
  plugins.push({
81
91
  name: PLUGIN_IDENTIFIER,
82
- options: JSON.stringify(_objectSpread(_objectSpread({
92
+ options: JSON.stringify(__spreadProps(__spreadValues({
83
93
  serverBase
84
- }, runtimeConfig.router), {}, {
85
- routesConfig: fileSystemRoutes ? `{ ${ROUTES_IDENTIFIER}, globalApp: App }` : undefined
86
- })).replace(/"routesConfig"\s*:\s*"((\S|\s)+)"/g, '"routesConfig": $1,')
94
+ }, runtimeConfig.router), {
95
+ routesConfig: fileSystemRoutes ? `{ ${ROUTES_IDENTIFIER}, globalApp: App }` : void 0
96
+ })).replace(
97
+ /"routesConfig"\s*:\s*"((\S|\s)+)"/g,
98
+ '"routesConfig": $1,'
99
+ )
87
100
  });
88
101
  }
89
102
  return {
@@ -92,13 +105,16 @@ export default (() => ({
92
105
  };
93
106
  },
94
107
  addRuntimeExports() {
95
- var _userConfig$runtime3, _userConfig$runtime3$;
96
108
  const userConfig = api.useResolvedConfigContext();
97
- const isLegacy = Boolean(userConfig === null || userConfig === void 0 ? void 0 : (_userConfig$runtime3 = userConfig.runtime) === null || _userConfig$runtime3 === void 0 ? void 0 : (_userConfig$runtime3$ = _userConfig$runtime3.router) === null || _userConfig$runtime3$ === void 0 ? void 0 : _userConfig$runtime3$.legacy);
98
- if (!isLegacy) {
99
- pluginsExportsUtils.addExport(`export { default as router } from '@modern-js/runtime/router'`);
109
+ if (!isV5(userConfig)) {
110
+ pluginsExportsUtils.addExport(
111
+ `export { default as router } from '@modern-js/runtime/router'`
112
+ );
100
113
  }
101
114
  }
102
115
  };
103
116
  }
104
- }));
117
+ });
118
+ export {
119
+ cli_default as default
120
+ };
@@ -1,3 +1,7 @@
1
- export { default as router } from "./runtime";
2
- export { default } from "./runtime";
3
- export * from "./runtime";
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 router
7
+ };
@@ -1,13 +1,14 @@
1
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
- import React from 'react';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- export const DefaultNotFound = () => /*#__PURE__*/_jsx("div", {
1
+ import { jsx } from "react/jsx-runtime";
2
+ const DefaultNotFound = () => /* @__PURE__ */ jsx("div", {
5
3
  style: {
6
- margin: '150px auto',
7
- textAlign: 'center',
8
- display: 'flex',
9
- alignItems: 'center',
10
- justifyContent: 'center'
4
+ margin: "150px auto",
5
+ textAlign: "center",
6
+ display: "flex",
7
+ alignItems: "center",
8
+ justifyContent: "center"
11
9
  },
12
10
  children: "404"
13
- });
11
+ });
12
+ export {
13
+ DefaultNotFound
14
+ };
@@ -1,5 +1,9 @@
1
1
  import { routerPlugin } from "./plugin";
2
- export default routerPlugin;
3
- export { modifyRoutes } from "./plugin";
4
- export * from 'react-router-dom';
5
- export * from "./withRouter";
2
+ var runtime_default = routerPlugin;
3
+ import { modifyRoutes } from "./plugin";
4
+ export * from "react-router-dom";
5
+ export * from "./withRouter";
6
+ export {
7
+ runtime_default as default,
8
+ modifyRoutes
9
+ };
@@ -1,72 +1,89 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- import React from 'react';
5
- import { createBrowserRouter, createHashRouter, RouterProvider, createRoutesFromElements } from 'react-router-dom';
6
- import hoistNonReactStatics from 'hoist-non-react-statics';
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 {
22
+ createBrowserRouter,
23
+ createHashRouter,
24
+ RouterProvider,
25
+ createRoutesFromElements,
26
+ useMatches,
27
+ useLocation
28
+ } from "react-router-dom";
29
+ import hoistNonReactStatics from "hoist-non-react-statics";
7
30
  import { renderRoutes, urlJoin } from "./utils";
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- // eslint-disable-next-line import/no-mutable-exports
10
- export let finalRouteConfig = {
31
+ let finalRouteConfig = {
11
32
  routes: []
12
33
  };
13
- // eslint-disable-next-line import/no-mutable-exports
14
- export let beforeRenderRouter = true;
15
- export function modifyRoutes(modifyFunction) {
16
- if (beforeRenderRouter) {
17
- const {
18
- routes: originRoutes
19
- } = finalRouteConfig;
34
+ let beforeCreateRouter = true;
35
+ function modifyRoutes(modifyFunction) {
36
+ if (beforeCreateRouter) {
37
+ const { routes: originRoutes } = finalRouteConfig;
20
38
  const newRoutes = modifyFunction(originRoutes);
21
39
  finalRouteConfig.routes = newRoutes;
22
40
  } else {
23
- console.error('it is not allowed to modify routes config after router render.');
41
+ console.error(
42
+ "It is not allowed to modify routes config after create router."
43
+ );
24
44
  }
25
45
  }
26
- export const routerPlugin = ({
27
- serverBase: _serverBase = [],
28
- supportHtml5History: _supportHtml5History = true,
29
- basename: _basename2 = '',
46
+ const routerPlugin = ({
47
+ serverBase = [],
48
+ supportHtml5History = true,
49
+ basename = "",
30
50
  routesConfig,
31
51
  createRoutes
32
52
  }) => {
33
- const select = pathname => _serverBase.find(baseUrl => pathname.search(baseUrl) === 0) || '/';
53
+ const select = (pathname) => serverBase.find((baseUrl) => pathname.search(baseUrl) === 0) || "/";
34
54
  finalRouteConfig = routesConfig;
35
55
  return {
36
- name: '@modern-js/plugin-router',
56
+ name: "@modern-js/plugin-router",
37
57
  setup: () => {
38
58
  return {
39
- hoc: ({
40
- App
41
- }, next) => {
42
- // can not get routes config, skip wrapping React Router.
43
- // e.g. App.tsx as the entrypoint
59
+ init({ context }, next) {
60
+ context.router = {
61
+ useMatches,
62
+ useLocation
63
+ };
64
+ return next({ context });
65
+ },
66
+ hoc: ({ App }, next) => {
44
67
  if (!finalRouteConfig && !createRoutes) {
45
- return next({
46
- App
47
- });
68
+ return next({ App });
48
69
  }
49
70
  const getRouteApp = () => {
50
- return props => {
51
- var _window$_SERVER_DATA;
52
- beforeRenderRouter = true;
71
+ return (props) => {
72
+ var _a;
73
+ beforeCreateRouter = true;
53
74
  const routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(finalRouteConfig));
54
- const baseUrl = ((_window$_SERVER_DATA = window._SERVER_DATA) === null || _window$_SERVER_DATA === void 0 ? void 0 : _window$_SERVER_DATA.router.baseUrl) || select(location.pathname);
55
- const _basename = baseUrl === '/' ? urlJoin(baseUrl, _basename2) : baseUrl;
56
- const router = _supportHtml5History ? createBrowserRouter(routes, {
57
- basename: _basename
58
- }) : createHashRouter(routes, {
59
- basename: _basename
60
- });
61
- return /*#__PURE__*/_jsx(App, _objectSpread(_objectSpread({}, props), {}, {
62
- children: /*#__PURE__*/_jsx(RouterProvider, {
63
- router: router
75
+ const baseUrl = ((_a = window._SERVER_DATA) == null ? void 0 : _a.router.baseUrl) || select(location.pathname);
76
+ const _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
77
+ const router = supportHtml5History ? createBrowserRouter(routes, { basename: _basename }) : createHashRouter(routes, { basename: _basename });
78
+ return /* @__PURE__ */ jsx(App, __spreadProps(__spreadValues({}, props), {
79
+ children: /* @__PURE__ */ jsx(RouterProvider, {
80
+ router
64
81
  })
65
82
  }));
66
83
  };
67
84
  };
68
85
  const RouteApp = getRouteApp();
69
- if (routesConfig !== null && routesConfig !== void 0 && routesConfig.globalApp) {
86
+ if (routesConfig == null ? void 0 : routesConfig.globalApp) {
70
87
  return next({
71
88
  App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
72
89
  });
@@ -78,4 +95,10 @@ export const routerPlugin = ({
78
95
  };
79
96
  }
80
97
  };
81
- };
98
+ };
99
+ export {
100
+ beforeCreateRouter,
101
+ finalRouteConfig,
102
+ modifyRoutes,
103
+ routerPlugin
104
+ };
@@ -1,44 +1,67 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- import React, { useContext } from 'react';
5
- import { unstable_createStaticHandler as createStaticHandler } from '@remix-run/router';
6
- import { unstable_createStaticRouter as createStaticRouter, unstable_StaticRouterProvider as StaticRouterProvider } from 'react-router-dom/server';
7
- import hoistNonReactStatics from 'hoist-non-react-statics';
8
- import { installGlobals } from '@remix-run/node';
9
- import { createRoutesFromElements } from 'react-router-dom';
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+ import { jsx } from "react/jsx-runtime";
41
+ import { useContext } from "react";
42
+ import { createStaticHandler } from "@remix-run/router";
43
+ import {
44
+ createStaticRouter,
45
+ StaticRouterProvider
46
+ } from "react-router-dom/server";
47
+ import hoistNonReactStatics from "hoist-non-react-statics";
48
+ import { installGlobals } from "@remix-run/node";
49
+ import { createRoutesFromElements } from "react-router-dom";
10
50
  import { RuntimeReactContext } from "../../core";
11
51
  import { renderRoutes, urlJoin } from "./utils";
12
-
13
- // Polyfill Web Fetch API
14
- import { jsx as _jsx } from "react/jsx-runtime";
15
52
  installGlobals();
16
-
17
- // TODO: polish
18
53
  function createFetchRequest(req) {
19
- // const origin = `${req.protocol}://${req.get('host')}`;
20
54
  const origin = `${req.protocol}://${req.host}`;
21
- // Note: This had to take originalUrl into account for presumably vite's proxying
22
55
  const url = new URL(req.originalUrl || req.url, origin);
23
56
  const controller = new AbortController();
24
-
25
- // req.on('close', () => {
26
- // controller.abort();
27
- // });
28
-
29
57
  const init = {
30
58
  method: req.method,
31
59
  headers: createFetchHeaders(req.headers),
32
60
  signal: controller.signal
33
61
  };
34
-
35
- // if (req.method !== 'GET' && req.method !== 'HEAD') {
36
- // init.body = req.body;
37
- // }
38
-
39
62
  return new Request(url.href, init);
40
63
  }
41
- export function createFetchHeaders(requestHeaders) {
64
+ function createFetchHeaders(requestHeaders) {
42
65
  const headers = new Headers();
43
66
  for (const [key, values] of Object.entries(requestHeaders)) {
44
67
  if (values) {
@@ -53,72 +76,50 @@ export function createFetchHeaders(requestHeaders) {
53
76
  }
54
77
  return headers;
55
78
  }
56
- export const routerPlugin = ({
57
- basename: _basename2 = '',
79
+ const routerPlugin = ({
80
+ basename = "",
58
81
  routesConfig,
59
82
  createRoutes
60
83
  }) => {
61
84
  return {
62
- name: '@modern-js/plugin-router',
85
+ name: "@modern-js/plugin-router",
63
86
  setup: () => {
64
87
  return {
65
- async init({
66
- context
67
- }, next) {
68
- // can not get routes config, skip wrapping React Router.
69
- // e.g. App.tsx as the entrypoint
70
- if (!routesConfig && !createRoutes) {
71
- return next({
72
- context
88
+ init(_0, _1) {
89
+ return __async(this, arguments, function* ({ context }, next) {
90
+ if (!routesConfig && !createRoutes) {
91
+ return next({ context });
92
+ }
93
+ const { request } = context.ssrContext;
94
+ const baseUrl = request.baseUrl;
95
+ const _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
96
+ const routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(routesConfig));
97
+ const { query } = createStaticHandler(routes, {
98
+ basename: _basename
73
99
  });
74
- }
75
- const {
76
- request
77
- } = context.ssrContext;
78
- const baseUrl = request.baseUrl;
79
- const _basename = baseUrl === '/' ? urlJoin(baseUrl, _basename2) : baseUrl;
80
- const routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(routesConfig));
81
- const {
82
- query
83
- } = createStaticHandler(routes, {
84
- basename: _basename
85
- });
86
- const remixRequest = createFetchRequest(request);
87
- const routerContext = await query(remixRequest);
88
- if (routerContext instanceof Response) {
89
- // React Router would return a Response when redirects occur in loader.
90
- // Throw the Response to bail out and let the server handle it with an HTTP redirect
91
- return routerContext;
92
- }
93
- const router = createStaticRouter(routes, routerContext);
94
- context.router = router;
95
- context.routerContext = routerContext;
96
- context.routes = routes;
97
- // set routeManifest in context to be consistent with csr context
98
- context.routeManifest = context.ssrContext.routeManifest;
99
- return next({
100
- context
100
+ const remixRequest = createFetchRequest(request);
101
+ const routerContext = yield query(remixRequest);
102
+ if (routerContext instanceof Response) {
103
+ return routerContext;
104
+ }
105
+ const router = createStaticRouter(routes, routerContext);
106
+ context.router = router;
107
+ context.routerContext = routerContext;
108
+ context.routes = routes;
109
+ context.routeManifest = context.ssrContext.routeManifest;
110
+ return next({ context });
101
111
  });
102
112
  },
103
- hoc: ({
104
- App
105
- }, next) => {
106
- // can not get routes config, skip wrapping React Router.
107
- // e.g. App.tsx as the entrypoint
113
+ hoc: ({ App }, next) => {
108
114
  if (!routesConfig) {
109
- return next({
110
- App
111
- });
115
+ return next({ App });
112
116
  }
113
117
  const getRouteApp = () => {
114
- return props => {
115
- const {
116
- router,
117
- routerContext
118
- } = useContext(RuntimeReactContext);
119
- return /*#__PURE__*/_jsx(App, _objectSpread(_objectSpread({}, props), {}, {
120
- children: /*#__PURE__*/_jsx(StaticRouterProvider, {
121
- router: router,
118
+ return (props) => {
119
+ const { router, routerContext } = useContext(RuntimeReactContext);
120
+ return /* @__PURE__ */ jsx(App, __spreadProps(__spreadValues({}, props), {
121
+ children: /* @__PURE__ */ jsx(StaticRouterProvider, {
122
+ router,
122
123
  context: routerContext,
123
124
  nonce: "the-nonce"
124
125
  })
@@ -126,7 +127,7 @@ export const routerPlugin = ({
126
127
  };
127
128
  };
128
129
  const RouteApp = getRouteApp();
129
- if (routesConfig !== null && routesConfig !== void 0 && routesConfig.globalApp) {
130
+ if (routesConfig == null ? void 0 : routesConfig.globalApp) {
130
131
  return next({
131
132
  App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
132
133
  });
@@ -138,4 +139,8 @@ export const routerPlugin = ({
138
139
  };
139
140
  }
140
141
  };
141
- };
142
+ };
143
+ export {
144
+ createFetchHeaders,
145
+ routerPlugin
146
+ };