@react-router/dev 0.0.0-experimental-a839ff7e2 → 0.0.0-experimental-6b51a129b
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 +0 -30
- package/bin.js +0 -13
- package/dist/cli/index.js +119 -131
- package/dist/config.js +1 -1
- package/dist/routes.js +1 -1
- package/dist/vite/cloudflare.js +7 -48
- package/dist/vite.js +305 -364
- package/package.json +10 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,35 +1,5 @@
|
|
|
1
1
|
# `@react-router/dev`
|
|
2
2
|
|
|
3
|
-
## 7.1.1
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- Fix for a crash when optional args are passed to the CLI ([`5b1ca202f`](https://github.com/remix-run/react-router/commit/5b1ca202f77ef342db0109c6b791d33188077cd0))
|
|
8
|
-
- Updated dependencies:
|
|
9
|
-
- `react-router@7.1.1`
|
|
10
|
-
- `@react-router/node@7.1.1`
|
|
11
|
-
- `@react-router/serve@7.1.1`
|
|
12
|
-
|
|
13
|
-
## 7.1.0
|
|
14
|
-
|
|
15
|
-
### Minor Changes
|
|
16
|
-
|
|
17
|
-
- Add support for Vite v6 ([#12469](https://github.com/remix-run/react-router/pull/12469))
|
|
18
|
-
|
|
19
|
-
### Patch Changes
|
|
20
|
-
|
|
21
|
-
- Properly initialize `NODE_ENV` if not already set for compatibility with React 19 ([#12578](https://github.com/remix-run/react-router/pull/12578))
|
|
22
|
-
|
|
23
|
-
- Remove the leftover/unused `abortDelay` prop from `ServerRouter` and update the default `entry.server.tsx` to use the new `streamTimeout` value for Single Fetch ([#12478](https://github.com/remix-run/react-router/pull/12478))
|
|
24
|
-
|
|
25
|
-
- The `abortDelay` functionality was removed in v7 as it was coupled to the `defer` implementation from Remix v2, but this removal of this prop was missed
|
|
26
|
-
- If you were still using this prop in your `entry.server` file, it's likely your app is not aborting streams as you would expect and you will need to adopt the new [`streamTimeout`](https://reactrouter.com/explanation/special-files#streamtimeout) value introduced with Single Fetch
|
|
27
|
-
|
|
28
|
-
- Updated dependencies:
|
|
29
|
-
- `react-router@7.1.0`
|
|
30
|
-
- `@react-router/node@7.1.0`
|
|
31
|
-
- `@react-router/serve@7.1.0`
|
|
32
|
-
|
|
33
3
|
## 7.0.2
|
|
34
4
|
|
|
35
5
|
### Patch Changes
|
package/bin.js
CHANGED
|
@@ -1,15 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
let arg = require("arg");
|
|
3
|
-
|
|
4
|
-
// Minimal replication of our actual parsing in `run.ts`. If not already set,
|
|
5
|
-
// default `NODE_ENV` so React loads the proper version in it's CJS entry script.
|
|
6
|
-
// We have to do this before importing `run.ts` since that is what imports
|
|
7
|
-
// `react` (indirectly via `react-router`)
|
|
8
|
-
let args = arg({}, { argv: process.argv.slice(2), stopAtPositional: true });
|
|
9
|
-
if (args._[0] === "dev") {
|
|
10
|
-
process.env.NODE_ENV = process.env.NODE_ENV ?? "development";
|
|
11
|
-
} else {
|
|
12
|
-
process.env.NODE_ENV = process.env.NODE_ENV ?? "production";
|
|
13
|
-
}
|
|
14
|
-
|
|
15
2
|
require("./dist/cli/index");
|
package/dist/cli/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* @react-router/dev v0.0.0-experimental-
|
|
3
|
+
* @react-router/dev v0.0.0-experimental-6b51a129b
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) Remix Software Inc.
|
|
6
6
|
*
|
|
@@ -55,55 +55,26 @@ var init_invariant = __esm({
|
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
-
//
|
|
59
|
-
function
|
|
60
|
-
|
|
61
|
-
require.resolve("@react-router/node/package.json")
|
|
62
|
-
);
|
|
63
|
-
let serverRuntimeParentDir = import_pathe.default.basename(
|
|
64
|
-
import_pathe.default.resolve(serverRuntimePath, "..")
|
|
65
|
-
);
|
|
66
|
-
return serverRuntimeParentDir === "packages";
|
|
67
|
-
}
|
|
68
|
-
var import_pathe;
|
|
69
|
-
var init_is_react_router_repo = __esm({
|
|
70
|
-
"config/is-react-router-repo.ts"() {
|
|
71
|
-
"use strict";
|
|
72
|
-
import_pathe = __toESM(require("pathe"));
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
// vite/vite.ts
|
|
77
|
-
async function preloadVite() {
|
|
78
|
-
vite = await import(viteImportSpecifier);
|
|
58
|
+
// vite/import-vite-esm-sync.ts
|
|
59
|
+
async function preloadViteEsm() {
|
|
60
|
+
vite = await import("vite");
|
|
79
61
|
}
|
|
80
|
-
function
|
|
81
|
-
invariant(vite, "
|
|
62
|
+
function importViteEsmSync() {
|
|
63
|
+
invariant(vite, "importViteEsmSync() called before preloadViteEsm()");
|
|
82
64
|
return vite;
|
|
83
65
|
}
|
|
84
|
-
var
|
|
85
|
-
var
|
|
86
|
-
"vite/vite.ts"() {
|
|
66
|
+
var vite;
|
|
67
|
+
var init_import_vite_esm_sync = __esm({
|
|
68
|
+
"vite/import-vite-esm-sync.ts"() {
|
|
87
69
|
"use strict";
|
|
88
|
-
import_pathe2 = __toESM(require("pathe"));
|
|
89
70
|
init_invariant();
|
|
90
|
-
init_is_react_router_repo();
|
|
91
|
-
viteImportSpecifier = isReactRouterRepo() ? (
|
|
92
|
-
// Support testing against different versions of Vite by ensuring that Vite
|
|
93
|
-
// is resolved from the current working directory when running within this
|
|
94
|
-
// repo. If we don't do this, Vite will always be imported relative to this
|
|
95
|
-
// file, which means that it will always resolve to Vite 6.
|
|
96
|
-
`file:///${import_pathe2.default.normalize(
|
|
97
|
-
require.resolve("vite/package.json", { paths: [process.cwd()] })
|
|
98
|
-
).replace("package.json", "dist/node/index.js")}`
|
|
99
|
-
) : "vite";
|
|
100
71
|
}
|
|
101
72
|
});
|
|
102
73
|
|
|
103
74
|
// vite/vite-node.ts
|
|
104
75
|
async function createContext(viteConfig = {}) {
|
|
105
|
-
await
|
|
106
|
-
const vite2 =
|
|
76
|
+
await preloadViteEsm();
|
|
77
|
+
const vite2 = importViteEsmSync();
|
|
107
78
|
const devServer = await vite2.createServer(
|
|
108
79
|
vite2.mergeConfig(
|
|
109
80
|
{
|
|
@@ -129,11 +100,11 @@ async function createContext(viteConfig = {}) {
|
|
|
129
100
|
const runner = new import_client.ViteNodeRunner({
|
|
130
101
|
root: devServer.config.root,
|
|
131
102
|
base: devServer.config.base,
|
|
132
|
-
fetchModule(
|
|
133
|
-
return server.fetchModule(
|
|
103
|
+
fetchModule(id2) {
|
|
104
|
+
return server.fetchModule(id2);
|
|
134
105
|
},
|
|
135
|
-
resolveId(
|
|
136
|
-
return server.resolveId(
|
|
106
|
+
resolveId(id2, importer) {
|
|
107
|
+
return server.resolveId(id2, importer);
|
|
137
108
|
}
|
|
138
109
|
});
|
|
139
110
|
return { devServer, server, runner };
|
|
@@ -145,7 +116,7 @@ var init_vite_node = __esm({
|
|
|
145
116
|
import_server = require("vite-node/server");
|
|
146
117
|
import_client = require("vite-node/client");
|
|
147
118
|
import_source_map = require("vite-node/source-map");
|
|
148
|
-
|
|
119
|
+
init_import_vite_esm_sync();
|
|
149
120
|
}
|
|
150
121
|
});
|
|
151
122
|
|
|
@@ -178,7 +149,7 @@ function validateRouteConfig({
|
|
|
178
149
|
`Route config in "${routeConfigFile}" is invalid.`,
|
|
179
150
|
root ? `${root}` : [],
|
|
180
151
|
nested ? Object.entries(nested).map(
|
|
181
|
-
([
|
|
152
|
+
([path8, message]) => `Path: routes.${path8}
|
|
182
153
|
${message}`
|
|
183
154
|
) : []
|
|
184
155
|
].flat().join("\n\n")
|
|
@@ -189,24 +160,24 @@ ${message}`
|
|
|
189
160
|
function configRoutesToRouteManifest(appDirectory, routes2, rootId = "root") {
|
|
190
161
|
let routeManifest = {};
|
|
191
162
|
function walk(route, parentId) {
|
|
192
|
-
let
|
|
163
|
+
let id2 = route.id || createRouteId(route.file);
|
|
193
164
|
let manifestItem = {
|
|
194
|
-
id,
|
|
165
|
+
id: id2,
|
|
195
166
|
parentId,
|
|
196
167
|
file: Path.isAbsolute(route.file) ? Path.relative(appDirectory, route.file) : route.file,
|
|
197
168
|
path: route.path,
|
|
198
169
|
index: route.index,
|
|
199
170
|
caseSensitive: route.caseSensitive
|
|
200
171
|
};
|
|
201
|
-
if (routeManifest.hasOwnProperty(
|
|
172
|
+
if (routeManifest.hasOwnProperty(id2)) {
|
|
202
173
|
throw new Error(
|
|
203
|
-
`Unable to define routes with duplicate route id: "${
|
|
174
|
+
`Unable to define routes with duplicate route id: "${id2}"`
|
|
204
175
|
);
|
|
205
176
|
}
|
|
206
|
-
routeManifest[
|
|
177
|
+
routeManifest[id2] = manifestItem;
|
|
207
178
|
if (route.children) {
|
|
208
179
|
for (let child of route.children) {
|
|
209
|
-
walk(child,
|
|
180
|
+
walk(child, id2);
|
|
210
181
|
}
|
|
211
182
|
}
|
|
212
183
|
}
|
|
@@ -336,13 +307,13 @@ async function resolveConfig({
|
|
|
336
307
|
"The `prerender` config must be a boolean, an array of string paths, or a function returning a boolean or array of string paths"
|
|
337
308
|
);
|
|
338
309
|
}
|
|
339
|
-
let appDirectory =
|
|
340
|
-
let buildDirectory =
|
|
310
|
+
let appDirectory = import_pathe.default.resolve(root, userAppDirectory || "app");
|
|
311
|
+
let buildDirectory = import_pathe.default.resolve(root, userBuildDirectory);
|
|
341
312
|
let rootRouteFile = findEntry(appDirectory, "root");
|
|
342
313
|
if (!rootRouteFile) {
|
|
343
|
-
let rootRouteDisplayPath =
|
|
314
|
+
let rootRouteDisplayPath = import_pathe.default.relative(
|
|
344
315
|
root,
|
|
345
|
-
|
|
316
|
+
import_pathe.default.join(appDirectory, "root.tsx")
|
|
346
317
|
);
|
|
347
318
|
return err(
|
|
348
319
|
`Could not find a root route module in the app directory as "${rootRouteDisplayPath}"`
|
|
@@ -354,15 +325,15 @@ async function resolveConfig({
|
|
|
354
325
|
let routeConfigFile = findEntry(appDirectory, "routes");
|
|
355
326
|
try {
|
|
356
327
|
if (!routeConfigFile) {
|
|
357
|
-
let routeConfigDisplayPath =
|
|
328
|
+
let routeConfigDisplayPath = import_pathe.default.relative(
|
|
358
329
|
root,
|
|
359
|
-
|
|
330
|
+
import_pathe.default.join(appDirectory, "routes.ts")
|
|
360
331
|
);
|
|
361
332
|
return err(`Route config file not found at "${routeConfigDisplayPath}".`);
|
|
362
333
|
}
|
|
363
334
|
setAppDirectory(appDirectory);
|
|
364
335
|
let routeConfigExport = (await viteNodeContext.runner.executeFile(
|
|
365
|
-
|
|
336
|
+
import_pathe.default.join(appDirectory, routeConfigFile)
|
|
366
337
|
)).default;
|
|
367
338
|
let routeConfig = await routeConfigExport;
|
|
368
339
|
let result = validateRouteConfig({
|
|
@@ -382,7 +353,7 @@ async function resolveConfig({
|
|
|
382
353
|
import_picocolors.default.red(`Route config in "${routeConfigFile}" is invalid.`),
|
|
383
354
|
"",
|
|
384
355
|
error.loc?.file && error.loc?.column && error.frame ? [
|
|
385
|
-
|
|
356
|
+
import_pathe.default.relative(appDirectory, error.loc.file) + ":" + error.loc.line + ":" + error.loc.column,
|
|
386
357
|
error.frame.trim?.()
|
|
387
358
|
] : error.stack
|
|
388
359
|
].flat().join("\n")
|
|
@@ -454,8 +425,8 @@ async function createConfigLoader({
|
|
|
454
425
|
);
|
|
455
426
|
fsWatcher.on("all", async (...args) => {
|
|
456
427
|
let [event, rawFilepath] = args;
|
|
457
|
-
let filepath =
|
|
458
|
-
let appFileAddedOrRemoved = appDirectory && (event === "add" || event === "unlink") && filepath.startsWith(
|
|
428
|
+
let filepath = import_pathe.default.normalize(rawFilepath);
|
|
429
|
+
let appFileAddedOrRemoved = appDirectory && (event === "add" || event === "unlink") && filepath.startsWith(import_pathe.default.normalize(appDirectory));
|
|
459
430
|
let configCodeUpdated = Boolean(
|
|
460
431
|
viteNodeContext.devServer?.moduleGraph.getModuleById(filepath)
|
|
461
432
|
);
|
|
@@ -496,16 +467,25 @@ async function createConfigLoader({
|
|
|
496
467
|
}
|
|
497
468
|
};
|
|
498
469
|
}
|
|
470
|
+
function isInReactRouterMonorepo() {
|
|
471
|
+
let serverRuntimePath = import_pathe.default.dirname(
|
|
472
|
+
require.resolve("@react-router/node/package.json")
|
|
473
|
+
);
|
|
474
|
+
let serverRuntimeParentDir = import_pathe.default.basename(
|
|
475
|
+
import_pathe.default.resolve(serverRuntimePath, "..")
|
|
476
|
+
);
|
|
477
|
+
return serverRuntimeParentDir === "packages";
|
|
478
|
+
}
|
|
499
479
|
function findEntry(dir, basename2, options) {
|
|
500
480
|
for (let ext of entryExts) {
|
|
501
|
-
let file =
|
|
481
|
+
let file = import_pathe.default.resolve(dir, basename2 + ext);
|
|
502
482
|
if (import_node_fs.default.existsSync(file)) {
|
|
503
|
-
return options?.absolute ?? false ? file :
|
|
483
|
+
return options?.absolute ?? false ? file : import_pathe.default.relative(dir, file);
|
|
504
484
|
}
|
|
505
485
|
}
|
|
506
486
|
return void 0;
|
|
507
487
|
}
|
|
508
|
-
var import_node_fs, import_node_child_process, import_package_json,
|
|
488
|
+
var import_node_fs, import_node_child_process, import_package_json, import_pathe, import_chokidar, import_picocolors, import_pick2, import_omit, import_cloneDeep, import_isEqual, excludedConfigPresetKeys, branchRouteProperties, configRouteToBranchRoute, mergeReactRouterConfig, deepFreeze, ssrExternals, entryExts;
|
|
509
489
|
var init_config = __esm({
|
|
510
490
|
"config/config.ts"() {
|
|
511
491
|
"use strict";
|
|
@@ -513,7 +493,7 @@ var init_config = __esm({
|
|
|
513
493
|
import_node_child_process = require("child_process");
|
|
514
494
|
import_package_json = __toESM(require("@npmcli/package-json"));
|
|
515
495
|
init_vite_node();
|
|
516
|
-
|
|
496
|
+
import_pathe = __toESM(require("pathe"));
|
|
517
497
|
import_chokidar = __toESM(require("chokidar"));
|
|
518
498
|
import_picocolors = __toESM(require("picocolors"));
|
|
519
499
|
import_pick2 = __toESM(require("lodash/pick"));
|
|
@@ -522,7 +502,6 @@ var init_config = __esm({
|
|
|
522
502
|
import_isEqual = __toESM(require("lodash/isEqual"));
|
|
523
503
|
init_routes();
|
|
524
504
|
init_detectPackageManager();
|
|
525
|
-
init_is_react_router_repo();
|
|
526
505
|
excludedConfigPresetKeys = ["presets"];
|
|
527
506
|
branchRouteProperties = [
|
|
528
507
|
"id",
|
|
@@ -569,7 +548,7 @@ var init_config = __esm({
|
|
|
569
548
|
});
|
|
570
549
|
return o;
|
|
571
550
|
};
|
|
572
|
-
ssrExternals =
|
|
551
|
+
ssrExternals = isInReactRouterMonorepo() ? [
|
|
573
552
|
// This is only needed within this repo because these packages
|
|
574
553
|
// are linked to a directory outside of node_modules so Vite
|
|
575
554
|
// treats them as internal code by default.
|
|
@@ -657,6 +636,10 @@ function generate(ctx, route) {
|
|
|
657
636
|
export type HeadersArgs = T.HeadersArgs
|
|
658
637
|
export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit
|
|
659
638
|
|
|
639
|
+
export type MiddlewareArgs = T.CreateServerMiddlewareArgs<Info>
|
|
640
|
+
export type MiddlewareNextFunction = T.ServerMiddlewareNextFunction
|
|
641
|
+
export type ClientMiddlewareArgs = T.CreateClientMiddlewareArgs<Info>
|
|
642
|
+
export type ClientMiddlewareNextFunction = T.ClientMiddlewareNextFunction
|
|
660
643
|
export type LoaderArgs = T.CreateServerLoaderArgs<Info>
|
|
661
644
|
export type ClientLoaderArgs = T.CreateClientLoaderArgs<Info>
|
|
662
645
|
export type ActionArgs = T.CreateServerActionArgs<Info>
|
|
@@ -716,7 +699,7 @@ var init_generate = __esm({
|
|
|
716
699
|
Path3 = __toESM(require("pathe"));
|
|
717
700
|
Pathe2 = __toESM(require("pathe/utils"));
|
|
718
701
|
init_paths();
|
|
719
|
-
noExtension = (
|
|
702
|
+
noExtension = (path8) => Path3.join(Path3.dirname(path8), Pathe2.filename(path8));
|
|
720
703
|
}
|
|
721
704
|
});
|
|
722
705
|
|
|
@@ -812,41 +795,34 @@ var init_node_adapter = __esm({
|
|
|
812
795
|
});
|
|
813
796
|
|
|
814
797
|
// vite/resolve-file-url.ts
|
|
815
|
-
var
|
|
798
|
+
var path2;
|
|
816
799
|
var init_resolve_file_url = __esm({
|
|
817
800
|
"vite/resolve-file-url.ts"() {
|
|
818
801
|
"use strict";
|
|
819
|
-
|
|
820
|
-
|
|
802
|
+
path2 = __toESM(require("path"));
|
|
803
|
+
init_import_vite_esm_sync();
|
|
821
804
|
}
|
|
822
805
|
});
|
|
823
806
|
|
|
824
807
|
// vite/styles.ts
|
|
825
|
-
var
|
|
808
|
+
var path3, import_react_router, cssFileRegExp, cssModulesRegExp;
|
|
826
809
|
var init_styles = __esm({
|
|
827
810
|
"vite/styles.ts"() {
|
|
828
811
|
"use strict";
|
|
829
|
-
|
|
812
|
+
path3 = __toESM(require("path"));
|
|
830
813
|
import_react_router = require("react-router");
|
|
831
814
|
init_resolve_file_url();
|
|
832
|
-
init_vite();
|
|
833
815
|
cssFileRegExp = /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/;
|
|
834
816
|
cssModulesRegExp = new RegExp(`\\.module${cssFileRegExp.source}`);
|
|
835
817
|
}
|
|
836
818
|
});
|
|
837
819
|
|
|
838
|
-
// vite/
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
id,
|
|
843
|
-
resolvedId: `\0${id}`,
|
|
844
|
-
url: `/@id/__x00__${id}`
|
|
845
|
-
};
|
|
846
|
-
}
|
|
847
|
-
var init_virtual_module = __esm({
|
|
848
|
-
"vite/virtual-module.ts"() {
|
|
820
|
+
// vite/vmod.ts
|
|
821
|
+
var id;
|
|
822
|
+
var init_vmod = __esm({
|
|
823
|
+
"vite/vmod.ts"() {
|
|
849
824
|
"use strict";
|
|
825
|
+
id = (name) => `virtual:react-router/${name}`;
|
|
850
826
|
}
|
|
851
827
|
});
|
|
852
828
|
|
|
@@ -868,14 +844,14 @@ var init_remove_exports = __esm({
|
|
|
868
844
|
});
|
|
869
845
|
|
|
870
846
|
// vite/with-props.ts
|
|
871
|
-
var import_dedent2,
|
|
847
|
+
var import_dedent2, vmodId;
|
|
872
848
|
var init_with_props = __esm({
|
|
873
849
|
"vite/with-props.ts"() {
|
|
874
850
|
"use strict";
|
|
875
851
|
import_dedent2 = __toESM(require("dedent"));
|
|
876
852
|
init_babel();
|
|
877
|
-
|
|
878
|
-
|
|
853
|
+
init_vmod();
|
|
854
|
+
vmodId = id("with-props");
|
|
879
855
|
}
|
|
880
856
|
});
|
|
881
857
|
|
|
@@ -885,7 +861,7 @@ async function resolveViteConfig({
|
|
|
885
861
|
mode,
|
|
886
862
|
root
|
|
887
863
|
}) {
|
|
888
|
-
let vite2 =
|
|
864
|
+
let vite2 = await import("vite");
|
|
889
865
|
let viteConfig = await vite2.resolveConfig(
|
|
890
866
|
{ mode, configFile, root },
|
|
891
867
|
"build",
|
|
@@ -935,17 +911,17 @@ async function loadPluginContext({
|
|
|
935
911
|
function findConfig(dir, basename2, extensions) {
|
|
936
912
|
for (let ext of extensions) {
|
|
937
913
|
let name = basename2 + ext;
|
|
938
|
-
let file =
|
|
914
|
+
let file = path4.join(dir, name);
|
|
939
915
|
if (fse.existsSync(file)) return file;
|
|
940
916
|
}
|
|
941
917
|
return void 0;
|
|
942
918
|
}
|
|
943
|
-
var import_node_crypto,
|
|
919
|
+
var import_node_crypto, path4, url, fse, babel, import_react_router2, import_es_module_lexer, import_jsesc, import_picocolors3, serverBuildId, serverManifestId, browserManifestId, hmrRuntimeId, injectHmrRuntimeId, getServerBuildDirectory, defaultEntriesDir, defaultEntries, REACT_REFRESH_HEADER, REACT_REFRESH_FOOTER;
|
|
944
920
|
var init_plugin = __esm({
|
|
945
921
|
"vite/plugin.ts"() {
|
|
946
922
|
"use strict";
|
|
947
923
|
import_node_crypto = require("crypto");
|
|
948
|
-
|
|
924
|
+
path4 = __toESM(require("path"));
|
|
949
925
|
url = __toESM(require("url"));
|
|
950
926
|
fse = __toESM(require("fs-extra"));
|
|
951
927
|
babel = __toESM(require("@babel/core"));
|
|
@@ -958,35 +934,33 @@ var init_plugin = __esm({
|
|
|
958
934
|
init_babel();
|
|
959
935
|
init_node_adapter();
|
|
960
936
|
init_styles();
|
|
961
|
-
|
|
937
|
+
init_vmod();
|
|
962
938
|
init_resolve_file_url();
|
|
963
939
|
init_combine_urls();
|
|
964
940
|
init_remove_exports();
|
|
965
|
-
|
|
941
|
+
init_import_vite_esm_sync();
|
|
966
942
|
init_config();
|
|
967
943
|
init_with_props();
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
};
|
|
975
|
-
getServerBuildDirectory = (ctx) => path6.join(
|
|
944
|
+
serverBuildId = id("server-build");
|
|
945
|
+
serverManifestId = id("server-manifest");
|
|
946
|
+
browserManifestId = id("browser-manifest");
|
|
947
|
+
hmrRuntimeId = id("hmr-runtime");
|
|
948
|
+
injectHmrRuntimeId = id("inject-hmr-runtime");
|
|
949
|
+
getServerBuildDirectory = (ctx) => path4.join(
|
|
976
950
|
ctx.reactRouterConfig.buildDirectory,
|
|
977
951
|
"server",
|
|
978
952
|
...ctx.serverBundleBuildConfig ? [ctx.serverBundleBuildConfig.serverBundleId] : []
|
|
979
953
|
);
|
|
980
|
-
defaultEntriesDir =
|
|
981
|
-
|
|
954
|
+
defaultEntriesDir = path4.resolve(
|
|
955
|
+
path4.dirname(require.resolve("@react-router/dev/package.json")),
|
|
982
956
|
"dist",
|
|
983
957
|
"config",
|
|
984
958
|
"defaults"
|
|
985
959
|
);
|
|
986
|
-
defaultEntries = fse.readdirSync(defaultEntriesDir).map((filename3) =>
|
|
960
|
+
defaultEntries = fse.readdirSync(defaultEntriesDir).map((filename3) => path4.join(defaultEntriesDir, filename3));
|
|
987
961
|
invariant(defaultEntries.length > 0, "No default entries found");
|
|
988
962
|
REACT_REFRESH_HEADER = `
|
|
989
|
-
import RefreshRuntime from "${
|
|
963
|
+
import RefreshRuntime from "${hmrRuntimeId}";
|
|
990
964
|
|
|
991
965
|
const inWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope;
|
|
992
966
|
let prevRefreshReg;
|
|
@@ -1005,7 +979,21 @@ if (import.meta.hot && !inWebWorker) {
|
|
|
1005
979
|
RefreshRuntime.register(type, __SOURCE__ + " " + id)
|
|
1006
980
|
};
|
|
1007
981
|
window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
|
|
1008
|
-
}`.
|
|
982
|
+
}`.trim();
|
|
983
|
+
REACT_REFRESH_FOOTER = `
|
|
984
|
+
if (import.meta.hot && !inWebWorker) {
|
|
985
|
+
window.$RefreshReg$ = prevRefreshReg;
|
|
986
|
+
window.$RefreshSig$ = prevRefreshSig;
|
|
987
|
+
RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
|
|
988
|
+
RefreshRuntime.registerExportsForReactRefresh(__SOURCE__, currentExports);
|
|
989
|
+
import.meta.hot.accept((nextExports) => {
|
|
990
|
+
if (!nextExports) return;
|
|
991
|
+
__ROUTE_ID__ && window.__reactRouterRouteModuleUpdates.set(__ROUTE_ID__, nextExports);
|
|
992
|
+
const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate(currentExports, nextExports, __ACCEPT_EXPORTS__);
|
|
993
|
+
if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
|
|
994
|
+
});
|
|
995
|
+
});
|
|
996
|
+
}`.trim();
|
|
1009
997
|
}
|
|
1010
998
|
});
|
|
1011
999
|
|
|
@@ -1055,8 +1043,8 @@ __export(build_exports, {
|
|
|
1055
1043
|
});
|
|
1056
1044
|
function getAddressableRoutes(routes2) {
|
|
1057
1045
|
let nonAddressableIds = /* @__PURE__ */ new Set();
|
|
1058
|
-
for (let
|
|
1059
|
-
let route = routes2[
|
|
1046
|
+
for (let id2 in routes2) {
|
|
1047
|
+
let route = routes2[id2];
|
|
1060
1048
|
if (route.index) {
|
|
1061
1049
|
invariant(
|
|
1062
1050
|
route.parentId,
|
|
@@ -1065,7 +1053,7 @@ function getAddressableRoutes(routes2) {
|
|
|
1065
1053
|
nonAddressableIds.add(route.parentId);
|
|
1066
1054
|
}
|
|
1067
1055
|
if (typeof route.path !== "string" && !route.index) {
|
|
1068
|
-
nonAddressableIds.add(
|
|
1056
|
+
nonAddressableIds.add(id2);
|
|
1069
1057
|
}
|
|
1070
1058
|
}
|
|
1071
1059
|
return Object.values(routes2).filter(
|
|
@@ -1096,12 +1084,12 @@ async function getServerBuilds(ctx) {
|
|
|
1096
1084
|
let { normalizePath } = await import("vite");
|
|
1097
1085
|
let resolvedAppDirectory = import_node_path2.default.resolve(rootDirectory, appDirectory);
|
|
1098
1086
|
let rootRelativeRoutes = Object.fromEntries(
|
|
1099
|
-
Object.entries(routes2).map(([
|
|
1087
|
+
Object.entries(routes2).map(([id2, route]) => {
|
|
1100
1088
|
let filePath = import_node_path2.default.join(resolvedAppDirectory, route.file);
|
|
1101
1089
|
let rootRelativeFilePath = normalizePath(
|
|
1102
1090
|
import_node_path2.default.relative(rootDirectory, filePath)
|
|
1103
1091
|
);
|
|
1104
|
-
return [
|
|
1092
|
+
return [id2, { ...route, file: rootRelativeFilePath }];
|
|
1105
1093
|
})
|
|
1106
1094
|
);
|
|
1107
1095
|
let buildManifest = {
|
|
@@ -1202,7 +1190,7 @@ async function build(root, {
|
|
|
1202
1190
|
sourcemapClient,
|
|
1203
1191
|
sourcemapServer
|
|
1204
1192
|
}) {
|
|
1205
|
-
await
|
|
1193
|
+
await preloadViteEsm();
|
|
1206
1194
|
let viteConfig = await resolveViteConfig({ configFile, mode, root });
|
|
1207
1195
|
const ctx = await extractPluginContext(viteConfig);
|
|
1208
1196
|
if (!ctx) {
|
|
@@ -1212,7 +1200,7 @@ async function build(root, {
|
|
|
1212
1200
|
process.exit(1);
|
|
1213
1201
|
}
|
|
1214
1202
|
let { reactRouterConfig } = ctx;
|
|
1215
|
-
let vite2 =
|
|
1203
|
+
let vite2 = await import("vite");
|
|
1216
1204
|
async function viteBuild({
|
|
1217
1205
|
ssr,
|
|
1218
1206
|
serverBundleBuildConfig
|
|
@@ -1269,7 +1257,7 @@ var init_build = __esm({
|
|
|
1269
1257
|
init_plugin();
|
|
1270
1258
|
init_config();
|
|
1271
1259
|
init_invariant();
|
|
1272
|
-
|
|
1260
|
+
init_import_vite_esm_sync();
|
|
1273
1261
|
}
|
|
1274
1262
|
});
|
|
1275
1263
|
|
|
@@ -1290,8 +1278,8 @@ async function dev(root, {
|
|
|
1290
1278
|
port,
|
|
1291
1279
|
strictPort
|
|
1292
1280
|
}) {
|
|
1293
|
-
await
|
|
1294
|
-
let vite2 =
|
|
1281
|
+
await preloadViteEsm();
|
|
1282
|
+
let vite2 = await import("vite");
|
|
1295
1283
|
let server = await vite2.createServer({
|
|
1296
1284
|
root,
|
|
1297
1285
|
mode,
|
|
@@ -1331,7 +1319,7 @@ var init_dev = __esm({
|
|
|
1331
1319
|
"vite/dev.ts"() {
|
|
1332
1320
|
"use strict";
|
|
1333
1321
|
import_picocolors6 = __toESM(require("picocolors"));
|
|
1334
|
-
|
|
1322
|
+
init_import_vite_esm_sync();
|
|
1335
1323
|
init_profiler();
|
|
1336
1324
|
}
|
|
1337
1325
|
});
|
|
@@ -1342,7 +1330,7 @@ var import_semver = __toESM(require("semver"));
|
|
|
1342
1330
|
var import_picocolors8 = __toESM(require("picocolors"));
|
|
1343
1331
|
|
|
1344
1332
|
// cli/commands.ts
|
|
1345
|
-
var
|
|
1333
|
+
var path7 = __toESM(require("path"));
|
|
1346
1334
|
var import_fs_extra2 = __toESM(require("fs-extra"));
|
|
1347
1335
|
var import_package_json2 = __toESM(require("@npmcli/package-json"));
|
|
1348
1336
|
var import_exit_hook = __toESM(require("exit-hook"));
|
|
@@ -1428,7 +1416,7 @@ function transpile(tsx, options = {}) {
|
|
|
1428
1416
|
// cli/commands.ts
|
|
1429
1417
|
init_profiler();
|
|
1430
1418
|
init_typegen();
|
|
1431
|
-
|
|
1419
|
+
init_import_vite_esm_sync();
|
|
1432
1420
|
async function routes(reactRouterRoot, flags = {}) {
|
|
1433
1421
|
let ctx = await loadPluginContext({
|
|
1434
1422
|
root: reactRouterRoot,
|
|
@@ -1500,14 +1488,14 @@ async function generateEntry(entry, reactRouterRoot, flags = {}) {
|
|
|
1500
1488
|
console.error(import_picocolors7.default.red(`No default server entry detected.`));
|
|
1501
1489
|
return;
|
|
1502
1490
|
}
|
|
1503
|
-
let defaultsDirectory =
|
|
1504
|
-
|
|
1491
|
+
let defaultsDirectory = path7.resolve(
|
|
1492
|
+
path7.dirname(require.resolve("@react-router/dev/package.json")),
|
|
1505
1493
|
"dist",
|
|
1506
1494
|
"config",
|
|
1507
1495
|
"defaults"
|
|
1508
1496
|
);
|
|
1509
|
-
let defaultEntryClient =
|
|
1510
|
-
let defaultEntryServer =
|
|
1497
|
+
let defaultEntryClient = path7.resolve(defaultsDirectory, "entry.client.tsx");
|
|
1498
|
+
let defaultEntryServer = path7.resolve(
|
|
1511
1499
|
defaultsDirectory,
|
|
1512
1500
|
`entry.server.node.tsx`
|
|
1513
1501
|
);
|
|
@@ -1516,7 +1504,7 @@ async function generateEntry(entry, reactRouterRoot, flags = {}) {
|
|
|
1516
1504
|
let useTypeScript = flags.typescript ?? true;
|
|
1517
1505
|
let outputExtension = useTypeScript ? "tsx" : "jsx";
|
|
1518
1506
|
let outputEntry = `${entry}.${outputExtension}`;
|
|
1519
|
-
let outputFile2 =
|
|
1507
|
+
let outputFile2 = path7.resolve(appDirectory, outputEntry);
|
|
1520
1508
|
if (!useTypeScript) {
|
|
1521
1509
|
let javascript = transpile(contents, {
|
|
1522
1510
|
cwd: rootDirectory,
|
|
@@ -1528,7 +1516,7 @@ async function generateEntry(entry, reactRouterRoot, flags = {}) {
|
|
|
1528
1516
|
}
|
|
1529
1517
|
console.log(
|
|
1530
1518
|
import_picocolors7.default.blue(
|
|
1531
|
-
`Entry file ${entry} created at ${
|
|
1519
|
+
`Entry file ${entry} created at ${path7.relative(
|
|
1532
1520
|
rootDirectory,
|
|
1533
1521
|
outputFile2
|
|
1534
1522
|
)}.`
|
|
@@ -1537,10 +1525,10 @@ async function generateEntry(entry, reactRouterRoot, flags = {}) {
|
|
|
1537
1525
|
}
|
|
1538
1526
|
async function checkForEntry(rootDirectory, appDirectory, entries2) {
|
|
1539
1527
|
for (let entry of entries2) {
|
|
1540
|
-
let entryPath =
|
|
1528
|
+
let entryPath = path7.resolve(appDirectory, entry);
|
|
1541
1529
|
let exists = await import_fs_extra2.default.pathExists(entryPath);
|
|
1542
1530
|
if (exists) {
|
|
1543
|
-
let relative8 =
|
|
1531
|
+
let relative8 = path7.relative(rootDirectory, entryPath);
|
|
1544
1532
|
console.error(import_picocolors7.default.red(`Entry file ${relative8} already exists.`));
|
|
1545
1533
|
return process.exit(1);
|
|
1546
1534
|
}
|
|
@@ -1559,8 +1547,8 @@ async function createClientEntry(rootDirectory, appDirectory, inputFile) {
|
|
|
1559
1547
|
async function typegen(root, flags) {
|
|
1560
1548
|
root ??= process.cwd();
|
|
1561
1549
|
if (flags.watch) {
|
|
1562
|
-
await
|
|
1563
|
-
const vite2 =
|
|
1550
|
+
await preloadViteEsm();
|
|
1551
|
+
const vite2 = importViteEsmSync();
|
|
1564
1552
|
const logger = vite2.createLogger("info", { prefix: "[react-router]" });
|
|
1565
1553
|
await watch(root, { logger });
|
|
1566
1554
|
await new Promise(() => {
|
package/dist/config.js
CHANGED
package/dist/routes.js
CHANGED