@react-router/dev 7.2.0 → 7.3.0-pre.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +1 -1
- package/dist/cli/index.js +141 -191
- package/dist/config/defaults/entry.server.node.tsx +2 -0
- package/dist/config.d.ts +6 -2
- package/dist/config.js +1 -1
- package/dist/routes.js +1 -1
- package/dist/vite/cloudflare.d.ts +3 -2
- package/dist/vite/cloudflare.js +64 -44
- package/dist/vite.js +371 -182
- package/package.json +9 -16
package/dist/vite/cloudflare.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @react-router/dev v7.
|
|
2
|
+
* @react-router/dev v7.3.0-pre.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -64,7 +64,18 @@ function invariant(value, message) {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
// vite/node-adapter.ts
|
|
67
|
-
function fromNodeHeaders(
|
|
67
|
+
function fromNodeHeaders(nodeReq) {
|
|
68
|
+
let nodeHeaders = nodeReq.headers;
|
|
69
|
+
if (nodeReq.httpVersionMajor >= 2) {
|
|
70
|
+
nodeHeaders = { ...nodeHeaders };
|
|
71
|
+
if (nodeHeaders[":authority"]) {
|
|
72
|
+
nodeHeaders.host = nodeHeaders[":authority"];
|
|
73
|
+
}
|
|
74
|
+
delete nodeHeaders[":authority"];
|
|
75
|
+
delete nodeHeaders[":method"];
|
|
76
|
+
delete nodeHeaders[":path"];
|
|
77
|
+
delete nodeHeaders[":scheme"];
|
|
78
|
+
}
|
|
68
79
|
let headers = new Headers();
|
|
69
80
|
for (let [key, values] of Object.entries(nodeHeaders)) {
|
|
70
81
|
if (values) {
|
|
@@ -89,7 +100,7 @@ function fromNodeRequest(nodeReq, nodeRes) {
|
|
|
89
100
|
let controller = new AbortController();
|
|
90
101
|
let init = {
|
|
91
102
|
method: nodeReq.method,
|
|
92
|
-
headers: fromNodeHeaders(nodeReq
|
|
103
|
+
headers: fromNodeHeaders(nodeReq),
|
|
93
104
|
signal: controller.signal
|
|
94
105
|
};
|
|
95
106
|
nodeRes.on("finish", () => controller = null);
|
|
@@ -165,26 +176,47 @@ var import_package_json = __toESM(require("@npmcli/package-json"));
|
|
|
165
176
|
var import_server = require("vite-node/server");
|
|
166
177
|
var import_client = require("vite-node/client");
|
|
167
178
|
var import_source_map = require("vite-node/source-map");
|
|
168
|
-
|
|
179
|
+
|
|
180
|
+
// vite/ssr-externals.ts
|
|
181
|
+
var ssrExternals = isReactRouterRepo() ? [
|
|
182
|
+
// This is only needed within this repo because these packages
|
|
183
|
+
// are linked to a directory outside of node_modules so Vite
|
|
184
|
+
// treats them as internal code by default.
|
|
185
|
+
"react-router",
|
|
186
|
+
"react-router-dom",
|
|
187
|
+
"@react-router/architect",
|
|
188
|
+
"@react-router/cloudflare",
|
|
189
|
+
"@react-router/dev",
|
|
190
|
+
"@react-router/express",
|
|
191
|
+
"@react-router/node",
|
|
192
|
+
"@react-router/serve"
|
|
193
|
+
] : void 0;
|
|
194
|
+
|
|
195
|
+
// vite/vite-node.ts
|
|
196
|
+
async function createContext({
|
|
197
|
+
root,
|
|
198
|
+
mode
|
|
199
|
+
}) {
|
|
169
200
|
await preloadVite();
|
|
170
201
|
const vite2 = getVite();
|
|
171
|
-
const devServer = await vite2.createServer(
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
202
|
+
const devServer = await vite2.createServer({
|
|
203
|
+
root,
|
|
204
|
+
mode,
|
|
205
|
+
server: {
|
|
206
|
+
preTransformRequests: false,
|
|
207
|
+
hmr: false,
|
|
208
|
+
watch: null
|
|
209
|
+
},
|
|
210
|
+
ssr: {
|
|
211
|
+
external: ssrExternals
|
|
212
|
+
},
|
|
213
|
+
optimizeDeps: {
|
|
214
|
+
noDiscovery: true
|
|
215
|
+
},
|
|
216
|
+
configFile: false,
|
|
217
|
+
envFile: false,
|
|
218
|
+
plugins: []
|
|
219
|
+
});
|
|
188
220
|
await devServer.pluginContainer.buildStart({});
|
|
189
221
|
const server = new import_server.ViteNodeServer(devServer);
|
|
190
222
|
(0, import_source_map.installSourcemapsSupport)({
|
|
@@ -477,6 +509,7 @@ async function resolveConfig({
|
|
|
477
509
|
);
|
|
478
510
|
}
|
|
479
511
|
let future = {
|
|
512
|
+
unstable_middleware: reactRouterUserConfig.future?.unstable_middleware ?? false,
|
|
480
513
|
unstable_optimizeDeps: reactRouterUserConfig.future?.unstable_optimizeDeps ?? false,
|
|
481
514
|
unstable_splitRouteModules: reactRouterUserConfig.future?.unstable_splitRouteModules ?? false,
|
|
482
515
|
unstable_viteEnvironmentApi: reactRouterUserConfig.future?.unstable_viteEnvironmentApi ?? false
|
|
@@ -506,11 +539,7 @@ async function createConfigLoader({
|
|
|
506
539
|
root = root ?? process.env.REACT_ROUTER_ROOT ?? process.cwd();
|
|
507
540
|
let viteNodeContext = await createContext({
|
|
508
541
|
root,
|
|
509
|
-
mode: watch ? "development" : "production"
|
|
510
|
-
server: !watch ? { watch: null } : {},
|
|
511
|
-
ssr: {
|
|
512
|
-
external: ssrExternals
|
|
513
|
-
}
|
|
542
|
+
mode: watch ? "development" : "production"
|
|
514
543
|
});
|
|
515
544
|
let reactRouterConfigFile = findEntry(root, "react-router.config", {
|
|
516
545
|
absolute: true
|
|
@@ -595,19 +624,6 @@ async function loadConfig({ rootDirectory }) {
|
|
|
595
624
|
await configLoader.close();
|
|
596
625
|
return config;
|
|
597
626
|
}
|
|
598
|
-
var ssrExternals = isReactRouterRepo() ? [
|
|
599
|
-
// This is only needed within this repo because these packages
|
|
600
|
-
// are linked to a directory outside of node_modules so Vite
|
|
601
|
-
// treats them as internal code by default.
|
|
602
|
-
"react-router",
|
|
603
|
-
"react-router-dom",
|
|
604
|
-
"@react-router/architect",
|
|
605
|
-
"@react-router/cloudflare",
|
|
606
|
-
"@react-router/dev",
|
|
607
|
-
"@react-router/express",
|
|
608
|
-
"@react-router/node",
|
|
609
|
-
"@react-router/serve"
|
|
610
|
-
] : void 0;
|
|
611
627
|
var entryExts = [".js", ".jsx", ".ts", ".tsx"];
|
|
612
628
|
function findEntry(dir, basename, options) {
|
|
613
629
|
for (let ext of entryExts) {
|
|
@@ -678,11 +694,14 @@ var cloudflareDevProxyVitePlugin = (options = {}) => {
|
|
|
678
694
|
}
|
|
679
695
|
},
|
|
680
696
|
configureServer: async (viteDevServer) => {
|
|
681
|
-
let
|
|
682
|
-
let
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
697
|
+
let context;
|
|
698
|
+
let getContext = async () => {
|
|
699
|
+
let { getPlatformProxy } = await importWrangler();
|
|
700
|
+
let { dispose, ...cloudflare } = await getPlatformProxy(
|
|
701
|
+
restOptions
|
|
702
|
+
);
|
|
703
|
+
return { cloudflare };
|
|
704
|
+
};
|
|
686
705
|
return () => {
|
|
687
706
|
if (!viteDevServer.config.server.middlewareMode) {
|
|
688
707
|
viteDevServer.middlewares.use(async (nodeReq, nodeRes, next) => {
|
|
@@ -692,6 +711,7 @@ var cloudflareDevProxyVitePlugin = (options = {}) => {
|
|
|
692
711
|
);
|
|
693
712
|
let handler = (0, import_react_router.createRequestHandler)(build, "development");
|
|
694
713
|
let req = fromNodeRequest(nodeReq, nodeRes);
|
|
714
|
+
context ??= await getContext();
|
|
695
715
|
let loadContext = getLoadContext ? await getLoadContext({ request: req, context }) : context;
|
|
696
716
|
let res = await handler(req, loadContext);
|
|
697
717
|
await toNodeRequest(res, nodeRes);
|