@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,3 +1,4 @@
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 { styled_default as default };
@@ -1,2 +1,3 @@
1
- export { isBrowser } from "./common";
2
- export { createApp, createPlugin, useLoader, bootstrap, RuntimeReactContext, defineConfig, registerInit, useRuntimeContext } from "./core";
1
+ import { isBrowser } from "./common";
2
+ import { createApp, createPlugin, useLoader, bootstrap, RuntimeReactContext, defineConfig, registerInit, useRuntimeContext } from "./core";
3
+ export { RuntimeReactContext, bootstrap, createApp, createPlugin, defineConfig, isBrowser, registerInit, useLoader, useRuntimeContext };
@@ -0,0 +1 @@
1
+ "use strict";
@@ -1,102 +1,148 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import { getEntryOptions, createRuntimeExportsUtils, PLUGIN_SCHEMAS } from '@modern-js/utils';
3
- var PLUGIN_IDENTIFIER = 'router';
4
- var ROUTES_IDENTIFIER = 'routes';
5
- export default (function () {
6
- return {
7
- name: '@modern-js/plugin-router',
8
- required: ['@modern-js/runtime'],
9
- setup: function setup(api) {
10
- var runtimeConfigMap = new Map();
11
- var pluginsExportsUtils;
12
- return {
13
- config: function config() {
14
- var appContext = api.useAppContext();
15
- pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, 'plugins');
16
- return {
17
- source: {
18
- alias: {
19
- '@modern-js/runtime/plugins': pluginsExportsUtils.getPath()
20
- }
21
- }
22
- };
23
- },
24
- validateSchema: function validateSchema() {
25
- return PLUGIN_SCHEMAS['@modern-js/plugin-router'];
26
- },
27
- modifyEntryImports: function modifyEntryImports(_ref) {
28
- var _userConfig$runtime, _userConfig$runtime$r;
29
- var entrypoint = _ref.entrypoint,
30
- imports = _ref.imports;
31
- var entryName = entrypoint.entryName,
32
- fileSystemRoutes = entrypoint.fileSystemRoutes;
33
- var userConfig = api.useResolvedConfigContext();
34
- var 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);
35
- var _api$useAppContext = api.useAppContext(),
36
- packageName = _api$useAppContext.packageName;
37
- var runtimeConfig = getEntryOptions(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
38
- runtimeConfigMap.set(entryName, runtimeConfig);
39
- if (runtimeConfig !== null && runtimeConfig !== void 0 && runtimeConfig.router) {
40
- if (!isLegacy) {
41
- imports.push({
42
- value: '@modern-js/runtime/plugins',
43
- specifiers: [{
44
- imported: PLUGIN_IDENTIFIER
45
- }]
46
- });
47
- }
48
- } else if (fileSystemRoutes) {
49
- throw new Error("should enable runtime.router for entry ".concat(entryName));
50
- }
51
- return {
52
- entrypoint: entrypoint,
53
- imports: imports
54
- };
55
- },
56
- modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(_ref2) {
57
- var _userConfig$runtime2, _userConfig$runtime2$;
58
- var entrypoint = _ref2.entrypoint,
59
- plugins = _ref2.plugins;
60
- var entryName = entrypoint.entryName,
61
- fileSystemRoutes = entrypoint.fileSystemRoutes;
62
- var _api$useAppContext2 = api.useAppContext(),
63
- serverRoutes = _api$useAppContext2.serverRoutes;
64
- var userConfig = api.useResolvedConfigContext();
65
- var 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);
66
- var runtimeConfig = runtimeConfigMap.get(entryName);
67
- if (runtimeConfig.router && !isLegacy) {
68
- // Todo: plugin-router best to only handle manage client route.
69
- // here support base server route usage, part for compatibility
70
- var serverBase = serverRoutes.filter(function (route) {
71
- return route.entryName === entryName;
72
- }).map(function (route) {
73
- return route.urlPath;
74
- }).sort(function (a, b) {
75
- return a.length - b.length > 0 ? -1 : 1;
76
- });
77
- plugins.push({
78
- name: PLUGIN_IDENTIFIER,
79
- options: JSON.stringify(_objectSpread(_objectSpread({
80
- serverBase: serverBase
81
- }, runtimeConfig.router), {}, {
82
- routesConfig: fileSystemRoutes ? "{ ".concat(ROUTES_IDENTIFIER, ", globalApp: App }") : undefined
83
- })).replace(/"routesConfig"\s*:\s*"((\S|\s)+)"/g, '"routesConfig": $1,')
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _objectSpread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _defineProperty(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
84
36
  });
85
- }
86
- return {
87
- entrypoint: entrypoint,
88
- plugins: plugins
89
- };
90
- },
91
- addRuntimeExports: function addRuntimeExports() {
92
- var _userConfig$runtime3, _userConfig$runtime3$;
93
- var userConfig = api.useResolvedConfigContext();
94
- var 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);
95
- if (!isLegacy) {
96
- pluginsExportsUtils.addExport("export { default as router } from '@modern-js/runtime/router'");
97
- }
98
37
  }
99
- };
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _objectSpreadProps(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
100
50
  }
101
- };
102
- });
51
+ return target;
52
+ }
53
+ import { getEntryOptions, createRuntimeExportsUtils, PLUGIN_SCHEMAS } from "@modern-js/utils";
54
+ var PLUGIN_IDENTIFIER = "router";
55
+ var ROUTES_IDENTIFIER = "routes";
56
+ var isV5 = function(config) {
57
+ var ref, ref1;
58
+ return (config === null || config === void 0 ? void 0 : (ref = config.runtime) === null || ref === void 0 ? void 0 : (ref1 = ref.router) === null || ref1 === void 0 ? void 0 : ref1.mode) === "react-router-5";
59
+ };
60
+ var cli_default = function() {
61
+ return {
62
+ name: "@modern-js/plugin-router",
63
+ required: [
64
+ "@modern-js/runtime"
65
+ ],
66
+ setup: function(api) {
67
+ var runtimeConfigMap = /* @__PURE__ */ new Map();
68
+ var pluginsExportsUtils;
69
+ return {
70
+ config: function config() {
71
+ var appContext = api.useAppContext();
72
+ pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, "plugins");
73
+ return {
74
+ source: {
75
+ alias: {
76
+ "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
77
+ }
78
+ }
79
+ };
80
+ },
81
+ validateSchema: function validateSchema() {
82
+ return PLUGIN_SCHEMAS["@modern-js/plugin-router"];
83
+ },
84
+ modifyEntryImports: function modifyEntryImports(param) {
85
+ var entrypoint = param.entrypoint, imports = param.imports;
86
+ var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes;
87
+ var userConfig = api.useResolvedConfigContext();
88
+ var packageName = api.useAppContext().packageName;
89
+ var runtimeConfig = getEntryOptions(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
90
+ runtimeConfigMap.set(entryName, runtimeConfig);
91
+ if (runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) {
92
+ if (!isV5(userConfig)) {
93
+ imports.push({
94
+ value: "@modern-js/runtime/plugins",
95
+ specifiers: [
96
+ {
97
+ imported: PLUGIN_IDENTIFIER
98
+ }
99
+ ]
100
+ });
101
+ }
102
+ } else if (fileSystemRoutes) {
103
+ throw new Error("should enable runtime.router for entry ".concat(entryName));
104
+ }
105
+ return {
106
+ entrypoint: entrypoint,
107
+ imports: imports
108
+ };
109
+ },
110
+ modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(param) {
111
+ var entrypoint = param.entrypoint, plugins = param.plugins;
112
+ var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes;
113
+ var serverRoutes = api.useAppContext().serverRoutes;
114
+ var userConfig = api.useResolvedConfigContext();
115
+ var runtimeConfig = runtimeConfigMap.get(entryName);
116
+ if (runtimeConfig.router && !isV5(userConfig)) {
117
+ var serverBase = serverRoutes.filter(function(route) {
118
+ return route.entryName === entryName;
119
+ }).map(function(route) {
120
+ return route.urlPath;
121
+ }).sort(function(a, b) {
122
+ return a.length - b.length > 0 ? -1 : 1;
123
+ });
124
+ plugins.push({
125
+ name: PLUGIN_IDENTIFIER,
126
+ options: JSON.stringify(_objectSpreadProps(_objectSpread({
127
+ serverBase: serverBase
128
+ }, runtimeConfig.router), {
129
+ routesConfig: fileSystemRoutes ? "{ ".concat(ROUTES_IDENTIFIER, ", globalApp: App }") : void 0
130
+ })).replace(/"routesConfig"\s*:\s*"((\S|\s)+)"/g, '"routesConfig": $1,')
131
+ });
132
+ }
133
+ return {
134
+ entrypoint: entrypoint,
135
+ plugins: plugins
136
+ };
137
+ },
138
+ addRuntimeExports: function addRuntimeExports() {
139
+ var userConfig = api.useResolvedConfigContext();
140
+ if (!isV5(userConfig)) {
141
+ pluginsExportsUtils.addExport("export { default as router } from '@modern-js/runtime/router'");
142
+ }
143
+ }
144
+ };
145
+ }
146
+ };
147
+ };
148
+ export { cli_default as default };
@@ -1,3 +1,4 @@
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 { default3 as default, default2 as router };
@@ -1,15 +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 var DefaultNotFound = function DefaultNotFound() {
5
- return /*#__PURE__*/_jsx("div", {
6
- style: {
7
- margin: '150px auto',
8
- textAlign: 'center',
9
- display: 'flex',
10
- alignItems: 'center',
11
- justifyContent: 'center'
12
- },
13
- children: "404"
14
- });
15
- };
1
+ import { jsx } from "react/jsx-runtime";
2
+ var DefaultNotFound = function() {
3
+ return /* @__PURE__ */ jsx("div", {
4
+ style: {
5
+ margin: "150px auto",
6
+ textAlign: "center",
7
+ display: "flex",
8
+ alignItems: "center",
9
+ justifyContent: "center"
10
+ },
11
+ children: "404"
12
+ });
13
+ };
14
+ export { DefaultNotFound };
@@ -1,5 +1,6 @@
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 { runtime_default as default, modifyRoutes };
@@ -1,83 +1,132 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import React from 'react';
3
- import { createBrowserRouter, createHashRouter, RouterProvider, createRoutesFromElements } from 'react-router-dom';
4
- import hoistNonReactStatics from 'hoist-non-react-statics';
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _objectSpread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _defineProperty(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _objectSpreadProps(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ import { jsx } from "react/jsx-runtime";
54
+ import { createBrowserRouter, createHashRouter, RouterProvider, createRoutesFromElements, useMatches, useLocation } from "react-router-dom";
55
+ import hoistNonReactStatics from "hoist-non-react-statics";
5
56
  import { renderRoutes, urlJoin } from "./utils";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- // eslint-disable-next-line import/no-mutable-exports
8
- export var finalRouteConfig = {
9
- routes: []
57
+ var finalRouteConfig = {
58
+ routes: []
10
59
  };
11
- // eslint-disable-next-line import/no-mutable-exports
12
- export var beforeRenderRouter = true;
13
- export function modifyRoutes(modifyFunction) {
14
- if (beforeRenderRouter) {
15
- var _finalRouteConfig = finalRouteConfig,
16
- originRoutes = _finalRouteConfig.routes;
17
- var newRoutes = modifyFunction(originRoutes);
18
- finalRouteConfig.routes = newRoutes;
19
- } else {
20
- console.error('it is not allowed to modify routes config after router render.');
21
- }
60
+ var beforeCreateRouter = true;
61
+ function modifyRoutes(modifyFunction) {
62
+ if (beforeCreateRouter) {
63
+ var originRoutes = finalRouteConfig.routes;
64
+ var newRoutes = modifyFunction(originRoutes);
65
+ finalRouteConfig.routes = newRoutes;
66
+ } else {
67
+ console.error("It is not allowed to modify routes config after create router.");
68
+ }
22
69
  }
23
- export var routerPlugin = function routerPlugin(_ref) {
24
- var _ref$serverBase = _ref.serverBase,
25
- serverBase = _ref$serverBase === void 0 ? [] : _ref$serverBase,
26
- _ref$supportHtml5Hist = _ref.supportHtml5History,
27
- supportHtml5History = _ref$supportHtml5Hist === void 0 ? true : _ref$supportHtml5Hist,
28
- _ref$basename = _ref.basename,
29
- basename = _ref$basename === void 0 ? '' : _ref$basename,
30
- routesConfig = _ref.routesConfig,
31
- createRoutes = _ref.createRoutes;
32
- var select = function select(pathname) {
33
- return serverBase.find(function (baseUrl) {
34
- return pathname.search(baseUrl) === 0;
35
- }) || '/';
36
- };
37
- finalRouteConfig = routesConfig;
38
- return {
39
- name: '@modern-js/plugin-router',
40
- setup: function setup() {
41
- return {
42
- hoc: function hoc(_ref2, next) {
43
- var App = _ref2.App;
44
- // can not get routes config, skip wrapping React Router.
45
- // e.g. App.tsx as the entrypoint
46
- if (!finalRouteConfig && !createRoutes) {
47
- return next({
48
- App: App
49
- });
50
- }
51
- var getRouteApp = function getRouteApp() {
52
- return function (props) {
53
- var _window$_SERVER_DATA;
54
- beforeRenderRouter = true;
55
- var routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(finalRouteConfig));
56
- var baseUrl = ((_window$_SERVER_DATA = window._SERVER_DATA) === null || _window$_SERVER_DATA === void 0 ? void 0 : _window$_SERVER_DATA.router.baseUrl) || select(location.pathname);
57
- var _basename = baseUrl === '/' ? urlJoin(baseUrl, basename) : baseUrl;
58
- var router = supportHtml5History ? createBrowserRouter(routes, {
59
- basename: _basename
60
- }) : createHashRouter(routes, {
61
- basename: _basename
62
- });
63
- return /*#__PURE__*/_jsx(App, _objectSpread(_objectSpread({}, props), {}, {
64
- children: /*#__PURE__*/_jsx(RouterProvider, {
65
- router: router
66
- })
67
- }));
70
+ var routerPlugin = function(param) {
71
+ var _serverBase = param.serverBase, serverBase = _serverBase === void 0 ? [] : _serverBase, _supportHtml5History = param.supportHtml5History, supportHtml5History = _supportHtml5History === void 0 ? true : _supportHtml5History, _basename = param.basename, basename = _basename === void 0 ? "" : _basename, routesConfig = param.routesConfig, createRoutes = param.createRoutes;
72
+ var select = function(pathname) {
73
+ return serverBase.find(function(baseUrl) {
74
+ return pathname.search(baseUrl) === 0;
75
+ }) || "/";
76
+ };
77
+ finalRouteConfig = routesConfig;
78
+ return {
79
+ name: "@modern-js/plugin-router",
80
+ setup: function() {
81
+ return {
82
+ init: function init(param, next) {
83
+ var context = param.context;
84
+ context.router = {
85
+ useMatches: useMatches,
86
+ useLocation: useLocation
87
+ };
88
+ return next({
89
+ context: context
90
+ });
91
+ },
92
+ hoc: function(param, next) {
93
+ var App = param.App;
94
+ if (!finalRouteConfig && !createRoutes) {
95
+ return next({
96
+ App: App
97
+ });
98
+ }
99
+ var getRouteApp = function() {
100
+ return function(props) {
101
+ var ref;
102
+ beforeCreateRouter = true;
103
+ var routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(finalRouteConfig));
104
+ var baseUrl = ((ref = window._SERVER_DATA) === null || ref === void 0 ? void 0 : ref.router.baseUrl) || select(location.pathname);
105
+ var _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
106
+ var router = supportHtml5History ? createBrowserRouter(routes, {
107
+ basename: _basename
108
+ }) : createHashRouter(routes, {
109
+ basename: _basename
110
+ });
111
+ return /* @__PURE__ */ jsx(App, _objectSpreadProps(_objectSpread({}, props), {
112
+ children: /* @__PURE__ */ jsx(RouterProvider, {
113
+ router: router
114
+ })
115
+ }));
116
+ };
117
+ };
118
+ var RouteApp = getRouteApp();
119
+ if (routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp) {
120
+ return next({
121
+ App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
122
+ });
123
+ }
124
+ return next({
125
+ App: RouteApp
126
+ });
127
+ }
68
128
  };
69
- };
70
- var RouteApp = getRouteApp();
71
- if (routesConfig !== null && routesConfig !== void 0 && routesConfig.globalApp) {
72
- return next({
73
- App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
74
- });
75
- }
76
- return next({
77
- App: RouteApp
78
- });
79
129
  }
80
- };
81
- }
82
- };
83
- };
130
+ };
131
+ };
132
+ export { beforeCreateRouter, finalRouteConfig, modifyRoutes, routerPlugin };