@modern-js/runtime 2.49.3-alpha.0 → 2.49.3

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 (238) hide show
  1. package/dist/cjs/router/runtime/plugin.js +11 -2
  2. package/dist/cjs/router/runtime/plugin.node.js +2 -2
  3. package/dist/esm/router/runtime/plugin.js +2 -2
  4. package/dist/esm/router/runtime/plugin.node.js +2 -2
  5. package/dist/esm-node/router/runtime/plugin.js +11 -2
  6. package/dist/esm-node/router/runtime/plugin.node.js +2 -2
  7. package/dist/types/router/runtime/plugin.d.ts +1 -1
  8. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  9. package/dist/types/router/runtime/types.d.ts +1 -1
  10. package/package.json +10 -10
  11. package/dist/js/modern/cli/index.js +0 -72
  12. package/dist/js/modern/common.js +0 -4
  13. package/dist/js/modern/config.js +0 -0
  14. package/dist/js/modern/core/app-config.js +0 -10
  15. package/dist/js/modern/core/compatible.js +0 -285
  16. package/dist/js/modern/core/index.js +0 -16
  17. package/dist/js/modern/core/loader/index.js +0 -4
  18. package/dist/js/modern/core/loader/loaderManager.js +0 -165
  19. package/dist/js/modern/core/loader/useLoader.js +0 -114
  20. package/dist/js/modern/core/plugin.js +0 -58
  21. package/dist/js/modern/document/Body.js +0 -23
  22. package/dist/js/modern/document/DocumentContext.js +0 -9
  23. package/dist/js/modern/document/DocumentStructrueContext.js +0 -11
  24. package/dist/js/modern/document/Head.js +0 -27
  25. package/dist/js/modern/document/Html.js +0 -78
  26. package/dist/js/modern/document/Links.js +0 -10
  27. package/dist/js/modern/document/Root.js +0 -33
  28. package/dist/js/modern/document/Script.js +0 -20
  29. package/dist/js/modern/document/Scripts.js +0 -10
  30. package/dist/js/modern/document/cli/index.js +0 -228
  31. package/dist/js/modern/document/constants.js +0 -49
  32. package/dist/js/modern/document/index.js +0 -10
  33. package/dist/js/modern/exports/head.js +0 -6
  34. package/dist/js/modern/exports/loadable.js +0 -6
  35. package/dist/js/modern/exports/server.js +0 -4
  36. package/dist/js/modern/exports/styled.js +0 -6
  37. package/dist/js/modern/index.js +0 -22
  38. package/dist/js/modern/router/cli/index.js +0 -120
  39. package/dist/js/modern/router/index.js +0 -7
  40. package/dist/js/modern/router/runtime/DefaultNotFound.js +0 -14
  41. package/dist/js/modern/router/runtime/index.js +0 -9
  42. package/dist/js/modern/router/runtime/plugin.js +0 -104
  43. package/dist/js/modern/router/runtime/plugin.node.js +0 -149
  44. package/dist/js/modern/router/runtime/server.js +0 -1
  45. package/dist/js/modern/router/runtime/types.js +0 -0
  46. package/dist/js/modern/router/runtime/utils.js +0 -196
  47. package/dist/js/modern/router/runtime/withRouter.js +0 -36
  48. package/dist/js/modern/runtime-context.js +0 -7
  49. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +0 -130
  50. package/dist/js/modern/ssr/cli/index.js +0 -172
  51. package/dist/js/modern/ssr/index.js +0 -159
  52. package/dist/js/modern/ssr/index.node.js +0 -79
  53. package/dist/js/modern/ssr/prefetch.js +0 -69
  54. package/dist/js/modern/ssr/react/index.js +0 -6
  55. package/dist/js/modern/ssr/react/nossr/index.js +0 -14
  56. package/dist/js/modern/ssr/react/prerender/index.js +0 -108
  57. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  58. package/dist/js/modern/ssr/react/prerender/util.js +0 -96
  59. package/dist/js/modern/ssr/react/withCallback/index.js +0 -15
  60. package/dist/js/modern/ssr/serverRender/helmet.js +0 -44
  61. package/dist/js/modern/ssr/serverRender/index.js +0 -35
  62. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -36
  63. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -11
  64. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -61
  65. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +0 -58
  66. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +0 -24
  67. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +0 -94
  68. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +0 -12
  69. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +0 -22
  70. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  71. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +0 -171
  72. package/dist/js/modern/ssr/serverRender/renderToString/index.js +0 -52
  73. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +0 -48
  74. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +0 -8
  75. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +0 -11
  76. package/dist/js/modern/ssr/serverRender/renderToString/template.js +0 -58
  77. package/dist/js/modern/ssr/serverRender/renderToString/type.js +0 -9
  78. package/dist/js/modern/ssr/serverRender/types.js +0 -4
  79. package/dist/js/modern/ssr/serverRender/utils.js +0 -22
  80. package/dist/js/modern/ssr/utils.js +0 -81
  81. package/dist/js/modern/state/cli/index.js +0 -83
  82. package/dist/js/modern/state/index.js +0 -7
  83. package/dist/js/modern/state/plugins.js +0 -13
  84. package/dist/js/modern/state/runtime/index.js +0 -9
  85. package/dist/js/modern/state/runtime/plugin.js +0 -97
  86. package/dist/js/modern/state/types.js +0 -0
  87. package/dist/js/node/cli/index.js +0 -99
  88. package/dist/js/node/common.js +0 -27
  89. package/dist/js/node/config.js +0 -15
  90. package/dist/js/node/core/app-config.js +0 -34
  91. package/dist/js/node/core/compatible.js +0 -312
  92. package/dist/js/node/core/index.js +0 -47
  93. package/dist/js/node/core/loader/index.js +0 -33
  94. package/dist/js/node/core/loader/loaderManager.js +0 -195
  95. package/dist/js/node/core/loader/useLoader.js +0 -132
  96. package/dist/js/node/core/plugin.js +0 -80
  97. package/dist/js/node/document/Body.js +0 -43
  98. package/dist/js/node/document/DocumentContext.js +0 -38
  99. package/dist/js/node/document/DocumentStructrueContext.js +0 -40
  100. package/dist/js/node/document/Head.js +0 -51
  101. package/dist/js/node/document/Html.js +0 -101
  102. package/dist/js/node/document/Links.js +0 -33
  103. package/dist/js/node/document/Root.js +0 -57
  104. package/dist/js/node/document/Script.js +0 -40
  105. package/dist/js/node/document/Scripts.js +0 -33
  106. package/dist/js/node/document/cli/index.js +0 -240
  107. package/dist/js/node/document/constants.js +0 -86
  108. package/dist/js/node/document/index.js +0 -26
  109. package/dist/js/node/exports/head.js +0 -34
  110. package/dist/js/node/exports/loadable.js +0 -34
  111. package/dist/js/node/exports/server.js +0 -27
  112. package/dist/js/node/exports/styled.js +0 -34
  113. package/dist/js/node/index.js +0 -44
  114. package/dist/js/node/router/cli/index.js +0 -135
  115. package/dist/js/node/router/index.js +0 -37
  116. package/dist/js/node/router/runtime/DefaultNotFound.js +0 -37
  117. package/dist/js/node/router/runtime/index.js +0 -33
  118. package/dist/js/node/router/runtime/plugin.js +0 -127
  119. package/dist/js/node/router/runtime/plugin.node.js +0 -175
  120. package/dist/js/node/router/runtime/server.js +0 -17
  121. package/dist/js/node/router/runtime/types.js +0 -15
  122. package/dist/js/node/router/runtime/utils.js +0 -221
  123. package/dist/js/node/router/runtime/withRouter.js +0 -57
  124. package/dist/js/node/runtime-context.js +0 -31
  125. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +0 -139
  126. package/dist/js/node/ssr/cli/index.js +0 -190
  127. package/dist/js/node/ssr/index.js +0 -185
  128. package/dist/js/node/ssr/index.node.js +0 -107
  129. package/dist/js/node/ssr/prefetch.js +0 -90
  130. package/dist/js/node/ssr/react/index.js +0 -30
  131. package/dist/js/node/ssr/react/nossr/index.js +0 -43
  132. package/dist/js/node/ssr/react/prerender/index.js +0 -130
  133. package/dist/js/node/ssr/react/prerender/type.js +0 -15
  134. package/dist/js/node/ssr/react/prerender/util.js +0 -123
  135. package/dist/js/node/ssr/react/withCallback/index.js +0 -38
  136. package/dist/js/node/ssr/serverRender/helmet.js +0 -65
  137. package/dist/js/node/ssr/serverRender/index.js +0 -56
  138. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -65
  139. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -35
  140. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -87
  141. package/dist/js/node/ssr/serverRender/renderToStream/index.js +0 -87
  142. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +0 -47
  143. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +0 -111
  144. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +0 -35
  145. package/dist/js/node/ssr/serverRender/renderToStream/template.js +0 -45
  146. package/dist/js/node/ssr/serverRender/renderToStream/type.js +0 -15
  147. package/dist/js/node/ssr/serverRender/renderToString/entry.js +0 -196
  148. package/dist/js/node/ssr/serverRender/renderToString/index.js +0 -81
  149. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +0 -71
  150. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +0 -31
  151. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +0 -34
  152. package/dist/js/node/ssr/serverRender/renderToString/template.js +0 -82
  153. package/dist/js/node/ssr/serverRender/renderToString/type.js +0 -32
  154. package/dist/js/node/ssr/serverRender/types.js +0 -27
  155. package/dist/js/node/ssr/serverRender/utils.js +0 -46
  156. package/dist/js/node/ssr/utils.js +0 -106
  157. package/dist/js/node/state/cli/index.js +0 -100
  158. package/dist/js/node/state/index.js +0 -37
  159. package/dist/js/node/state/plugins.js +0 -45
  160. package/dist/js/node/state/runtime/index.js +0 -40
  161. package/dist/js/node/state/runtime/plugin.js +0 -121
  162. package/dist/js/node/state/types.js +0 -15
  163. package/dist/js/treeshaking/cli/index.js +0 -186
  164. package/dist/js/treeshaking/common.js +0 -4
  165. package/dist/js/treeshaking/config.js +0 -1
  166. package/dist/js/treeshaking/core/app-config.js +0 -9
  167. package/dist/js/treeshaking/core/compatible.js +0 -485
  168. package/dist/js/treeshaking/core/index.js +0 -7
  169. package/dist/js/treeshaking/core/loader/index.js +0 -2
  170. package/dist/js/treeshaking/core/loader/loaderManager.js +0 -406
  171. package/dist/js/treeshaking/core/loader/useLoader.js +0 -188
  172. package/dist/js/treeshaking/core/plugin.js +0 -176
  173. package/dist/js/treeshaking/document/Body.js +0 -18
  174. package/dist/js/treeshaking/document/DocumentContext.js +0 -7
  175. package/dist/js/treeshaking/document/DocumentStructrueContext.js +0 -9
  176. package/dist/js/treeshaking/document/Head.js +0 -24
  177. package/dist/js/treeshaking/document/Html.js +0 -99
  178. package/dist/js/treeshaking/document/Links.js +0 -8
  179. package/dist/js/treeshaking/document/Root.js +0 -26
  180. package/dist/js/treeshaking/document/Script.js +0 -15
  181. package/dist/js/treeshaking/document/Scripts.js +0 -8
  182. package/dist/js/treeshaking/document/cli/index.js +0 -393
  183. package/dist/js/treeshaking/document/constants.js +0 -35
  184. package/dist/js/treeshaking/document/index.js +0 -10
  185. package/dist/js/treeshaking/exports/head.js +0 -4
  186. package/dist/js/treeshaking/exports/loadable.js +0 -4
  187. package/dist/js/treeshaking/exports/server.js +0 -4
  188. package/dist/js/treeshaking/exports/styled.js +0 -4
  189. package/dist/js/treeshaking/index.js +0 -3
  190. package/dist/js/treeshaking/router/cli/index.js +0 -148
  191. package/dist/js/treeshaking/router/index.js +0 -4
  192. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +0 -14
  193. package/dist/js/treeshaking/router/runtime/index.js +0 -6
  194. package/dist/js/treeshaking/router/runtime/plugin.js +0 -132
  195. package/dist/js/treeshaking/router/runtime/plugin.node.js +0 -390
  196. package/dist/js/treeshaking/router/runtime/server.js +0 -1
  197. package/dist/js/treeshaking/router/runtime/types.js +0 -1
  198. package/dist/js/treeshaking/router/runtime/utils.js +0 -260
  199. package/dist/js/treeshaking/router/runtime/withRouter.js +0 -67
  200. package/dist/js/treeshaking/runtime-context.js +0 -4
  201. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +0 -122
  202. package/dist/js/treeshaking/ssr/cli/index.js +0 -217
  203. package/dist/js/treeshaking/ssr/index.js +0 -315
  204. package/dist/js/treeshaking/ssr/index.node.js +0 -240
  205. package/dist/js/treeshaking/ssr/prefetch.js +0 -199
  206. package/dist/js/treeshaking/ssr/react/index.js +0 -3
  207. package/dist/js/treeshaking/ssr/react/nossr/index.js +0 -58
  208. package/dist/js/treeshaking/ssr/react/prerender/index.js +0 -237
  209. package/dist/js/treeshaking/ssr/react/prerender/type.js +0 -1
  210. package/dist/js/treeshaking/ssr/react/prerender/util.js +0 -108
  211. package/dist/js/treeshaking/ssr/react/withCallback/index.js +0 -16
  212. package/dist/js/treeshaking/ssr/serverRender/helmet.js +0 -42
  213. package/dist/js/treeshaking/ssr/serverRender/index.js +0 -169
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -34
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -7
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -115
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +0 -165
  218. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +0 -22
  219. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +0 -119
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +0 -11
  221. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +0 -63
  222. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +0 -1
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +0 -393
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +0 -165
  225. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +0 -56
  226. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +0 -10
  227. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +0 -9
  228. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +0 -156
  229. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +0 -7
  230. package/dist/js/treeshaking/ssr/serverRender/types.js +0 -2
  231. package/dist/js/treeshaking/ssr/serverRender/utils.js +0 -69
  232. package/dist/js/treeshaking/ssr/utils.js +0 -134
  233. package/dist/js/treeshaking/state/cli/index.js +0 -71
  234. package/dist/js/treeshaking/state/index.js +0 -4
  235. package/dist/js/treeshaking/state/plugins.js +0 -14
  236. package/dist/js/treeshaking/state/runtime/index.js +0 -5
  237. package/dist/js/treeshaking/state/runtime/plugin.js +0 -198
  238. package/dist/js/treeshaking/state/types.js +0 -1
