@bleedingdev/modern-js-runtime 3.2.0-ultramodern.120 → 3.2.0-ultramodern.122
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.
- package/dist/cjs/boundary-debugger/index.js +4 -0
- package/dist/cjs/cli/index.js +11 -0
- package/dist/cjs/{router/runtime/tanstack/rsc/ClientSlot.js → core/context/extensions.js} +33 -21
- package/dist/cjs/{router/runtime/tanstack/rsc/SlotContext.js → core/context/helmetContext.js} +16 -20
- package/dist/cjs/core/context/index.js +65 -0
- package/dist/cjs/core/react/wrapper.js +6 -4
- package/dist/cjs/core/server/helmet.js +2 -1
- package/dist/cjs/core/server/requestHandler.js +42 -29
- package/dist/cjs/core/server/routerCleanup.js +110 -0
- package/dist/cjs/core/server/scriptOrder.js +75 -4
- package/dist/cjs/core/server/stream/afterTemplate.js +6 -18
- package/dist/cjs/core/server/stream/deferredScript.js +4 -1
- package/dist/cjs/core/server/string/index.js +1 -7
- package/dist/cjs/core/server/string/loadable.js +13 -40
- package/dist/cjs/core/server/string/ssrData.js +1 -1
- package/dist/cjs/core/server/utils.js +31 -8
- package/dist/cjs/exports/head.js +135 -74
- package/dist/cjs/exports/tanstack-router.js +36 -305
- package/dist/cjs/module-federation/index.js +178 -0
- package/dist/cjs/router/cli/code/index.js +1 -47
- package/dist/cjs/router/cli/code/templates.js +1 -14
- package/dist/cjs/router/cli/handler.js +1 -1
- package/dist/cjs/router/cli/index.js +2 -23
- package/dist/cjs/router/runtime/DeferredDataScripts.node.js +16 -4
- package/dist/cjs/router/runtime/PrefetchLink.js +2 -3
- package/dist/cjs/router/runtime/internal.js +20 -13
- package/dist/cjs/router/runtime/lifecycle.js +37 -22
- package/dist/cjs/router/runtime/plugin.js +2 -9
- package/dist/cjs/router/runtime/plugin.node.js +2 -7
- package/dist/cjs/router/runtime/provider.js +107 -0
- package/dist/cjs/router/runtime/utils.js +35 -9
- package/dist/esm/boundary-debugger/index.mjs +4 -0
- package/dist/esm/cli/index.mjs +4 -2
- package/dist/esm/core/context/extensions.mjs +28 -0
- package/dist/esm/core/context/helmetContext.mjs +13 -0
- package/dist/esm/core/context/index.mjs +5 -0
- package/dist/esm/core/react/wrapper.mjs +6 -4
- package/dist/esm/core/server/helmet.mjs +2 -1
- package/dist/esm/core/server/requestHandler.mjs +43 -30
- package/dist/esm/core/server/routerCleanup.mjs +66 -0
- package/dist/esm/core/server/scriptOrder.mjs +60 -1
- package/dist/esm/core/server/stream/afterTemplate.mjs +8 -20
- package/dist/esm/core/server/stream/deferredScript.mjs +4 -1
- package/dist/esm/core/server/string/index.mjs +3 -9
- package/dist/esm/core/server/string/loadable.mjs +11 -38
- package/dist/esm/core/server/string/ssrData.mjs +2 -2
- package/dist/esm/core/server/utils.mjs +31 -8
- package/dist/esm/exports/head.mjs +135 -74
- package/dist/esm/exports/tanstack-router.mjs +30 -4
- package/dist/esm/module-federation/index.mjs +109 -0
- package/dist/esm/router/cli/code/index.mjs +1 -47
- package/dist/esm/router/cli/code/templates.mjs +1 -14
- package/dist/esm/router/cli/handler.mjs +1 -1
- package/dist/esm/router/cli/index.mjs +3 -24
- package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +16 -4
- package/dist/esm/router/runtime/PrefetchLink.mjs +2 -3
- package/dist/esm/router/runtime/internal.mjs +16 -15
- package/dist/esm/router/runtime/lifecycle.mjs +22 -13
- package/dist/esm/router/runtime/plugin.mjs +4 -11
- package/dist/esm/router/runtime/plugin.node.mjs +4 -9
- package/dist/esm/router/runtime/provider.mjs +57 -0
- package/dist/esm/router/runtime/utils.mjs +35 -9
- package/dist/esm-node/boundary-debugger/index.mjs +4 -0
- package/dist/esm-node/cli/index.mjs +4 -2
- package/dist/esm-node/core/context/extensions.mjs +29 -0
- package/dist/esm-node/core/context/helmetContext.mjs +14 -0
- package/dist/esm-node/core/context/index.mjs +5 -0
- package/dist/esm-node/core/react/wrapper.mjs +6 -4
- package/dist/esm-node/core/server/helmet.mjs +2 -1
- package/dist/esm-node/core/server/requestHandler.mjs +43 -30
- package/dist/esm-node/core/server/routerCleanup.mjs +67 -0
- package/dist/esm-node/core/server/scriptOrder.mjs +60 -1
- package/dist/esm-node/core/server/stream/afterTemplate.mjs +8 -20
- package/dist/esm-node/core/server/stream/deferredScript.mjs +4 -1
- package/dist/esm-node/core/server/string/index.mjs +3 -9
- package/dist/esm-node/core/server/string/loadable.mjs +11 -38
- package/dist/esm-node/core/server/string/ssrData.mjs +2 -2
- package/dist/esm-node/core/server/utils.mjs +31 -8
- package/dist/esm-node/exports/head.mjs +135 -74
- package/dist/esm-node/exports/tanstack-router.mjs +30 -4
- package/dist/esm-node/module-federation/index.mjs +110 -0
- package/dist/esm-node/router/cli/code/index.mjs +1 -47
- package/dist/esm-node/router/cli/code/templates.mjs +1 -14
- package/dist/esm-node/router/cli/handler.mjs +1 -1
- package/dist/esm-node/router/cli/index.mjs +3 -24
- package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +16 -4
- package/dist/esm-node/router/runtime/PrefetchLink.mjs +2 -3
- package/dist/esm-node/router/runtime/internal.mjs +16 -15
- package/dist/esm-node/router/runtime/lifecycle.mjs +22 -13
- package/dist/esm-node/router/runtime/plugin.mjs +4 -11
- package/dist/esm-node/router/runtime/plugin.node.mjs +4 -9
- package/dist/esm-node/router/runtime/provider.mjs +58 -0
- package/dist/esm-node/router/runtime/utils.mjs +35 -9
- package/dist/types/cli/index.d.ts +3 -1
- package/dist/types/core/context/extensions.d.ts +37 -0
- package/dist/types/core/context/helmetContext.d.ts +10 -0
- package/dist/types/core/context/index.d.ts +6 -0
- package/dist/types/core/context/runtime.d.ts +1 -11
- package/dist/types/core/server/routerCleanup.d.ts +28 -0
- package/dist/types/core/server/scriptOrder.d.ts +24 -0
- package/dist/types/core/server/string/loadable.d.ts +1 -7
- package/dist/types/core/server/utils.d.ts +1 -0
- package/dist/types/exports/tanstack-router.d.ts +88 -7
- package/dist/types/module-federation/index.d.ts +65 -0
- package/dist/types/router/cli/code/index.d.ts +1 -3
- package/dist/types/router/cli/handler.d.ts +0 -3
- package/dist/types/router/runtime/internal.d.ts +1 -0
- package/dist/types/router/runtime/lifecycle.d.ts +2 -0
- package/dist/types/router/runtime/plugin.d.ts +1 -1
- package/dist/types/router/runtime/plugin.node.d.ts +1 -1
- package/dist/types/router/runtime/provider.d.ts +61 -0
- package/package.json +16 -12
- package/rstest.config.mts +2 -4
- package/dist/cjs/router/cli/code/tanstackTypes.js +0 -447
- package/dist/cjs/router/runtime/tanstack/basepathRewrite.js +0 -66
- package/dist/cjs/router/runtime/tanstack/dataMutation.js +0 -349
- package/dist/cjs/router/runtime/tanstack/hydrationBoundary.js +0 -48
- package/dist/cjs/router/runtime/tanstack/outlet.js +0 -58
- package/dist/cjs/router/runtime/tanstack/plugin.js +0 -342
- package/dist/cjs/router/runtime/tanstack/plugin.node.js +0 -272
- package/dist/cjs/router/runtime/tanstack/prefetchLink.js +0 -59
- package/dist/cjs/router/runtime/tanstack/routeTree.js +0 -525
- package/dist/cjs/router/runtime/tanstack/rsc/CompositeComponent.js +0 -79
- package/dist/cjs/router/runtime/tanstack/rsc/ReplayableStream.js +0 -146
- package/dist/cjs/router/runtime/tanstack/rsc/RscNodeRenderer.js +0 -69
- package/dist/cjs/router/runtime/tanstack/rsc/client.js +0 -97
- package/dist/cjs/router/runtime/tanstack/rsc/createRscProxy.js +0 -145
- package/dist/cjs/router/runtime/tanstack/rsc/index.js +0 -46
- package/dist/cjs/router/runtime/tanstack/rsc/server.js +0 -250
- package/dist/cjs/router/runtime/tanstack/rsc/slotUsageSanitizer.js +0 -69
- package/dist/cjs/router/runtime/tanstack/rsc/symbols.js +0 -77
- package/dist/cjs/ssr/index.node.js +0 -125
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -88
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -200
- package/dist/cjs/ssr/serverRender/types.js +0 -40
- package/dist/esm/router/cli/code/tanstackTypes.mjs +0 -396
- package/dist/esm/router/runtime/tanstack/basepathRewrite.mjs +0 -28
- package/dist/esm/router/runtime/tanstack/dataMutation.mjs +0 -305
- package/dist/esm/router/runtime/tanstack/hydrationBoundary.mjs +0 -10
- package/dist/esm/router/runtime/tanstack/outlet.mjs +0 -17
- package/dist/esm/router/runtime/tanstack/plugin.mjs +0 -304
- package/dist/esm/router/runtime/tanstack/plugin.node.mjs +0 -234
- package/dist/esm/router/runtime/tanstack/prefetchLink.mjs +0 -18
- package/dist/esm/router/runtime/tanstack/routeTree.mjs +0 -481
- package/dist/esm/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -19
- package/dist/esm/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -41
- package/dist/esm/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -104
- package/dist/esm/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -31
- package/dist/esm/router/runtime/tanstack/rsc/SlotContext.mjs +0 -17
- package/dist/esm/router/runtime/tanstack/rsc/client.mjs +0 -53
- package/dist/esm/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -107
- package/dist/esm/router/runtime/tanstack/rsc/index.mjs +0 -1
- package/dist/esm/router/runtime/tanstack/rsc/server.mjs +0 -200
- package/dist/esm/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -31
- package/dist/esm/router/runtime/tanstack/rsc/symbols.mjs +0 -17
- package/dist/esm/ssr/index.node.mjs +0 -44
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -50
- package/dist/esm/ssr/serverRender/renderToString/entry.mjs +0 -151
- package/dist/esm/ssr/serverRender/types.mjs +0 -1
- package/dist/esm-node/router/cli/code/tanstackTypes.mjs +0 -397
- package/dist/esm-node/router/runtime/tanstack/basepathRewrite.mjs +0 -29
- package/dist/esm-node/router/runtime/tanstack/dataMutation.mjs +0 -306
- package/dist/esm-node/router/runtime/tanstack/hydrationBoundary.mjs +0 -11
- package/dist/esm-node/router/runtime/tanstack/outlet.mjs +0 -18
- package/dist/esm-node/router/runtime/tanstack/plugin.mjs +0 -305
- package/dist/esm-node/router/runtime/tanstack/plugin.node.mjs +0 -235
- package/dist/esm-node/router/runtime/tanstack/prefetchLink.mjs +0 -19
- package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +0 -482
- package/dist/esm-node/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -20
- package/dist/esm-node/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -42
- package/dist/esm-node/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -105
- package/dist/esm-node/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -32
- package/dist/esm-node/router/runtime/tanstack/rsc/SlotContext.mjs +0 -18
- package/dist/esm-node/router/runtime/tanstack/rsc/client.mjs +0 -54
- package/dist/esm-node/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -108
- package/dist/esm-node/router/runtime/tanstack/rsc/index.mjs +0 -2
- package/dist/esm-node/router/runtime/tanstack/rsc/server.mjs +0 -201
- package/dist/esm-node/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -32
- package/dist/esm-node/router/runtime/tanstack/rsc/symbols.mjs +0 -18
- package/dist/esm-node/ssr/index.node.mjs +0 -45
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -51
- package/dist/esm-node/ssr/serverRender/renderToString/entry.mjs +0 -152
- package/dist/esm-node/ssr/serverRender/types.mjs +0 -2
- package/dist/types/router/cli/code/tanstackTypes.d.ts +0 -10
- package/dist/types/router/runtime/tanstack/basepathRewrite.d.ts +0 -8
- package/dist/types/router/runtime/tanstack/dataMutation.d.ts +0 -29
- package/dist/types/router/runtime/tanstack/hydrationBoundary.d.ts +0 -2
- package/dist/types/router/runtime/tanstack/outlet.d.ts +0 -2
- package/dist/types/router/runtime/tanstack/plugin.d.ts +0 -6
- package/dist/types/router/runtime/tanstack/plugin.node.d.ts +0 -6
- package/dist/types/router/runtime/tanstack/prefetchLink.d.ts +0 -11
- package/dist/types/router/runtime/tanstack/routeTree.d.ts +0 -8
- package/dist/types/router/runtime/tanstack/rsc/ClientSlot.d.ts +0 -5
- package/dist/types/router/runtime/tanstack/rsc/CompositeComponent.d.ts +0 -3
- package/dist/types/router/runtime/tanstack/rsc/ReplayableStream.d.ts +0 -24
- package/dist/types/router/runtime/tanstack/rsc/RscNodeRenderer.d.ts +0 -5
- package/dist/types/router/runtime/tanstack/rsc/SlotContext.d.ts +0 -11
- package/dist/types/router/runtime/tanstack/rsc/client.d.ts +0 -11
- package/dist/types/router/runtime/tanstack/rsc/createRscProxy.d.ts +0 -7
- package/dist/types/router/runtime/tanstack/rsc/index.d.ts +0 -2
- package/dist/types/router/runtime/tanstack/rsc/server.d.ts +0 -14
- package/dist/types/router/runtime/tanstack/rsc/slotUsageSanitizer.d.ts +0 -2
- package/dist/types/router/runtime/tanstack/rsc/symbols.d.ts +0 -46
|
@@ -229,9 +229,13 @@ function BoundaryDebugger({ controlMode = 'visible', enabledByDefault = false, l
|
|
|
229
229
|
enabled ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
230
230
|
"aria-hidden": "true",
|
|
231
231
|
children: boxes.map((box)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
232
|
+
"data-modern-boundary-overlay": "",
|
|
233
|
+
"data-modern-boundary-overlay-id": box.id,
|
|
234
|
+
"data-modern-boundary-overlay-label": box.label,
|
|
232
235
|
style: {
|
|
233
236
|
border: `2px solid ${box.color}`,
|
|
234
237
|
borderRadius: 8,
|
|
238
|
+
boxSizing: 'border-box',
|
|
235
239
|
boxShadow: `0 0 0 1px rgba(255,255,255,.72), 0 6px 20px color-mix(in srgb, ${box.color} 20%, transparent)`,
|
|
236
240
|
height: box.height,
|
|
237
241
|
left: box.left,
|
package/dist/cjs/cli/index.js
CHANGED
|
@@ -40,11 +40,14 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
40
40
|
default: ()=>cli,
|
|
41
41
|
documentPlugin: ()=>index_js_namespaceObject.documentPlugin,
|
|
42
42
|
getEntrypointRoutesDir: ()=>external_router_cli_index_js_namespaceObject.getEntrypointRoutesDir,
|
|
43
|
+
getEntrypointRoutesOwner: ()=>external_router_cli_index_js_namespaceObject.getEntrypointRoutesOwner,
|
|
44
|
+
getPathWithoutExt: ()=>utils_js_namespaceObject.getPathWithoutExt,
|
|
43
45
|
handleFileChange: ()=>external_router_cli_index_js_namespaceObject.handleFileChange,
|
|
44
46
|
handleGeneratorEntryCode: ()=>external_router_cli_index_js_namespaceObject.handleGeneratorEntryCode,
|
|
45
47
|
handleModifyEntrypoints: ()=>external_router_cli_index_js_namespaceObject.handleModifyEntrypoints,
|
|
46
48
|
isRouteEntry: ()=>external_router_cli_index_js_namespaceObject.isRouteEntry,
|
|
47
49
|
isRuntimeEntry: ()=>external_entry_js_namespaceObject.isRuntimeEntry,
|
|
50
|
+
makeLegalIdentifier: ()=>makeLegalIdentifier_js_namespaceObject.makeLegalIdentifier,
|
|
48
51
|
routerPlugin: ()=>external_router_cli_index_js_namespaceObject.routerPlugin,
|
|
49
52
|
runtimePlugin: ()=>runtimePlugin,
|
|
50
53
|
ssrPlugin: ()=>external_ssr_index_js_namespaceObject.ssrPlugin
|
|
@@ -59,6 +62,8 @@ const external_code_js_namespaceObject = require("./code.js");
|
|
|
59
62
|
const external_constants_js_namespaceObject = require("./constants.js");
|
|
60
63
|
const external_entry_js_namespaceObject = require("./entry.js");
|
|
61
64
|
const external_ssr_index_js_namespaceObject = require("./ssr/index.js");
|
|
65
|
+
const makeLegalIdentifier_js_namespaceObject = require("../router/cli/code/makeLegalIdentifier.js");
|
|
66
|
+
const utils_js_namespaceObject = require("../router/cli/code/utils.js");
|
|
62
67
|
const runtimePlugin = (params)=>({
|
|
63
68
|
name: '@modern-js/runtime',
|
|
64
69
|
post: [
|
|
@@ -144,11 +149,14 @@ const cli = runtimePlugin;
|
|
|
144
149
|
exports["default"] = __webpack_exports__["default"];
|
|
145
150
|
exports.documentPlugin = __webpack_exports__.documentPlugin;
|
|
146
151
|
exports.getEntrypointRoutesDir = __webpack_exports__.getEntrypointRoutesDir;
|
|
152
|
+
exports.getEntrypointRoutesOwner = __webpack_exports__.getEntrypointRoutesOwner;
|
|
153
|
+
exports.getPathWithoutExt = __webpack_exports__.getPathWithoutExt;
|
|
147
154
|
exports.handleFileChange = __webpack_exports__.handleFileChange;
|
|
148
155
|
exports.handleGeneratorEntryCode = __webpack_exports__.handleGeneratorEntryCode;
|
|
149
156
|
exports.handleModifyEntrypoints = __webpack_exports__.handleModifyEntrypoints;
|
|
150
157
|
exports.isRouteEntry = __webpack_exports__.isRouteEntry;
|
|
151
158
|
exports.isRuntimeEntry = __webpack_exports__.isRuntimeEntry;
|
|
159
|
+
exports.makeLegalIdentifier = __webpack_exports__.makeLegalIdentifier;
|
|
152
160
|
exports.routerPlugin = __webpack_exports__.routerPlugin;
|
|
153
161
|
exports.runtimePlugin = __webpack_exports__.runtimePlugin;
|
|
154
162
|
exports.ssrPlugin = __webpack_exports__.ssrPlugin;
|
|
@@ -156,11 +164,14 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
156
164
|
"default",
|
|
157
165
|
"documentPlugin",
|
|
158
166
|
"getEntrypointRoutesDir",
|
|
167
|
+
"getEntrypointRoutesOwner",
|
|
168
|
+
"getPathWithoutExt",
|
|
159
169
|
"handleFileChange",
|
|
160
170
|
"handleGeneratorEntryCode",
|
|
161
171
|
"handleModifyEntrypoints",
|
|
162
172
|
"isRouteEntry",
|
|
163
173
|
"isRuntimeEntry",
|
|
174
|
+
"makeLegalIdentifier",
|
|
164
175
|
"routerPlugin",
|
|
165
176
|
"runtimePlugin",
|
|
166
177
|
"ssrPlugin"
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
"use client";
|
|
3
2
|
var __webpack_require__ = {};
|
|
4
3
|
(()=>{
|
|
5
4
|
__webpack_require__.d = (exports1, getters, values)=>{
|
|
@@ -28,29 +27,42 @@ var __webpack_require__ = {};
|
|
|
28
27
|
})();
|
|
29
28
|
var __webpack_exports__ = {};
|
|
30
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
const EXTENSIONS_SLOT = Symbol.for('@modern-js/runtime:context-extensions');
|
|
31
|
+
function getStore(context) {
|
|
32
|
+
return context[EXTENSIONS_SLOT];
|
|
33
|
+
}
|
|
34
|
+
function ensureStore(context) {
|
|
35
|
+
const target = context;
|
|
36
|
+
target[EXTENSIONS_SLOT] ??= new Map();
|
|
37
|
+
return target[EXTENSIONS_SLOT];
|
|
38
|
+
}
|
|
39
|
+
function stripRuntimeContextExtensions(context) {
|
|
40
|
+
delete context[EXTENSIONS_SLOT];
|
|
41
|
+
}
|
|
42
|
+
function createRuntimeContextExtension(id) {
|
|
43
|
+
const key = Symbol.for(`@modern-js/runtime:context-extension:${id}`);
|
|
44
|
+
return {
|
|
45
|
+
key,
|
|
46
|
+
get (context) {
|
|
47
|
+
return getStore(context)?.get(key);
|
|
48
|
+
},
|
|
49
|
+
set (context, value) {
|
|
50
|
+
ensureStore(context).set(key, value);
|
|
51
|
+
},
|
|
52
|
+
remove (context) {
|
|
53
|
+
getStore(context)?.delete(key);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
31
57
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
|
-
|
|
58
|
+
createRuntimeContextExtension: ()=>createRuntimeContextExtension,
|
|
59
|
+
stripRuntimeContextExtensions: ()=>stripRuntimeContextExtensions
|
|
33
60
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
function ClientSlot({ args, slot }) {
|
|
37
|
-
const context = (0, external_SlotContext_js_namespaceObject.useSlotContext)();
|
|
38
|
-
if (!context) throw new Error('ClientSlot must be rendered inside CompositeComponent.');
|
|
39
|
-
const implementation = context.implementations[slot];
|
|
40
|
-
if (void 0 === implementation) {
|
|
41
|
-
if (context.strict) throw new Error(`Missing RSC slot implementation for "${slot}".`);
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
if ('function' == typeof implementation) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
|
|
45
|
-
children: implementation(...args)
|
|
46
|
-
});
|
|
47
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
|
|
48
|
-
children: implementation
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
exports.ClientSlot = __webpack_exports__.ClientSlot;
|
|
61
|
+
exports.createRuntimeContextExtension = __webpack_exports__.createRuntimeContextExtension;
|
|
62
|
+
exports.stripRuntimeContextExtensions = __webpack_exports__.stripRuntimeContextExtensions;
|
|
52
63
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
53
|
-
"
|
|
64
|
+
"createRuntimeContextExtension",
|
|
65
|
+
"stripRuntimeContextExtensions"
|
|
54
66
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
55
67
|
Object.defineProperty(exports, '__esModule', {
|
|
56
68
|
value: true
|
package/dist/cjs/{router/runtime/tanstack/rsc/SlotContext.js → core/context/helmetContext.js}
RENAMED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
"use client";
|
|
3
2
|
var __webpack_require__ = {};
|
|
4
3
|
(()=>{
|
|
5
4
|
__webpack_require__.d = (exports1, getters, values)=>{
|
|
@@ -29,29 +28,26 @@ var __webpack_require__ = {};
|
|
|
29
28
|
var __webpack_exports__ = {};
|
|
30
29
|
__webpack_require__.r(__webpack_exports__);
|
|
31
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
ensureHelmetContext: ()=>ensureHelmetContext,
|
|
32
|
+
getHelmetContext: ()=>getHelmetContext
|
|
34
33
|
});
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return (0, external_react_namespaceObject.use)(SlotContext);
|
|
34
|
+
const external_extensions_js_namespaceObject = require("./extensions.js");
|
|
35
|
+
const helmetContextExtension = (0, external_extensions_js_namespaceObject.createRuntimeContextExtension)('@modern-js/runtime:helmet-context');
|
|
36
|
+
function getHelmetContext(context) {
|
|
37
|
+
return helmetContextExtension.get(context);
|
|
40
38
|
}
|
|
41
|
-
function
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
children: children
|
|
48
|
-
});
|
|
39
|
+
function ensureHelmetContext(context) {
|
|
40
|
+
const existing = helmetContextExtension.get(context);
|
|
41
|
+
if (void 0 !== existing) return existing;
|
|
42
|
+
const created = {};
|
|
43
|
+
helmetContextExtension.set(context, created);
|
|
44
|
+
return created;
|
|
49
45
|
}
|
|
50
|
-
exports.
|
|
51
|
-
exports.
|
|
46
|
+
exports.ensureHelmetContext = __webpack_exports__.ensureHelmetContext;
|
|
47
|
+
exports.getHelmetContext = __webpack_exports__.getHelmetContext;
|
|
52
48
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
53
|
-
"
|
|
54
|
-
"
|
|
49
|
+
"ensureHelmetContext",
|
|
50
|
+
"getHelmetContext"
|
|
55
51
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
56
52
|
Object.defineProperty(exports, '__esModule', {
|
|
57
53
|
value: true
|
|
@@ -28,8 +28,15 @@ var __webpack_require__ = {};
|
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
DefaultNotFound: ()=>DefaultNotFound_js_namespaceObject.DefaultNotFound,
|
|
31
32
|
InternalRuntimeContext: ()=>external_runtime_js_namespaceObject.InternalRuntimeContext,
|
|
32
33
|
RuntimeContext: ()=>external_runtime_js_namespaceObject.RuntimeContext,
|
|
34
|
+
applyRouterRuntimeState: ()=>lifecycle_js_namespaceObject.applyRouterRuntimeState,
|
|
35
|
+
applyRouterServerPrepareResult: ()=>lifecycle_js_namespaceObject.applyRouterServerPrepareResult,
|
|
36
|
+
cleanupRouterRuntimeState: ()=>lifecycle_js_namespaceObject.cleanupRouterRuntimeState,
|
|
37
|
+
createRouterRuntimeState: ()=>lifecycle_js_namespaceObject.createRouterRuntimeState,
|
|
38
|
+
createRouterServerSnapshot: ()=>lifecycle_js_namespaceObject.createRouterServerSnapshot,
|
|
39
|
+
createRuntimeContextExtension: ()=>external_extensions_js_namespaceObject.createRuntimeContextExtension,
|
|
33
40
|
getCurrentEntryName: ()=>getCurrentEntryName,
|
|
34
41
|
getGlobalApp: ()=>getGlobalApp,
|
|
35
42
|
getGlobalBasename: ()=>getGlobalBasename,
|
|
@@ -40,11 +47,29 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
40
47
|
getGlobalRSCRoot: ()=>getGlobalRSCRoot,
|
|
41
48
|
getGlobalRoutes: ()=>getGlobalRoutes,
|
|
42
49
|
getInitialContext: ()=>external_runtime_js_namespaceObject.getInitialContext,
|
|
50
|
+
getRouterHydrationScripts: ()=>lifecycle_js_namespaceObject.getRouterHydrationScripts,
|
|
51
|
+
getRouterMatchedRouteIds: ()=>lifecycle_js_namespaceObject.getRouterMatchedRouteIds,
|
|
52
|
+
getRouterRuntimeState: ()=>lifecycle_js_namespaceObject.getRouterRuntimeState,
|
|
53
|
+
getRouterServerSnapshot: ()=>lifecycle_js_namespaceObject.getRouterServerSnapshot,
|
|
43
54
|
getServerPayload: ()=>index_js_namespaceObject.getServerPayload,
|
|
55
|
+
modifyRoutes: ()=>hooks_js_namespaceObject.modifyRoutes,
|
|
56
|
+
onAfterCreateRouter: ()=>hooks_js_namespaceObject.onAfterCreateRouter,
|
|
57
|
+
onAfterHydrateRouter: ()=>hooks_js_namespaceObject.onAfterHydrateRouter,
|
|
58
|
+
onBeforeCreateRouter: ()=>hooks_js_namespaceObject.onBeforeCreateRouter,
|
|
59
|
+
onBeforeCreateRoutes: ()=>hooks_js_namespaceObject.onBeforeCreateRoutes,
|
|
60
|
+
onBeforeHydrateRouter: ()=>hooks_js_namespaceObject.onBeforeHydrateRouter,
|
|
61
|
+
registerRouterProvider: ()=>provider_js_namespaceObject.registerRouterProvider,
|
|
62
|
+
resolveRouterProvider: ()=>provider_js_namespaceObject.resolveRouterProvider,
|
|
63
|
+
routerProviderRegistryHooks: ()=>provider_js_namespaceObject.routerProviderRegistryHooks,
|
|
44
64
|
setGlobalContext: ()=>setGlobalContext,
|
|
45
65
|
setGlobalInternalRuntimeContext: ()=>setGlobalInternalRuntimeContext,
|
|
46
66
|
setServerPayload: ()=>index_js_namespaceObject.setServerPayload
|
|
47
67
|
});
|
|
68
|
+
const DefaultNotFound_js_namespaceObject = require("../../router/runtime/DefaultNotFound.js");
|
|
69
|
+
const hooks_js_namespaceObject = require("../../router/runtime/hooks.js");
|
|
70
|
+
const lifecycle_js_namespaceObject = require("../../router/runtime/lifecycle.js");
|
|
71
|
+
const provider_js_namespaceObject = require("../../router/runtime/provider.js");
|
|
72
|
+
const external_extensions_js_namespaceObject = require("./extensions.js");
|
|
48
73
|
const external_runtime_js_namespaceObject = require("./runtime.js");
|
|
49
74
|
const index_js_namespaceObject = require("./serverPayload/index.js");
|
|
50
75
|
const globalContext = {};
|
|
@@ -89,8 +114,15 @@ function getGlobalLayoutApp() {
|
|
|
89
114
|
function getGlobalBasename() {
|
|
90
115
|
return globalContext.basename;
|
|
91
116
|
}
|
|
117
|
+
exports.DefaultNotFound = __webpack_exports__.DefaultNotFound;
|
|
92
118
|
exports.InternalRuntimeContext = __webpack_exports__.InternalRuntimeContext;
|
|
93
119
|
exports.RuntimeContext = __webpack_exports__.RuntimeContext;
|
|
120
|
+
exports.applyRouterRuntimeState = __webpack_exports__.applyRouterRuntimeState;
|
|
121
|
+
exports.applyRouterServerPrepareResult = __webpack_exports__.applyRouterServerPrepareResult;
|
|
122
|
+
exports.cleanupRouterRuntimeState = __webpack_exports__.cleanupRouterRuntimeState;
|
|
123
|
+
exports.createRouterRuntimeState = __webpack_exports__.createRouterRuntimeState;
|
|
124
|
+
exports.createRouterServerSnapshot = __webpack_exports__.createRouterServerSnapshot;
|
|
125
|
+
exports.createRuntimeContextExtension = __webpack_exports__.createRuntimeContextExtension;
|
|
94
126
|
exports.getCurrentEntryName = __webpack_exports__.getCurrentEntryName;
|
|
95
127
|
exports.getGlobalApp = __webpack_exports__.getGlobalApp;
|
|
96
128
|
exports.getGlobalBasename = __webpack_exports__.getGlobalBasename;
|
|
@@ -101,13 +133,33 @@ exports.getGlobalLayoutApp = __webpack_exports__.getGlobalLayoutApp;
|
|
|
101
133
|
exports.getGlobalRSCRoot = __webpack_exports__.getGlobalRSCRoot;
|
|
102
134
|
exports.getGlobalRoutes = __webpack_exports__.getGlobalRoutes;
|
|
103
135
|
exports.getInitialContext = __webpack_exports__.getInitialContext;
|
|
136
|
+
exports.getRouterHydrationScripts = __webpack_exports__.getRouterHydrationScripts;
|
|
137
|
+
exports.getRouterMatchedRouteIds = __webpack_exports__.getRouterMatchedRouteIds;
|
|
138
|
+
exports.getRouterRuntimeState = __webpack_exports__.getRouterRuntimeState;
|
|
139
|
+
exports.getRouterServerSnapshot = __webpack_exports__.getRouterServerSnapshot;
|
|
104
140
|
exports.getServerPayload = __webpack_exports__.getServerPayload;
|
|
141
|
+
exports.modifyRoutes = __webpack_exports__.modifyRoutes;
|
|
142
|
+
exports.onAfterCreateRouter = __webpack_exports__.onAfterCreateRouter;
|
|
143
|
+
exports.onAfterHydrateRouter = __webpack_exports__.onAfterHydrateRouter;
|
|
144
|
+
exports.onBeforeCreateRouter = __webpack_exports__.onBeforeCreateRouter;
|
|
145
|
+
exports.onBeforeCreateRoutes = __webpack_exports__.onBeforeCreateRoutes;
|
|
146
|
+
exports.onBeforeHydrateRouter = __webpack_exports__.onBeforeHydrateRouter;
|
|
147
|
+
exports.registerRouterProvider = __webpack_exports__.registerRouterProvider;
|
|
148
|
+
exports.resolveRouterProvider = __webpack_exports__.resolveRouterProvider;
|
|
149
|
+
exports.routerProviderRegistryHooks = __webpack_exports__.routerProviderRegistryHooks;
|
|
105
150
|
exports.setGlobalContext = __webpack_exports__.setGlobalContext;
|
|
106
151
|
exports.setGlobalInternalRuntimeContext = __webpack_exports__.setGlobalInternalRuntimeContext;
|
|
107
152
|
exports.setServerPayload = __webpack_exports__.setServerPayload;
|
|
108
153
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
154
|
+
"DefaultNotFound",
|
|
109
155
|
"InternalRuntimeContext",
|
|
110
156
|
"RuntimeContext",
|
|
157
|
+
"applyRouterRuntimeState",
|
|
158
|
+
"applyRouterServerPrepareResult",
|
|
159
|
+
"cleanupRouterRuntimeState",
|
|
160
|
+
"createRouterRuntimeState",
|
|
161
|
+
"createRouterServerSnapshot",
|
|
162
|
+
"createRuntimeContextExtension",
|
|
111
163
|
"getCurrentEntryName",
|
|
112
164
|
"getGlobalApp",
|
|
113
165
|
"getGlobalBasename",
|
|
@@ -118,7 +170,20 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
118
170
|
"getGlobalRSCRoot",
|
|
119
171
|
"getGlobalRoutes",
|
|
120
172
|
"getInitialContext",
|
|
173
|
+
"getRouterHydrationScripts",
|
|
174
|
+
"getRouterMatchedRouteIds",
|
|
175
|
+
"getRouterRuntimeState",
|
|
176
|
+
"getRouterServerSnapshot",
|
|
121
177
|
"getServerPayload",
|
|
178
|
+
"modifyRoutes",
|
|
179
|
+
"onAfterCreateRouter",
|
|
180
|
+
"onAfterHydrateRouter",
|
|
181
|
+
"onBeforeCreateRouter",
|
|
182
|
+
"onBeforeCreateRoutes",
|
|
183
|
+
"onBeforeHydrateRouter",
|
|
184
|
+
"registerRouterProvider",
|
|
185
|
+
"resolveRouterProvider",
|
|
186
|
+
"routerProviderRegistryHooks",
|
|
122
187
|
"setGlobalContext",
|
|
123
188
|
"setGlobalInternalRuntimeContext",
|
|
124
189
|
"setServerPayload"
|
|
@@ -33,24 +33,26 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
33
33
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
34
34
|
const external_react_helmet_async_namespaceObject = require("react-helmet-async");
|
|
35
35
|
const index_js_namespaceObject = require("../context/index.js");
|
|
36
|
+
const extensions_js_namespaceObject = require("../context/extensions.js");
|
|
37
|
+
const helmetContext_js_namespaceObject = require("../context/helmetContext.js");
|
|
36
38
|
function wrapRuntimeContextProvider(App, contextValue) {
|
|
37
|
-
const { isBrowser, initialData, routes,
|
|
39
|
+
const { isBrowser, initialData, routes, context, routeManifest, routerContext, unstable_getBlockNavState, ssrContext, _internalContext, _internalRouterBaseName, ...rest } = contextValue;
|
|
38
40
|
const internalContextValue = contextValue;
|
|
39
|
-
|
|
41
|
+
const helmetContext = (0, helmetContext_js_namespaceObject.ensureHelmetContext)(internalContextValue);
|
|
40
42
|
const runtimeContextValue = {
|
|
41
43
|
isBrowser,
|
|
42
44
|
initialData,
|
|
43
45
|
routes,
|
|
44
|
-
routerFramework,
|
|
45
46
|
context,
|
|
46
47
|
...rest
|
|
47
48
|
};
|
|
49
|
+
(0, extensions_js_namespaceObject.stripRuntimeContextExtensions)(runtimeContextValue);
|
|
48
50
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.InternalRuntimeContext.Provider, {
|
|
49
51
|
value: internalContextValue,
|
|
50
52
|
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.RuntimeContext.Provider, {
|
|
51
53
|
value: runtimeContextValue,
|
|
52
54
|
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_helmet_async_namespaceObject.HelmetProvider, {
|
|
53
|
-
context:
|
|
55
|
+
context: helmetContext,
|
|
54
56
|
children: App
|
|
55
57
|
})
|
|
56
58
|
})
|
|
@@ -32,6 +32,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
32
32
|
getHelmetData: ()=>getHelmetData,
|
|
33
33
|
helmetReplace: ()=>helmetReplace
|
|
34
34
|
});
|
|
35
|
+
const helmetContext_js_namespaceObject = require("../context/helmetContext.js");
|
|
35
36
|
const external_utils_js_namespaceObject = require("./utils.js");
|
|
36
37
|
const EOL = '\n';
|
|
37
38
|
const RE_HTML_ATTR = /<html[^>]*>/;
|
|
@@ -40,7 +41,7 @@ const RE_LAST_IN_HEAD = /<\/head>/;
|
|
|
40
41
|
const RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
|
|
41
42
|
const TEST_TITLE_CONTENT = /(?<=<title[^>]*>)([\s\S\n\r]*?)([.|\S])([\s\S\n\r]*?)(?=<\/title>)/;
|
|
42
43
|
function getHelmetData(runtimeContext) {
|
|
43
|
-
return runtimeContext
|
|
44
|
+
return (0, helmetContext_js_namespaceObject.getHelmetContext)(runtimeContext)?.helmet ?? void 0;
|
|
44
45
|
}
|
|
45
46
|
function createReplaceHelemt(helmetData) {
|
|
46
47
|
return helmetData ? (template)=>helmetReplace(template, helmetData) : (tempalte)=>tempalte;
|
|
@@ -51,6 +51,7 @@ const runtime_js_namespaceObject = require("../context/runtime.js");
|
|
|
51
51
|
const serverPayload_index_js_namespaceObject = require("../context/serverPayload/index.js");
|
|
52
52
|
const external_react_index_js_namespaceObject = require("../react/index.js");
|
|
53
53
|
const external_constants_js_namespaceObject = require("./constants.js");
|
|
54
|
+
const external_routerCleanup_js_namespaceObject = require("./routerCleanup.js");
|
|
54
55
|
const external_tracer_js_namespaceObject = require("./tracer.js");
|
|
55
56
|
const external_utils_js_namespaceObject = require("./utils.js");
|
|
56
57
|
async function handleRSCRequest(request, Root, context, options, handleRequest) {
|
|
@@ -79,6 +80,39 @@ const processRedirect = (headers, status, ctx)=>{
|
|
|
79
80
|
headers
|
|
80
81
|
});
|
|
81
82
|
};
|
|
83
|
+
const applyRouterSnapshotResult = (context, onError)=>{
|
|
84
|
+
const routerServerSnapshot = (0, lifecycle_js_namespaceObject.getRouterServerSnapshot)(context);
|
|
85
|
+
const routerStatusCode = routerServerSnapshot?.statusCode ?? context.routerContext?.statusCode;
|
|
86
|
+
if (routerStatusCode && 200 !== routerStatusCode) context.ssrContext?.response.status(routerStatusCode);
|
|
87
|
+
const errors = Object.values(routerServerSnapshot?.errors || context.routerContext?.errors || {});
|
|
88
|
+
if (errors.length > 0) onError(errors[0], external_tracer_js_namespaceObject.SSRErrors.LOADER_ERROR);
|
|
89
|
+
};
|
|
90
|
+
const createLoaderRedirectResponse = (beforeRenderResult, redirectCtx)=>{
|
|
91
|
+
if (!beforeRenderResult || !isRedirectStatus(beforeRenderResult.status)) return;
|
|
92
|
+
if (beforeRenderResult.headers.has('X-Modernjs-Redirect')) return beforeRenderResult;
|
|
93
|
+
const redirectUrl = beforeRenderResult.headers.get('Location') || '/';
|
|
94
|
+
return processRedirect(new Headers({
|
|
95
|
+
Location: redirectUrl
|
|
96
|
+
}), beforeRenderResult.status, redirectCtx);
|
|
97
|
+
};
|
|
98
|
+
const renderRequest = async (request, Root, context, options, handleRequest, enableRsc)=>{
|
|
99
|
+
if (enableRsc) return handleRSCRequest(request, Root, context, options, handleRequest);
|
|
100
|
+
return handleRequest(request, Root, {
|
|
101
|
+
...options,
|
|
102
|
+
runtimeContext: context
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
const finalizeRenderResponse = (response, responseProxy, redirectCtx, routerCleanup)=>{
|
|
106
|
+
if (-1 !== responseProxy.status && isRedirectStatus(responseProxy.status) && responseProxy.headers.Location) return processRedirect(new Headers(responseProxy.headers), responseProxy.status, redirectCtx);
|
|
107
|
+
Object.entries(responseProxy.headers).forEach(([key, value])=>{
|
|
108
|
+
response.headers.set(key, value);
|
|
109
|
+
});
|
|
110
|
+
if (-1 !== responseProxy.status) return routerCleanup.deferUntilBodyDone(new Response(response.body, {
|
|
111
|
+
status: responseProxy.status,
|
|
112
|
+
headers: response.headers
|
|
113
|
+
}));
|
|
114
|
+
return routerCleanup.deferUntilBodyDone(response);
|
|
115
|
+
};
|
|
82
116
|
function createSSRContext(request, options) {
|
|
83
117
|
const { config, loaderContext, onError, onTiming, locals, resource, params, responseProxy, reporter } = options;
|
|
84
118
|
const { nonce, useJsonScript } = config;
|
|
@@ -174,41 +208,20 @@ const createRequestHandler = async (handleRequest, createRequestOptions)=>{
|
|
|
174
208
|
isRSCNavigation: 'true' === request.headers.get('x-rsc-tree'),
|
|
175
209
|
basename: ssrContext.baseUrl || '/'
|
|
176
210
|
};
|
|
177
|
-
|
|
211
|
+
return (0, external_routerCleanup_js_namespaceObject.withRouterCleanup)(context, options.onError, async (routerCleanup)=>{
|
|
178
212
|
const beforeRenderResult = await runBeforeRender(context);
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
if (errors.length > 0) options.onError(errors[0], external_tracer_js_namespaceObject.SSRErrors.LOADER_ERROR);
|
|
184
|
-
if ("u" > typeof Response && beforeRenderResult instanceof Response && isRedirectStatus(beforeRenderResult.status)) {
|
|
185
|
-
if (beforeRenderResult.headers.has('X-Modernjs-Redirect')) return beforeRenderResult;
|
|
186
|
-
const redirectUrl = beforeRenderResult.headers.get('Location') || '/';
|
|
187
|
-
return processRedirect(new Headers({
|
|
188
|
-
Location: redirectUrl
|
|
189
|
-
}), beforeRenderResult.status, redirectCtx);
|
|
213
|
+
applyRouterSnapshotResult(context, options.onError);
|
|
214
|
+
if ("u" > typeof Response) {
|
|
215
|
+
const redirectResponse = createLoaderRedirectResponse(beforeRenderResult, redirectCtx);
|
|
216
|
+
if (redirectResponse) return redirectResponse;
|
|
190
217
|
}
|
|
191
218
|
if (!createRequestOptions?.enableRsc) {
|
|
192
219
|
const { htmlTemplate } = options.resource;
|
|
193
220
|
options.resource.htmlTemplate = htmlTemplate.replace('</head>', `${external_constants_js_namespaceObject.CHUNK_CSS_PLACEHOLDER}</head>`);
|
|
194
221
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
runtimeContext: context
|
|
199
|
-
});
|
|
200
|
-
if (-1 !== responseProxy.status && isRedirectStatus(responseProxy.status) && responseProxy.headers.Location) return processRedirect(new Headers(responseProxy.headers), responseProxy.status, redirectCtx);
|
|
201
|
-
Object.entries(responseProxy.headers).forEach(([key, value])=>{
|
|
202
|
-
response.headers.set(key, value);
|
|
203
|
-
});
|
|
204
|
-
if (-1 !== responseProxy.status) return new Response(response.body, {
|
|
205
|
-
status: responseProxy.status,
|
|
206
|
-
headers: response.headers
|
|
207
|
-
});
|
|
208
|
-
return response;
|
|
209
|
-
} finally{
|
|
210
|
-
await (0, lifecycle_js_namespaceObject.cleanupRouterRuntimeState)(context);
|
|
211
|
-
}
|
|
222
|
+
const response = await renderRequest(request, Root, context, options, handleRequest, !!createRequestOptions?.enableRsc);
|
|
223
|
+
return finalizeRenderResponse(response, responseProxy, redirectCtx, routerCleanup);
|
|
224
|
+
});
|
|
212
225
|
});
|
|
213
226
|
};
|
|
214
227
|
return requestHandler;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
ROUTER_CLEANUP_ERROR: ()=>ROUTER_CLEANUP_ERROR,
|
|
32
|
+
createRouterCleanup: ()=>createRouterCleanup,
|
|
33
|
+
withRouterCleanup: ()=>withRouterCleanup
|
|
34
|
+
});
|
|
35
|
+
const lifecycle_js_namespaceObject = require("../../router/runtime/lifecycle.js");
|
|
36
|
+
const ROUTER_CLEANUP_ERROR = 'An error occurs during router runtime cleanup';
|
|
37
|
+
async function withRouterCleanup(runtimeContext, onError, callback) {
|
|
38
|
+
const routerCleanup = createRouterCleanup(runtimeContext, onError);
|
|
39
|
+
try {
|
|
40
|
+
return await callback(routerCleanup);
|
|
41
|
+
} finally{
|
|
42
|
+
if (!routerCleanup.deferred) await routerCleanup.run();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function createRouterCleanup(runtimeContext, onError) {
|
|
46
|
+
let deferred = false;
|
|
47
|
+
let finished = false;
|
|
48
|
+
const run = async ()=>{
|
|
49
|
+
if (finished) return;
|
|
50
|
+
finished = true;
|
|
51
|
+
try {
|
|
52
|
+
await (0, lifecycle_js_namespaceObject.getRouterRuntimeState)(runtimeContext)?.cleanup?.();
|
|
53
|
+
} catch (error) {
|
|
54
|
+
onError(error, ROUTER_CLEANUP_ERROR);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const deferUntilBodyDone = (response)=>{
|
|
58
|
+
const { body } = response;
|
|
59
|
+
if (!body || body.locked) return response;
|
|
60
|
+
deferred = true;
|
|
61
|
+
const reader = body.getReader();
|
|
62
|
+
const wrappedBody = new ReadableStream({
|
|
63
|
+
async pull (controller) {
|
|
64
|
+
let result;
|
|
65
|
+
try {
|
|
66
|
+
result = await reader.read();
|
|
67
|
+
} catch (error) {
|
|
68
|
+
controller.error(error);
|
|
69
|
+
await run();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (result.done) {
|
|
73
|
+
controller.close();
|
|
74
|
+
await run();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
controller.enqueue(result.value);
|
|
78
|
+
},
|
|
79
|
+
async cancel (reason) {
|
|
80
|
+
try {
|
|
81
|
+
await reader.cancel(reason);
|
|
82
|
+
} catch {}
|
|
83
|
+
await run();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
return new Response(wrappedBody, {
|
|
87
|
+
status: response.status,
|
|
88
|
+
statusText: response.statusText,
|
|
89
|
+
headers: response.headers
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
get deferred () {
|
|
94
|
+
return deferred;
|
|
95
|
+
},
|
|
96
|
+
run,
|
|
97
|
+
deferUntilBodyDone
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
exports.ROUTER_CLEANUP_ERROR = __webpack_exports__.ROUTER_CLEANUP_ERROR;
|
|
101
|
+
exports.createRouterCleanup = __webpack_exports__.createRouterCleanup;
|
|
102
|
+
exports.withRouterCleanup = __webpack_exports__.withRouterCleanup;
|
|
103
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
104
|
+
"ROUTER_CLEANUP_ERROR",
|
|
105
|
+
"createRouterCleanup",
|
|
106
|
+
"withRouterCleanup"
|
|
107
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
108
|
+
Object.defineProperty(exports, '__esModule', {
|
|
109
|
+
value: true
|
|
110
|
+
});
|