@modern-js/runtime 2.21.1 → 2.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/cjs/cli/index.js +11 -1
  3. package/dist/cjs/common.js +9 -3
  4. package/dist/cjs/core/appConfig.js +6 -2
  5. package/dist/cjs/core/compatible.js +9 -3
  6. package/dist/cjs/core/index.js +24 -8
  7. package/dist/cjs/core/loader/index.js +3 -1
  8. package/dist/cjs/core/loader/loaderManager.js +6 -2
  9. package/dist/cjs/core/loader/useLoader.js +3 -1
  10. package/dist/cjs/core/plugin.js +12 -4
  11. package/dist/cjs/document/Body.js +3 -1
  12. package/dist/cjs/document/Comment.js +3 -1
  13. package/dist/cjs/document/DocumentContext.js +3 -1
  14. package/dist/cjs/document/DocumentStructureContext.js +3 -1
  15. package/dist/cjs/document/Head.js +6 -2
  16. package/dist/cjs/document/Html.js +5 -2
  17. package/dist/cjs/document/Links.js +3 -1
  18. package/dist/cjs/document/Root.js +6 -2
  19. package/dist/cjs/document/Script.js +3 -1
  20. package/dist/cjs/document/Scripts.js +3 -1
  21. package/dist/cjs/document/Style.js +26 -0
  22. package/dist/cjs/document/cli/index.js +9 -2
  23. package/dist/cjs/document/constants.js +59 -17
  24. package/dist/cjs/document/index.js +1 -0
  25. package/dist/cjs/exports/head.js +3 -1
  26. package/dist/cjs/exports/loadable.js +3 -1
  27. package/dist/cjs/exports/server.js +3 -1
  28. package/dist/cjs/exports/styled.js +3 -1
  29. package/dist/cjs/index.js +27 -9
  30. package/dist/cjs/router/cli/index.js +3 -1
  31. package/dist/cjs/router/index.js +6 -2
  32. package/dist/cjs/router/runtime/DefaultNotFound.js +3 -1
  33. package/dist/cjs/router/runtime/DeferredDataScripts.js +3 -1
  34. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +12 -5
  35. package/dist/cjs/router/runtime/PrefetchLink.js +9 -3
  36. package/dist/cjs/router/runtime/fetch.js +3 -1
  37. package/dist/cjs/router/runtime/fetch.node.js +3 -1
  38. package/dist/cjs/router/runtime/fetch.worker.js +3 -1
  39. package/dist/cjs/router/runtime/hooks.js +3 -1
  40. package/dist/cjs/router/runtime/index.js +183 -61
  41. package/dist/cjs/router/runtime/plugin.js +33 -5
  42. package/dist/cjs/router/runtime/plugin.node.js +33 -8
  43. package/dist/cjs/router/runtime/utils.js +21 -7
  44. package/dist/cjs/router/runtime/withRouter.js +3 -1
  45. package/dist/cjs/runtimeContext.js +6 -2
  46. package/dist/cjs/ssr/cli/index.js +10 -3
  47. package/dist/cjs/ssr/index.js +11 -4
  48. package/dist/cjs/ssr/index.node.js +6 -2
  49. package/dist/cjs/ssr/prefetch.js +3 -1
  50. package/dist/cjs/ssr/react/index.js +6 -2
  51. package/dist/cjs/ssr/react/nossr/index.js +3 -1
  52. package/dist/cjs/ssr/react/prerender/index.js +3 -1
  53. package/dist/cjs/ssr/react/prerender/util.js +15 -5
  54. package/dist/cjs/ssr/react/withCallback/index.js +3 -1
  55. package/dist/cjs/ssr/serverRender/helmet.js +3 -1
  56. package/dist/cjs/ssr/serverRender/index.js +3 -1
  57. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +3 -1
  58. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.share.js +6 -2
  59. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +3 -1
  60. package/dist/cjs/ssr/serverRender/renderToStream/index.js +3 -1
  61. package/dist/cjs/ssr/serverRender/renderToStream/loadable.js +3 -1
  62. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +3 -1
  63. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +3 -1
  64. package/dist/cjs/ssr/serverRender/renderToStream/styledComponent.js +3 -1
  65. package/dist/cjs/ssr/serverRender/renderToStream/template.js +3 -1
  66. package/dist/cjs/ssr/serverRender/renderToString/entry.js +3 -1
  67. package/dist/cjs/ssr/serverRender/renderToString/index.js +3 -1
  68. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +3 -1
  69. package/dist/cjs/ssr/serverRender/renderToString/reduce.js +3 -1
  70. package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +3 -1
  71. package/dist/cjs/ssr/serverRender/renderToString/template.js +6 -2
  72. package/dist/cjs/ssr/serverRender/renderToString/type.js +3 -1
  73. package/dist/cjs/ssr/serverRender/time.js +3 -1
  74. package/dist/cjs/ssr/serverRender/time.worker.js +3 -1
  75. package/dist/cjs/ssr/serverRender/types.js +3 -1
  76. package/dist/cjs/ssr/serverRender/utils.js +15 -5
  77. package/dist/cjs/ssr/utils.js +15 -5
  78. package/dist/cjs/state/cli/index.js +3 -1
  79. package/dist/cjs/state/index.js +6 -2
  80. package/dist/cjs/state/plugins.js +12 -4
  81. package/dist/cjs/state/runtime/index.js +3 -1
  82. package/dist/cjs/state/runtime/plugin.js +3 -1
  83. package/dist/esm/cli/index.js +8 -0
  84. package/dist/esm/document/Html.js +8 -3
  85. package/dist/esm/document/Style.js +14 -0
  86. package/dist/esm/document/cli/index.js +6 -1
  87. package/dist/esm/document/constants.js +2 -0
  88. package/dist/esm/document/index.js +1 -0
  89. package/dist/esm/router/runtime/DeferredDataScripts.node.js +9 -4
  90. package/dist/esm/router/runtime/plugin.js +20 -0
  91. package/dist/esm/router/runtime/plugin.node.js +25 -6
  92. package/dist/esm/ssr/cli/index.js +10 -2
  93. package/dist/esm/ssr/index.js +5 -2
  94. package/dist/esm-node/cli/index.js +8 -0
  95. package/dist/esm-node/document/Html.js +2 -1
  96. package/dist/esm-node/document/Style.js +14 -0
  97. package/dist/esm-node/document/cli/index.js +4 -1
  98. package/dist/esm-node/document/constants.js +2 -0
  99. package/dist/esm-node/document/index.js +1 -0
  100. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +9 -4
  101. package/dist/esm-node/router/runtime/plugin.js +20 -0
  102. package/dist/esm-node/router/runtime/plugin.node.js +24 -5
  103. package/dist/esm-node/ssr/cli/index.js +7 -2
  104. package/dist/esm-node/ssr/index.js +5 -2
  105. package/dist/types/document/Style.d.ts +5 -0
  106. package/dist/types/document/constants.d.ts +2 -0
  107. package/dist/types/document/index.d.ts +1 -0
  108. package/dist/types/router/runtime/DeferredDataScripts.node.d.ts +3 -1
  109. package/dist/types/runtimeContext.d.ts +5 -1
  110. package/dist/types/ssr/serverRender/types.d.ts +1 -0
  111. package/package.json +10 -9
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "DefaultNotFound", {
6
6
  enumerable: true,
7
- get: () => DefaultNotFound
7
+ get: function() {
8
+ return DefaultNotFound;
9
+ }
8
10
  });