@@ -1,149 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- 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";
50
- import { RuntimeReactContext } from "../../core";
51
- import { renderRoutes, urlJoin } from "./utils";
52
- installGlobals();
53
- function createFetchRequest(req) {
54
- const origin = `${req.protocol}://${req.host}`;
55
- const url = new URL(req.originalUrl || req.url, origin);
56
- const controller = new AbortController();
57
- const init = {
58
- method: req.method,
59
- headers: createFetchHeaders(req.headers),
60
- signal: controller.signal
61
- };
62
- return new Request(url.href, init);
63
- }
64
- function createFetchHeaders(requestHeaders) {
65
- const headers = new Headers();
66
- for (const [key, values] of Object.entries(requestHeaders)) {
67
- if (values) {
68
- if (Array.isArray(values)) {
69
- for (const value of values) {
70
- headers.append(key, value);
71
- }
72
- } else {
73
- headers.set(key, values);
74
- }
75
- }
76
- }
77
- return headers;
78
- }
79
- const routerPlugin = ({
80
- basename = "",
81
- routesConfig,
82
- createRoutes
83
- }) => {
84
- return {
85
- name: "@modern-js/plugin-router",
86
- setup: () => {
87
- return {
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
99
- });
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 });
111
- });
112
- },
113
- hoc: ({ App }, next) => {
114
- if (!routesConfig) {
115
- return next({ App });
116
- }
117
- const getRouteApp = () => {
118
- return (props) => {
119
- const { router, routerContext } = useContext(RuntimeReactContext);
120
- return /* @__PURE__ */ jsx(App, __spreadProps(__spreadValues({}, props), {
121
- children: /* @__PURE__ */ jsx(StaticRouterProvider, {
122
- router,
123
- context: routerContext,
124
- nonce: "the-nonce"
125
- })
126
- }));
127
- };
128
- };
129
- const RouteApp = getRouteApp();
130
- if (routesConfig == null ? void 0 : routesConfig.globalApp) {
131
- return next({
132
- App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
133
- });
134
- }
135
- return next({
136
- App: RouteApp
137
- });
138
- }
139
- };
140
- }
141
- };
142
- };
143
- const modifyRoutes = () => {
144
- };
145
- export {
146
- createFetchHeaders,
147
- modifyRoutes,
148
- routerPlugin
149
- };
@@ -1 +0,0 @@
1
- export * from "react-router-dom/server";
File without changes
@@ -1,196 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
29
- }
30
- return target;
31
- };
32
- import { jsx } from "react/jsx-runtime";
33
- import { Suspense } from "react";
34
- import { Route } from "react-router-dom";
35
- import { DefaultNotFound } from "./DefaultNotFound";
36
- const renderNestedRoute = (nestedRoute, parent) => {
37
- const { children, index, id, component, isRoot } = nestedRoute;
38
- const Component = component;
39
- const routeProps = {
40
- caseSensitive: nestedRoute.caseSensitive,
41
- path: nestedRoute.path,
42
- id: nestedRoute.id,
43
- loader: createLoader(nestedRoute),
44
- action: nestedRoute.action,
45
- hasErrorBoundary: nestedRoute.hasErrorBoundary,
46
- shouldRevalidate: nestedRoute.shouldRevalidate,
47
- handle: nestedRoute.handle,
48
- index: nestedRoute.index,
49
- element: nestedRoute.element,
50
- errorElement: nestedRoute.errorElement
51
- };
52
- if (nestedRoute.error) {
53
- const errorElement = /* @__PURE__ */ jsx(nestedRoute.error, {});
54
- routeProps.errorElement = errorElement;
55
- }
56
- let element;
57
- if (Component) {
58
- if (parent == null ? void 0 : parent.loading) {
59
- const Loading = parent.loading;
60
- if (isLoadableComponent(Component)) {
61
- element = /* @__PURE__ */ jsx(Component, {
62
- fallback: /* @__PURE__ */ jsx(Loading, {})
63
- });
64
- } else {
65
- element = /* @__PURE__ */ jsx(Suspense, {
66
- fallback: /* @__PURE__ */ jsx(Loading, {}),
67
- children: /* @__PURE__ */ jsx(Component, {})
68
- });
69
- }
70
- } else if (isLoadableComponent(Component) || isRoot) {
71
- element = /* @__PURE__ */ jsx(Component, {});
72
- } else {
73
- element = /* @__PURE__ */ jsx(Suspense, {
74
- fallback: null,
75
- children: /* @__PURE__ */ jsx(Component, {})
76
- });
77
- }
78
- } else {
79
- nestedRoute.loading = parent == null ? void 0 : parent.loading;
80
- }
81
- if (element) {
82
- routeProps.element = element;
83
- }
84
- const childElements = children == null ? void 0 : children.map((childRoute) => {
85
- return renderNestedRoute(childRoute, nestedRoute);
86
- });
87
- const routeElement = index ? /* @__PURE__ */ jsx(Route, __spreadProps(__spreadValues({}, routeProps), {
88
- index: true
89
- }), id) : /* @__PURE__ */ jsx(Route, __spreadProps(__spreadValues({}, routeProps), {
90
- index: false,
91
- children: childElements
92
- }), id);
93
- return routeElement;
94
- };
95
- function getRouteComponents(routes, globalApp) {
96
- const Layout = (_a) => {
97
- var _b = _a, { Component } = _b, props = __objRest(_b, ["Component"]);
98
- const GlobalLayout = globalApp;
99
- if (!GlobalLayout) {
100
- return /* @__PURE__ */ jsx(Component, __spreadValues({}, props));
101
- }
102
- return /* @__PURE__ */ jsx(GlobalLayout, __spreadValues({
103
- Component
104
- }, props));
105
- };
106
- const routeElements = [];
107
- for (const route of routes) {
108
- if (route.type === "nested") {
109
- const routeElement = renderNestedRoute(route);
110
- routeElements.push(routeElement);
111
- } else {
112
- const routeElement = /* @__PURE__ */ jsx(Route, {
113
- path: route.path,
114
- element: /* @__PURE__ */ jsx(Layout, {
115
- Component: route.component
116
- })
117
- }, route.path);
118
- routeElements.push(routeElement);
119
- }
120
- }
121
- routeElements.push(/* @__PURE__ */ jsx(Route, {
122
- path: "*",
123
- element: /* @__PURE__ */ jsx(DefaultNotFound, {})
124
- }, "*"));
125
- return routeElements;
126
- }
127
- function renderRoutes(routesConfig) {
128
- if (!routesConfig) {
129
- return null;
130
- }
131
- const { routes, globalApp } = routesConfig;
132
- if (!routes) {
133
- return null;
134
- }
135
- const routeElements = getRouteComponents(routes, globalApp);
136
- return routeElements;
137
- }
138
- function getLocation(serverContext) {
139
- var _a;
140
- const { pathname, url } = (serverContext == null ? void 0 : serverContext.request) || {};
141
- const cleanUrl = (_a = url == null ? void 0 : url.replace("http://", "")) == null ? void 0 : _a.replace("https://", "");
142
- const index = (cleanUrl || "").indexOf(pathname);
143
- if (index === -1) {
144
- return pathname;
145
- }
146
- return cleanUrl.substring(index);
147
- }
148
- const urlJoin = (...parts) => {
149
- const separator = "/";
150
- const replace = new RegExp(`${separator}{1,}`, "g");
151
- return standardSlash(parts.join(separator).replace(replace, separator));
152
- };
153
- function standardSlash(str) {
154
- let addr = str;
155
- if (!addr || typeof addr !== "string") {
156
- return addr;
157
- }
158
- if (addr.startsWith(".")) {
159
- addr = addr.slice(1);
160
- }
161
- if (!addr.startsWith("/")) {
162
- addr = `/${addr}`;
163
- }
164
- if (addr.endsWith("/") && addr !== "/") {
165
- addr = addr.slice(0, addr.length - 1);
166
- }
167
- return addr;
168
- }
169
- function createLoader(route) {
170
- const { loader } = route;
171
- if (loader) {
172
- return (args) => {
173
- if (typeof route.lazyImport === "function") {
174
- route.lazyImport();
175
- }
176
- return loader(args);
177
- };
178
- } else {
179
- return () => {
180
- if (typeof route.lazyImport === "function") {
181
- route.lazyImport();
182
- }
183
- return null;
184
- };
185
- }
186
- }
187
- function isLoadableComponent(component) {
188
- return component && component.displayName === "Loadable" && component.preload && typeof component.preload === "function";
189
- }
190
- export {
191
- getLocation,
192
- getRouteComponents,
193
- renderRoutes,
194
- standardSlash,
195
- urlJoin
196
- };
@@ -1,36 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { jsx } from "react/jsx-runtime";
21
- import { useLocation, useNavigate, useParams } from "react-router-dom";
22
- const withRouter = (Component) => {
23
- return (props) => {
24
- const location = useLocation();
25
- const params = useParams();
26
- const navigate = useNavigate();
27
- return /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({}, props), {
28
- location,
29
- params,
30
- navigate
31
- }));
32
- };
33
- };
34
- export {
35
- withRouter
36
- };
@@ -1,7 +0,0 @@
1
- import { createContext } from "react";
2
- const RuntimeReactContext = createContext({});
3
- const ServerRouterContext = createContext({});
4
- export {
5
- RuntimeReactContext,
6
- ServerRouterContext
7
- };
@@ -1,130 +0,0 @@
1
- var __getOwnPropNames = Object.getOwnPropertyNames;
2
- var __commonJS = (cb, mod) => function __require() {
3
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
- };
5
- import crypto from "crypto";
6
- import { Buffer as Buffer2 } from "buffer";
7
- import * as t from "@babel/types";
8
- import { get } from "@modern-js/utils/lodash";
9
- var require_babel_plugin_ssr_loader_id = __commonJS({
10
- "src/ssr/cli/babel-plugin-ssr-loader-id.ts"(exports, module) {
11
- const RUNTIME_PACKAGE_NAMES = ["@modern-js/runtime"];
12
- const FUNCTION_USE_LOADER_NAME = "useLoader";
13
- function getHash(filepath) {
14
- const cwd = process.cwd();
15
- const point = filepath.indexOf(cwd);
16
- let relativePath = filepath;
17
- if (point !== -1) {
18
- relativePath = filepath.substring(point + cwd.length);
19
- }
20
- const fileBuf = Buffer2.from(relativePath);
21
- const fsHash = crypto.createHash("md5");
22
- const md5 = fsHash.update(fileBuf).digest("hex");
23
- return md5;
24
- }
25
- function getUseLoaderPath(path, calleeName) {
26
- const { node } = path;
27
- if (!calleeName || node.callee.name !== calleeName) {
28
- return false;
29
- }
30
- const arg1 = get(node, "arguments.0");
31
- if (t.isFunction(arg1) || t.isFunctionExpression(arg1) || t.isArrowFunctionExpression(arg1) || t.isIdentifier(arg1) || t.isCallExpression(arg1) || t.isMemberExpression(arg1)) {
32
- const loaderPath = path.get("arguments.0");
33
- if (isDuplicateInnerLoader(loaderPath)) {
34
- return false;
35
- } else {
36
- return loaderPath;
37
- }
38
- }
39
- console.warn("useLoader 中 loaderId 生成失败,请检查 useLoader");
40
- throw path.buildCodeFrameError(`
41
- please check the usage of ${path.node.name}
42
- `);
43
- }
44
- function isDuplicateInnerLoader(path) {
45
- const { node } = path;
46
- if (t.isFunctionExpression(node.callee)) {
47
- if (t.isBlockStatement(node.callee.body)) {
48
- if (get(node.callee.body, "body.0.declarations.0.id.name") === "innerLoader" && get(node.callee.body, "body.2.argument.name") === "innerLoader") {
49
- return true;
50
- }
51
- }
52
- }
53
- return false;
54
- }
55
- function getSelfRunLoaderExpression(loaderExpression, id) {
56
- return t.callExpression(
57
- t.functionExpression(
58
- null,
59
- [],
60
- t.blockStatement([
61
- t.variableDeclaration("var", [
62
- t.variableDeclarator(t.identifier("innerLoader"), loaderExpression)
63
- ]),
64
- t.expressionStatement(
65
- t.assignmentExpression(
66
- "=",
67
- t.memberExpression(t.identifier("innerLoader"), t.identifier("id")),
68
- t.stringLiteral(id)
69
- )
70
- ),
71
- t.returnStatement(t.identifier("innerLoader"))
72
- ])
73
- ),
74
- []
75
- );
76
- }
77
- module.exports = function() {
78
- let useLoader = null;
79
- let hash = "";
80
- let index = 0;
81
- function genId() {
82
- return `${hash}_${index++}`;
83
- }
84
- return {
85
- name: "babel-plugin-ssr-loader-id",
86
- pre() {
87
- index = 0;
88
- useLoader = null;
89
- hash = "";
90
- },
91
- visitor: {
92
- ImportDeclaration(path, state) {
93
- if (useLoader) {
94
- return false;
95
- }
96
- if (!RUNTIME_PACKAGE_NAMES.includes(get(path, "node.source.value"))) {
97
- return false;
98
- }
99
- hash = getHash(state.file.opts.filename);
100
- get(path, "node.specifiers", []).forEach(({ imported, local }) => {
101
- if (!imported) {
102
- throw path.buildCodeFrameError(
103
- `please \`import { useLoader } from ${RUNTIME_PACKAGE_NAMES[0]}\``
104
- );
105
- }
106
- if (!useLoader && imported.name === FUNCTION_USE_LOADER_NAME) {
107
- useLoader = local.name;
108
- }
109
- });
110
- return false;
111
- },
112
- CallExpression(path) {
113
- let loaderPath = getUseLoaderPath(path, useLoader);
114
- if (loaderPath) {
115
- if (!Array.isArray(loaderPath)) {
116
- loaderPath = [loaderPath];
117
- }
118
- loaderPath.forEach((p) => {
119
- p.replaceWith(getSelfRunLoaderExpression(p.node, genId()));
120
- });
121
- return false;
122
- }
123
- return false;
124
- }
125
- }
126
- };
127
- };
128
- }
129
- });
130
- export default require_babel_plugin_ssr_loader_id();
@@ -1,172 +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
- import path from "path";
18
- import {
19
- getEntryOptions,
20
- SERVER_RENDER_FUNCTION_NAME,
21
- LOADABLE_STATS_FILE,
22
- isUseSSRBundle,
23
- createRuntimeExportsUtils,
24
- isSingleEntry
25
- } from "@modern-js/utils";
26
- const PLUGIN_IDENTIFIER = "ssr";
27
- const hasStringSSREntry = (userConfig) => {
28
- const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
29
- const { server } = userConfig;
30
- if ((server == null ? void 0 : server.ssr) && !isStreaming(server.ssr)) {
31
- return true;
32
- }
33
- if ((server == null ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
34
- for (const name of Object.keys(server.ssrByEntries)) {
35
- if (!isStreaming(server.ssrByEntries[name])) {
36
- return true;
37
- }
38
- }
39
- }
40
- return false;
41
- };
42
- var cli_default = () => ({
43
- name: "@modern-js/plugin-ssr",
44
- required: ["@modern-js/runtime"],
45
- setup: (api) => {
46
- const ssrConfigMap = /* @__PURE__ */ new Map();
47
- let pluginsExportsUtils;
48
- return {
49
- config() {
50
- const appContext = api.useAppContext();
51
- pluginsExportsUtils = createRuntimeExportsUtils(
52
- appContext.internalDirectory,
53
- "plugins"
54
- );
55
- return {
56
- source: {
57
- alias: {
58
- "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
59
- }
60
- },
61
- tools: {
62
- webpackChain: (chain, { name, isServer, CHAIN_ID }) => {
63
- const userConfig = api.useResolvedConfigContext();
64
- if (isUseSSRBundle(userConfig) && name !== "server" && hasStringSSREntry(userConfig)) {
65
- const LoadableWebpackPlugin = require("@loadable/webpack-plugin");
66
- chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [
67
- { filename: LOADABLE_STATS_FILE }
68
- ]);
69
- }
70
- const modernVars = {
71
- [`process.env.MODERN_TARGET`]: JSON.stringify(
72
- isServer ? "node" : "browser"
73
- )
74
- };
75
- chain.plugin(CHAIN_ID.PLUGIN.DEFINE).tap((args) => {
76
- const [vars, ...rest] = args;
77
- return [
78
- __spreadValues(__spreadValues({}, vars), modernVars),
79
- ...rest
80
- ];
81
- });
82
- },
83
- babel: (config) => {
84
- config.plugins.push(
85
- path.join(__dirname, "./babel-plugin-ssr-loader-id")
86
- );
87
- const userConfig = api.useResolvedConfigContext();
88
- if (isUseSSRBundle(userConfig) && hasStringSSREntry(userConfig)) {
89
- config.plugins.push(require.resolve("@loadable/babel-plugin"));
90
- }
91
- }
92
- }
93
- };
94
- },
95
- modifyEntryImports({ entrypoint, imports }) {
96
- var _a;
97
- const { entryName, fileSystemRoutes } = entrypoint;
98
- const userConfig = api.useResolvedConfigContext();
99
- const { packageName, entrypoints } = api.useAppContext();
100
- pluginsExportsUtils.addExport(
101
- `export { default as ssr } from '@modern-js/runtime/ssr'`
102
- );
103
- const ssrConfig = getEntryOptions(
104
- entryName,
105
- userConfig.server.ssr,
106
- userConfig.server.ssrByEntries,
107
- packageName
108
- );
109
- if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
110
- const runtimeConfig = getEntryOptions(
111
- entryName,
112
- userConfig.runtime,
113
- userConfig.runtimeByEntries,
114
- packageName
115
- );
116
- if (((_a = runtimeConfig == null ? void 0 : runtimeConfig.router) == null ? void 0 : _a.mode) === "react-router-5") {
117
- throw new Error(
118
- `router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'`
119
- );
120
- }
121
- if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
122
- throw new Error(
123
- `You should switch to file-system based router to support streaming SSR.`
124
- );
125
- }
126
- }
127
- const ssgConfig = userConfig.output.ssg;
128
- const useSSG = isSingleEntry(entrypoints) ? Boolean(ssgConfig) : ssgConfig === true || typeof (ssgConfig == null ? void 0 : ssgConfig[0]) === "function" || Boolean(ssgConfig == null ? void 0 : ssgConfig[entryName]);
129
- ssrConfigMap.set(entryName, ssrConfig || useSSG);
130
- if (ssrConfig || useSSG) {
131
- imports.push({
132
- value: "@modern-js/runtime/plugins",
133
- specifiers: [{ imported: PLUGIN_IDENTIFIER }]
134
- });
135
- }
136
- return {
137
- entrypoint,
138
- imports
139
- };
140
- },
141
- modifyEntryRuntimePlugins({ entrypoint, plugins }) {
142
- if (ssrConfigMap.get(entrypoint.entryName)) {
143
- plugins.push({
144
- name: PLUGIN_IDENTIFIER,
145
- options: JSON.stringify(ssrConfigMap.get(entrypoint.entryName))
146
- });
147
- }
148
- return {
149
- entrypoint,
150
- plugins
151
- };
152
- },
153
- modifyEntryExport({ entrypoint, exportStatement }) {
154
- if (ssrConfigMap.get(entrypoint.entryName)) {
155
- return {
156
- entrypoint,
157
- exportStatement: [
158
- `export function ${SERVER_RENDER_FUNCTION_NAME}(context) {
159
- return bootstrap(AppWrapper, context)
160
- }`,
161
- exportStatement
162
- ].join("\n")
163
- };
164
- }
165
- return { entrypoint, exportStatement };
166
- }
167
- };
168
- }
169
- });
170
- export {
171
- cli_default as default
172
- };