9
11
  const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
12
  const _jsxruntime = require("react/jsx-runtime");
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
- get: () => _default
7
+ get: function() {
8
+ return _default;
9
+ }
8
10
  });
9
11
  const _default = () => {
10
12
  return null;
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
- get: () => _default
7
+ get: function() {
8
+ return _default;
9
+ }
8
10
  });
9
11
  const _jsxruntime = require("react/jsx-runtime");
10
12
  const _react = require("react");
@@ -15,7 +17,7 @@ const _utils = require("./utils");
15
17
  const setupFnStr = `function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};`;
16
18
  const resolveFnStr = `function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};`;
17
19
  const preResolvedFnStr = `function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resolve(e)};`;
18
- const DeferredDataScripts = () => {
20
+ const DeferredDataScripts = (props) => {
19
21
  const context = (0, _react.useContext)(_router.UNSAFE_DataRouterContext);
20
22
  const { staticContext } = context || {};
21
23
  const hydratedRef = (0, _react.useRef)(false);
@@ -44,6 +46,7 @@ const DeferredDataScripts = () => {
44
46
  const deferredKeyPromiseStr = deferredKeys.map((key) => {
45
47
  if (pendingKeys.has(key)) {
46
48
  deferredDataScripts.push(/* @__PURE__ */ (0, _jsxruntime.jsx)(DeferredDataScript, {
49
+ nonce: props === null || props === void 0 ? void 0 : props.nonce,
47
50
  data: deferredData.data[key],
48
51
  dataKey: key,
49
52
  routeId
@@ -79,6 +82,7 @@ const DeferredDataScripts = () => {
79
82
  children: [
80
83
  !hydratedRef.current && /* @__PURE__ */ (0, _jsxruntime.jsx)("script", {
81
84
  async: true,
85
+ nonce: props === null || props === void 0 ? void 0 : props.nonce,
82
86
  suppressHydrationWarning: true,
83
87
  dangerouslySetInnerHTML: {
84
88
  __html: deferredScripts[0]
@@ -89,16 +93,18 @@ const DeferredDataScripts = () => {
89
93
  ]
90
94
  });
91
95
  };
92
- const DeferredDataScript = ({ data, routeId, dataKey }) => {
96
+ const DeferredDataScript = ({ data, routeId, dataKey, nonce }) => {
93
97
  return /* @__PURE__ */ (0, _jsxruntime.jsx)(_react.Suspense, {
94
98
  children: typeof document === "undefined" && data && dataKey && routeId ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_router.Await, {
95
99
  resolve: data,
96
100
  errorElement: /* @__PURE__ */ (0, _jsxruntime.jsx)(ErrorDeferredDataScript, {
97
101
  routeId,
98
- dataKey
102
+ dataKey,
103
+ nonce
99
104
  }),
100
105
  children: (data2) => /* @__PURE__ */ (0, _jsxruntime.jsx)("script", {
101
106
  async: true,
107
+ nonce,
102
108
  suppressHydrationWarning: true,
103
109
  dangerouslySetInnerHTML: {
104
110
  __html: `_ROUTER_DATA.r(${JSON.stringify(routeId)}, ${JSON.stringify(dataKey)}, ${(0, _runtimenode.serializeJson)(data2)});`
@@ -107,9 +113,10 @@ const DeferredDataScript = ({ data, routeId, dataKey }) => {
107
113
  }) : null
108
114
  });
109
115
  };
110
- const ErrorDeferredDataScript = ({ routeId, dataKey }) => {
116
+ const ErrorDeferredDataScript = ({ routeId, dataKey, nonce }) => {
111
117
  const error = (0, _router.useAsyncError)();
112
118
  return /* @__PURE__ */ (0, _jsxruntime.jsx)("script", {
119
+ nonce,
113
120
  suppressHydrationWarning: true,
114
121
  dangerouslySetInnerHTML: {
115
122
  __html: `_ROUTER_DATA.r(${JSON.stringify(routeId)}, ${JSON.stringify(dataKey)}, ${void 0}, ${(0, _runtimenode.serializeJson)({
@@ -10,9 +10,15 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- composeEventHandlers: () => composeEventHandlers,
14
- Link: () => Link,
15
- NavLink: () => NavLink
13
+ composeEventHandlers: function() {
14
+ return composeEventHandlers;
15
+ },
16
+ Link: function() {
17
+ return Link;
18
+ },
19
+ NavLink: function() {
20
+ return NavLink;
21
+ }
16
22
  });
17
23
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
18
24
  const _jsxruntime = require("react/jsx-runtime");
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "installGlobals", {
6
6
  enumerable: true,
7
- get: () => installGlobals
7
+ get: function() {
8
+ return installGlobals;
9
+ }
8
10
  });
9
11
  function installGlobals() {
10
12
  }
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "installGlobals", {
6
6
  enumerable: true,
7
- get: () => _node.installGlobals
7
+ get: function() {
8
+ return _node.installGlobals;
9
+ }
8
10
  });
9
11
  const _node = require("@remix-run/node");
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "installGlobals", {
6
6
  enumerable: true,
7
- get: () => installGlobals
7
+ get: function() {
8
+ return installGlobals;
9
+ }
8
10
  });
9
11
  function installGlobals() {
10
12
  }
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "modifyRoutes", {
6
6
  enumerable: true,
7
- get: () => modifyRoutes
7
+ get: function() {
8
+ return modifyRoutes;
9
+ }
8
10
  });
9
11
  const _plugin = require("@modern-js/plugin");
10
12
  const modifyRoutes = (0, _plugin.createWaterfall)();
@@ -10,72 +10,194 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- default: () => _default,
14
- modifyRoutes: () => _plugin.modifyRoutes,
15
- Link: () => _PrefetchLink.Link,
16
- NavLink: () => _PrefetchLink.NavLink,
17
- useRouteLoaderData: () => useRouteLoaderData,
13
+ default: function() {
14
+ return _default;
15
+ },
16
+ modifyRoutes: function() {
17
+ return _plugin.modifyRoutes;
18
+ },
19
+ Link: function() {
20
+ return _PrefetchLink.Link;
21
+ },
22
+ NavLink: function() {
23
+ return _PrefetchLink.NavLink;
24
+ },
25
+ useRouteLoaderData: function() {
26
+ return useRouteLoaderData;
27
+ },
18
28
  // Routers
19
- createBrowserRouter: () => _router.createBrowserRouter,
20
- createHashRouter: () => _router.createHashRouter,
21
- createMemoryRouter: () => _router.createMemoryRouter,
22
- RouterProvider: () => _router.RouterProvider,
29
+ createBrowserRouter: function() {
30
+ return _router.createBrowserRouter;
31
+ },
32
+ createHashRouter: function() {
33
+ return _router.createHashRouter;
34
+ },
35
+ createMemoryRouter: function() {
36
+ return _router.createMemoryRouter;
37
+ },
38
+ RouterProvider: function() {
39
+ return _router.RouterProvider;
40
+ },
23
41
  // Router Components
24
- BrowserRouter: () => _router.BrowserRouter,
25
- HashRouter: () => _router.HashRouter,
26
- MemoryRouter: () => _router.MemoryRouter,
27
- Router: () => _router.Router,
42
+ BrowserRouter: function() {
43
+ return _router.BrowserRouter;
44
+ },
45
+ HashRouter: function() {
46
+ return _router.HashRouter;
47
+ },
48
+ MemoryRouter: function() {
49
+ return _router.MemoryRouter;
50
+ },
51
+ Router: function() {
52
+ return _router.Router;
53
+ },
28
54
  // Components
29
- Await: () => _router.Await,
30
- Form: () => _router.Form,
31
- Navigate: () => _router.Navigate,
32
- Outlet: () => _router.Outlet,
33
- Route: () => _router.Route,
34
- Routes: () => _router.Routes,
35
- ScrollRestoration: () => _router.ScrollRestoration,
55
+ Await: function() {
56
+ return _router.Await;
57
+ },
58
+ Form: function() {
59
+ return _router.Form;
60
+ },
61
+ Navigate: function() {
62
+ return _router.Navigate;
63
+ },
64
+ Outlet: function() {
65
+ return _router.Outlet;
66
+ },
67
+ Route: function() {
68
+ return _router.Route;
69
+ },
70
+ Routes: function() {
71
+ return _router.Routes;
72
+ },
73
+ ScrollRestoration: function() {
74
+ return _router.ScrollRestoration;
75
+ },
36
76
  // Hooks
37
- useActionData: () => _router.useActionData,
38
- useAsyncError: () => _router.useAsyncError,
39
- useAsyncValue: () => _router.useAsyncValue,
40
- useBeforeUnload: () => _router.useBeforeUnload,
41
- useFetcher: () => _router.useFetcher,
42
- useFetchers: () => _router.useFetchers,
43
- useFormAction: () => _router.useFormAction,
44
- useHref: () => _router.useHref,
45
- useInRouterContext: () => _router.useInRouterContext,
46
- useLinkClickHandler: () => _router.useLinkClickHandler,
47
- useLoaderData: () => _router.useLoaderData,
48
- useLocation: () => _router.useLocation,
49
- useMatch: () => _router.useMatch,
50
- useMatches: () => _router.useMatches,
51
- useNavigate: () => _router.useNavigate,
52
- useNavigation: () => _router.useNavigation,
53
- useNavigationType: () => _router.useNavigationType,
54
- useOutlet: () => _router.useOutlet,
55
- useOutletContext: () => _router.useOutletContext,
56
- useParams: () => _router.useParams,
57
- useResolvedPath: () => _router.useResolvedPath,
58
- useRevalidator: () => _router.useRevalidator,
59
- useRouteError: () => _router.useRouteError,
60
- useRoutes: () => _router.useRoutes,
61
- useSearchParams: () => _router.useSearchParams,
62
- useSubmit: () => _router.useSubmit,
77
+ useActionData: function() {
78
+ return _router.useActionData;
79
+ },
80
+ useAsyncError: function() {
81
+ return _router.useAsyncError;
82
+ },
83
+ useAsyncValue: function() {
84
+ return _router.useAsyncValue;
85
+ },
86
+ useBeforeUnload: function() {
87
+ return _router.useBeforeUnload;
88
+ },
89
+ useFetcher: function() {
90
+ return _router.useFetcher;
91
+ },
92
+ useFetchers: function() {
93
+ return _router.useFetchers;
94
+ },
95
+ useFormAction: function() {
96
+ return _router.useFormAction;
97
+ },
98
+ useHref: function() {
99
+ return _router.useHref;
100
+ },
101
+ useInRouterContext: function() {
102
+ return _router.useInRouterContext;
103
+ },
104
+ useLinkClickHandler: function() {
105
+ return _router.useLinkClickHandler;
106
+ },
107
+ useLoaderData: function() {
108
+ return _router.useLoaderData;
109
+ },
110
+ useLocation: function() {
111
+ return _router.useLocation;
112
+ },
113
+ useMatch: function() {
114
+ return _router.useMatch;
115
+ },
116
+ useMatches: function() {
117
+ return _router.useMatches;
118
+ },
119
+ useNavigate: function() {
120
+ return _router.useNavigate;
121
+ },
122
+ useNavigation: function() {
123
+ return _router.useNavigation;
124
+ },
125
+ useNavigationType: function() {
126
+ return _router.useNavigationType;
127
+ },
128
+ useOutlet: function() {
129
+ return _router.useOutlet;
130
+ },
131
+ useOutletContext: function() {
132
+ return _router.useOutletContext;
133
+ },
134
+ useParams: function() {
135
+ return _router.useParams;
136
+ },
137
+ useResolvedPath: function() {
138
+ return _router.useResolvedPath;
139
+ },
140
+ useRevalidator: function() {
141
+ return _router.useRevalidator;
142
+ },
143
+ useRouteError: function() {
144
+ return _router.useRouteError;
145
+ },
146
+ useRoutes: function() {
147
+ return _router.useRoutes;
148
+ },
149
+ useSearchParams: function() {
150
+ return _router.useSearchParams;
151
+ },
152
+ useSubmit: function() {
153
+ return _router.useSubmit;
154
+ },
63
155
  // Utilities
64
- createRoutesFromChildren: () => _router.createRoutesFromChildren,
65
- createRoutesFromElements: () => _router.createRoutesFromElements,
66
- createSearchParams: () => _router.createSearchParams,
67
- generatePath: () => _router.generatePath,
68
- isRouteErrorResponse: () => _router.isRouteErrorResponse,
69
- matchPath: () => _router.matchPath,
70
- matchRoutes: () => _router.matchRoutes,
71
- renderMatches: () => _router.renderMatches,
72
- resolvePath: () => _router.resolvePath,
73
- createPath: () => _router.createPath,
74
- unstable_useBlocker: () => _router.unstable_useBlocker,
75
- unstable_usePrompt: () => _router.unstable_usePrompt,
76
- defer: () => _router.defer,
77
- json: () => _router.json,
78
- redirect: () => _router.redirect
156
+ createRoutesFromChildren: function() {
157
+ return _router.createRoutesFromChildren;
158
+ },
159
+ createRoutesFromElements: function() {
160
+ return _router.createRoutesFromElements;
161
+ },
162
+ createSearchParams: function() {
163
+ return _router.createSearchParams;
164
+ },
165
+ generatePath: function() {
166
+ return _router.generatePath;
167
+ },
168
+ isRouteErrorResponse: function() {
169
+ return _router.isRouteErrorResponse;
170
+ },
171
+ matchPath: function() {
172
+ return _router.matchPath;
173
+ },
174
+ matchRoutes: function() {
175
+ return _router.matchRoutes;
176
+ },
177
+ renderMatches: function() {
178
+ return _router.renderMatches;
179
+ },
180
+ resolvePath: function() {
181
+ return _router.resolvePath;
182
+ },
183
+ createPath: function() {
184
+ return _router.createPath;
185
+ },
186
+ unstable_useBlocker: function() {
187
+ return _router.unstable_useBlocker;
188
+ },
189
+ unstable_usePrompt: function() {
190
+ return _router.unstable_usePrompt;
191
+ },
192
+ defer: function() {
193
+ return _router.defer;
194
+ },
195
+ json: function() {
196
+ return _router.json;
197
+ },
198
+ redirect: function() {
199
+ return _router.redirect;
200
+ }
79
201
  });
80
202
  const _export_star = require("@swc/helpers/_/_export_star");
81
203
  const _router = require("@modern-js/utils/runtime/router");
@@ -10,17 +10,27 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- finalRouteConfig: () => finalRouteConfig,
14
- beforeCreateRouter: () => beforeCreateRouter,
15
- modifyRoutes: () => modifyRoutes,
16
- routerPlugin: () => routerPlugin
13
+ finalRouteConfig: function() {
14
+ return finalRouteConfig;
15
+ },
16
+ beforeCreateRouter: function() {
17
+ return beforeCreateRouter;
18
+ },
19
+ modifyRoutes: function() {
20
+ return modifyRoutes;
21
+ },
22
+ routerPlugin: function() {
23
+ return routerPlugin;
24
+ }
17
25
  });
18
26
  const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
27
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
19
28
  const _jsxruntime = require("react/jsx-runtime");
20
- const _react = /* @__PURE__ */ _interop_require_default._(require("react"));
29
+ const _react = /* @__PURE__ */ _interop_require_wildcard._(require("react"));
21
30
  const _router = require("@modern-js/utils/runtime/router");
22
31
  const _hoistnonreactstatics = /* @__PURE__ */ _interop_require_default._(require("hoist-non-react-statics"));
23
32
  const _runtimebrowser = require("@modern-js/utils/runtime-browser");
33
+ const _core = require("../../core");
24
34
  const _hooks = require("./hooks");
25
35
  const _utils = require("./utils");
26
36
  let finalRouteConfig = {
@@ -94,6 +104,8 @@ const routerPlugin = ({ serverBase = [], supportHtml5History = true, basename =
94
104
  basename: _basename,
95
105
  hydrationData
96
106
  });
107
+ const runtimeContext = (0, _react.useContext)(_core.RuntimeReactContext);
108
+ runtimeContext.remixRouter = router;
97
109
  return /* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
98
110
  ...props,
99
111
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_router.RouterProvider, {
@@ -114,6 +126,22 @@ const routerPlugin = ({ serverBase = [], supportHtml5History = true, basename =
114
126
  return next({
115
127
  App: RouteApp
116
128
  });
129
+ },
130
+ pickContext: ({ context, pickedContext }, next) => {
131
+ const { remixRouter } = context;
132
+ const router = {
133
+ navigate: remixRouter.navigate,
134
+ get location() {
135
+ return remixRouter.state.location;
136
+ }
137
+ };
138
+ return next({
139
+ context,
140
+ pickedContext: {
141
+ ...pickedContext,
142
+ router
143
+ }
144
+ });
117
145
  }
118
146
  };
119
147
  }
@@ -10,9 +10,15 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- createFetchHeaders: () => createFetchHeaders,
14
- routerPlugin: () => routerPlugin,
15
- modifyRoutes: () => modifyRoutes
13
+ createFetchHeaders: function() {
14
+ return createFetchHeaders;
15
+ },
16
+ routerPlugin: function() {
17
+ return routerPlugin;
18
+ },
19
+ modifyRoutes: function() {
20
+ return modifyRoutes;
21
+ }
16
22
  });
17
23
  const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
18
24
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
@@ -67,12 +73,15 @@ const routerPlugin = ({ basename = "", routesConfig, createRoutes }) => {
67
73
  context
68
74
  });
69
75
  }
70
- const { request, mode: ssrMode } = context.ssrContext;
76
+ const { request, mode: ssrMode, nonce } = context.ssrContext;
71
77
  const baseUrl = request.baseUrl;
72
78
  const _basename = baseUrl === "/" ? (0, _utils.urlJoin)(baseUrl, basename) : baseUrl;
73
79
  const routes = createRoutes ? createRoutes() : (0, _router1.createRoutesFromElements)((0, _utils.renderRoutes)({
74
80
  routesConfig,
75
- ssrMode
81
+ ssrMode,
82
+ props: {
83
+ nonce
84
+ }
76
85
  }));
77
86
  const { query } = (0, _remixrouter.createStaticHandler)(routes, {
78
87
  basename: _basename
@@ -83,7 +92,7 @@ const routerPlugin = ({ basename = "", routesConfig, createRoutes }) => {
83
92
  return routerContext;
84
93
  }
85
94
  const router = (0, _router.createStaticRouter)(routes, routerContext);
86
- context.router = router;
95
+ context.remixRouter = router;
87
96
  context.routerContext = routerContext;
88
97
  context.routes = routes;
89
98
  context.routeManifest = context.ssrContext.routeManifest;
@@ -101,11 +110,11 @@ const routerPlugin = ({ basename = "", routesConfig, createRoutes }) => {
101
110
  }
102
111
  const getRouteApp = () => {
103
112
  return (props) => {
104
- const { router, routerContext } = (0, _react.useContext)(_core.RuntimeReactContext);
113
+ const { remixRouter, routerContext } = (0, _react.useContext)(_core.RuntimeReactContext);
105
114
  return /* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
106
115
  ...props,
107
116
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_router.StaticRouterProvider, {
108
- router,
117
+ router: remixRouter,
109
118
  context: routerContext,
110
119
  hydrate: false
111
120
  })
@@ -121,6 +130,22 @@ const routerPlugin = ({ basename = "", routesConfig, createRoutes }) => {
121
130
  return next({
122
131
  App: RouteApp
123
132
  });
133
+ },
134
+ pickContext: ({ context, pickedContext }, next) => {
135
+ const { remixRouter } = context;
136
+ const router = {
137
+ navigate: remixRouter.navigate,
138
+ get location() {
139
+ return remixRouter.state.location;
140
+ }
141
+ };
142
+ return next({
143
+ context,
144
+ pickedContext: {
145
+ ...pickedContext,
146
+ router
147
+ }
148
+ });
124
149
  }
125
150
  };
126
151
  }
@@ -10,13 +10,27 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- getRouteComponents: () => getRouteComponents,
14
- renderRoutes: () => renderRoutes,
15
- getLocation: () => getLocation,
16
- urlJoin: () => urlJoin,
17
- standardSlash: () => standardSlash,
18
- serializeErrors: () => serializeErrors,
19
- deserializeErrors: () => deserializeErrors
13
+ getRouteComponents: function() {
14
+ return getRouteComponents;
15
+ },
16
+ renderRoutes: function() {
17
+ return renderRoutes;
18
+ },
19
+ getLocation: function() {
20
+ return getLocation;
21
+ },
22
+ urlJoin: function() {
23
+ return urlJoin;
24
+ },
25
+ standardSlash: function() {
26
+ return standardSlash;
27
+ },
28
+ serializeErrors: function() {
29
+ return serializeErrors;
30
+ },
31
+ deserializeErrors: function() {
32
+ return deserializeErrors;
33
+ }
20
34
  });
21
35
  const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
22
36
  const _jsxruntime = require("react/jsx-runtime");
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "withRouter", {
6
6
  enumerable: true,
7
- get: () => withRouter
7
+ get: function() {
8
+ return withRouter;
9
+ }
8
10
  });
9
11
  const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
12
  const _jsxruntime = require("react/jsx-runtime");
@@ -10,8 +10,12 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- RuntimeReactContext: () => RuntimeReactContext,
14
- ServerRouterContext: () => ServerRouterContext
13
+ RuntimeReactContext: function() {
14
+ return RuntimeReactContext;
15
+ },
16
+ ServerRouterContext: function() {
17
+ return ServerRouterContext;
18
+ }
15
19
  });
16
20
  const _react = require("react");
17
21
  const RuntimeReactContext = (0, _react.createContext)({});
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
- get: () => _default
7
+ get: function() {
8
+ return _default;
9
+ }
8
10
  });
9
11
  const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
12
  const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
@@ -123,11 +125,16 @@ const _default = () => {
123
125
  imports
124
126
  };
125
127
  },
126
- modifyEntryRuntimePlugins({ entrypoint, plugins }) {
128
+ modifyEntryRuntimePlugins({ entrypoint, plugins, bundlerConfigs }) {
127
129
  if (ssrConfigMap.get(entrypoint.entryName)) {
130
+ var _bundlerConfigs_find, _bundlerConfigs_find_output;
131
+ const chunkLoadingGlobal = (_bundlerConfigs_find = bundlerConfigs === null || bundlerConfigs === void 0 ? void 0 : bundlerConfigs.find((config) => config.name === "client")) === null || _bundlerConfigs_find === void 0 ? void 0 : (_bundlerConfigs_find_output = _bundlerConfigs_find.output) === null || _bundlerConfigs_find_output === void 0 ? void 0 : _bundlerConfigs_find_output.chunkLoadingGlobal;
128
132
  plugins.push({
129
133
  name: PLUGIN_IDENTIFIER,
130
- options: JSON.stringify(ssrConfigMap.get(entrypoint.entryName))
134
+ options: JSON.stringify({
135
+ ...ssrConfigMap.get(entrypoint.entryName) || {},
136
+ chunkLoadingGlobal
137
+ })
131
138
  });
132
139
  }
133
140
  return {