@react-router/dev 7.0.0-pre.2 → 7.0.0-pre.4
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 +20 -0
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.js +1198 -8
- package/dist/{config/routes.d.ts → routes-C14jcF98.d.ts} +15 -21
- package/dist/routes.d.ts +2 -2
- package/dist/routes.js +181 -11
- package/dist/typescript/plugin.d.ts +5 -2
- package/dist/typescript/plugin.js +479 -31
- package/dist/vite/cloudflare.d.ts +23 -1
- package/dist/vite/cloudflare.js +171 -5
- package/dist/vite.d.ts +169 -2
- package/dist/vite.js +2394 -5
- package/package.json +28 -7
- package/dist/cli/commands.d.ts +0 -13
- package/dist/cli/commands.js +0 -179
- package/dist/cli/detectPackageManager.d.ts +0 -10
- package/dist/cli/detectPackageManager.js +0 -39
- package/dist/cli/run.d.ts +0 -5
- package/dist/cli/run.js +0 -188
- package/dist/cli/useJavascript.d.ts +0 -4
- package/dist/cli/useJavascript.js +0 -66
- package/dist/colors.d.ts +0 -17
- package/dist/colors.js +0 -49
- package/dist/config/format.d.ts +0 -5
- package/dist/config/format.js +0 -68
- package/dist/config/routes.js +0 -253
- package/dist/config/serverModes.d.ts +0 -9
- package/dist/invariant.d.ts +0 -2
- package/dist/invariant.js +0 -20
- package/dist/manifest.d.ts +0 -28
- package/dist/typescript/typegen.d.ts +0 -10
- package/dist/typescript/typegen.js +0 -190
- package/dist/vite/babel.d.ts +0 -20
- package/dist/vite/babel.js +0 -49
- package/dist/vite/build.d.ts +0 -15
- package/dist/vite/build.js +0 -249
- package/dist/vite/cloudflare-dev-proxy.d.ts +0 -21
- package/dist/vite/cloudflare-dev-proxy.js +0 -89
- package/dist/vite/combine-urls-test.d.ts +0 -1
- package/dist/vite/combine-urls.d.ts +0 -1
- package/dist/vite/combine-urls.js +0 -20
- package/dist/vite/config.d.ts +0 -234
- package/dist/vite/config.js +0 -282
- package/dist/vite/dev.d.ts +0 -15
- package/dist/vite/dev.js +0 -81
- package/dist/vite/import-vite-esm-sync.d.ts +0 -4
- package/dist/vite/import-vite-esm-sync.js +0 -28
- package/dist/vite/node-adapter.d.ts +0 -6
- package/dist/vite/node-adapter.js +0 -90
- package/dist/vite/plugin.d.ts +0 -75
- package/dist/vite/plugin.js +0 -1301
- package/dist/vite/profiler.d.ts +0 -5
- package/dist/vite/profiler.js +0 -55
- package/dist/vite/remove-exports-test.d.ts +0 -1
- package/dist/vite/remove-exports.d.ts +0 -2
- package/dist/vite/remove-exports.js +0 -148
- package/dist/vite/resolve-file-url.d.ts +0 -3
- package/dist/vite/resolve-file-url.js +0 -53
- package/dist/vite/styles.d.ts +0 -14
- package/dist/vite/styles.js +0 -199
- package/dist/vite/vite-node.d.ts +0 -9
- package/dist/vite/vite-node.js +0 -57
- package/dist/vite/vmod.d.ts +0 -3
- package/dist/vite/vmod.js +0 -21
- package/dist/vite/with-props.d.ts +0 -4
- package/dist/vite/with-props.js +0 -151
- /package/dist/{vite/static → static}/refresh-utils.cjs +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-router/dev",
|
|
3
|
-
"version": "7.0.0-pre.
|
|
3
|
+
"version": "7.0.0-pre.4",
|
|
4
4
|
"description": "Dev tools and CLI for React Router",
|
|
5
5
|
"homepage": "https://reactrouter.com",
|
|
6
6
|
"bugs": {
|
|
@@ -31,6 +31,24 @@
|
|
|
31
31
|
"bin": {
|
|
32
32
|
"react-router": "bin.js"
|
|
33
33
|
},
|
|
34
|
+
"wireit": {
|
|
35
|
+
"build": {
|
|
36
|
+
"command": "tsup",
|
|
37
|
+
"files": [
|
|
38
|
+
"cli/**",
|
|
39
|
+
"config/**",
|
|
40
|
+
"typescript/**",
|
|
41
|
+
"vite/**",
|
|
42
|
+
"*.ts",
|
|
43
|
+
"bin.js",
|
|
44
|
+
"tsconfig.json",
|
|
45
|
+
"package.json"
|
|
46
|
+
],
|
|
47
|
+
"output": [
|
|
48
|
+
"dist/**"
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
},
|
|
34
52
|
"dependencies": {
|
|
35
53
|
"@babel/core": "^7.21.8",
|
|
36
54
|
"@babel/generator": "^7.21.5",
|
|
@@ -61,7 +79,7 @@
|
|
|
61
79
|
"set-cookie-parser": "^2.6.0",
|
|
62
80
|
"valibot": "^0.41.0",
|
|
63
81
|
"vite-node": "^1.6.0",
|
|
64
|
-
"@react-router/node": "7.0.0-pre.
|
|
82
|
+
"@react-router/node": "7.0.0-pre.4"
|
|
65
83
|
},
|
|
66
84
|
"devDependencies": {
|
|
67
85
|
"@types/babel__core": "^7.20.5",
|
|
@@ -85,17 +103,20 @@
|
|
|
85
103
|
"fast-glob": "3.2.11",
|
|
86
104
|
"strip-ansi": "^6.0.1",
|
|
87
105
|
"tiny-invariant": "^1.2.0",
|
|
106
|
+
"tsup": "^8.3.0",
|
|
107
|
+
"typescript": "^5.1.6",
|
|
88
108
|
"vite": "^5.1.0",
|
|
109
|
+
"wireit": "0.14.9",
|
|
89
110
|
"wrangler": "^3.28.2",
|
|
90
|
-
"@react-router/serve": "7.0.0-pre.
|
|
91
|
-
"react-router": "^7.0.0-pre.
|
|
111
|
+
"@react-router/serve": "7.0.0-pre.4",
|
|
112
|
+
"react-router": "^7.0.0-pre.4"
|
|
92
113
|
},
|
|
93
114
|
"peerDependencies": {
|
|
94
115
|
"typescript": "^5.1.0",
|
|
95
116
|
"vite": "^5.1.0",
|
|
96
117
|
"wrangler": "^3.28.2",
|
|
97
|
-
"@react-router/serve": "^7.0.0-pre.
|
|
98
|
-
"react-router": "^7.0.0-pre.
|
|
118
|
+
"@react-router/serve": "^7.0.0-pre.4",
|
|
119
|
+
"react-router": "^7.0.0-pre.4"
|
|
99
120
|
},
|
|
100
121
|
"peerDependenciesMeta": {
|
|
101
122
|
"@react-router/serve": {
|
|
@@ -119,6 +140,6 @@
|
|
|
119
140
|
"README.md"
|
|
120
141
|
],
|
|
121
142
|
"scripts": {
|
|
122
|
-
"
|
|
143
|
+
"build": "wireit"
|
|
123
144
|
}
|
|
124
145
|
}
|
package/dist/cli/commands.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ViteDevOptions } from "../vite/dev";
|
|
2
|
-
import type { ViteBuildOptions } from "../vite/build";
|
|
3
|
-
export declare function routes(reactRouterRoot?: string, flags?: {
|
|
4
|
-
config?: string;
|
|
5
|
-
json?: boolean;
|
|
6
|
-
}): Promise<void>;
|
|
7
|
-
export declare function build(root?: string, options?: ViteBuildOptions): Promise<void>;
|
|
8
|
-
export declare function dev(root: string, options?: ViteDevOptions): Promise<void>;
|
|
9
|
-
export declare function generateEntry(entry: string, reactRouterRoot: string, flags?: {
|
|
10
|
-
typescript?: boolean;
|
|
11
|
-
config?: string;
|
|
12
|
-
}): Promise<void>;
|
|
13
|
-
export declare function typegen(root: string): Promise<void>;
|
package/dist/cli/commands.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @react-router/dev v7.0.0-pre.2
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) Remix Software Inc.
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var path = require('node:path');
|
|
16
|
-
var fse = require('fs-extra');
|
|
17
|
-
var PackageJson = require('@npmcli/package-json');
|
|
18
|
-
var exitHook = require('exit-hook');
|
|
19
|
-
var colors = require('../colors.js');
|
|
20
|
-
var format = require('../config/format.js');
|
|
21
|
-
var plugin = require('../vite/plugin.js');
|
|
22
|
-
var useJavascript = require('./useJavascript.js');
|
|
23
|
-
var profiler = require('../vite/profiler.js');
|
|
24
|
-
var typegen$1 = require('../typescript/typegen.js');
|
|
25
|
-
|
|
26
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
27
|
-
|
|
28
|
-
function _interopNamespace(e) {
|
|
29
|
-
if (e && e.__esModule) return e;
|
|
30
|
-
var n = Object.create(null);
|
|
31
|
-
if (e) {
|
|
32
|
-
Object.keys(e).forEach(function (k) {
|
|
33
|
-
if (k !== 'default') {
|
|
34
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
35
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
36
|
-
enumerable: true,
|
|
37
|
-
get: function () { return e[k]; }
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
n["default"] = e;
|
|
43
|
-
return Object.freeze(n);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
47
|
-
var fse__default = /*#__PURE__*/_interopDefaultLegacy(fse);
|
|
48
|
-
var PackageJson__default = /*#__PURE__*/_interopDefaultLegacy(PackageJson);
|
|
49
|
-
var exitHook__default = /*#__PURE__*/_interopDefaultLegacy(exitHook);
|
|
50
|
-
|
|
51
|
-
async function routes(reactRouterRoot, flags = {}) {
|
|
52
|
-
let ctx = await plugin.loadPluginContext({
|
|
53
|
-
root: reactRouterRoot,
|
|
54
|
-
configFile: flags.config
|
|
55
|
-
});
|
|
56
|
-
if (!ctx) {
|
|
57
|
-
console.error(colors.red("React Router Vite plugin not found in Vite config"));
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
60
|
-
let format$1 = flags.json ? "json" : "jsx";
|
|
61
|
-
console.log(format.formatRoutes(ctx.reactRouterConfig.routes, format$1));
|
|
62
|
-
}
|
|
63
|
-
async function build(root, options = {}) {
|
|
64
|
-
if (!root) {
|
|
65
|
-
root = process.env.REACT_ROUTER_ROOT || process.cwd();
|
|
66
|
-
}
|
|
67
|
-
let {
|
|
68
|
-
build
|
|
69
|
-
} = await import('../vite/build.js');
|
|
70
|
-
if (options.profile) {
|
|
71
|
-
await profiler.start();
|
|
72
|
-
}
|
|
73
|
-
try {
|
|
74
|
-
await build(root, options);
|
|
75
|
-
} finally {
|
|
76
|
-
await profiler.stop(console.info);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
async function dev(root, options = {}) {
|
|
80
|
-
let {
|
|
81
|
-
dev
|
|
82
|
-
} = await import('../vite/dev.js');
|
|
83
|
-
if (options.profile) {
|
|
84
|
-
await profiler.start();
|
|
85
|
-
}
|
|
86
|
-
exitHook__default["default"](() => profiler.stop(console.info));
|
|
87
|
-
await dev(root, options);
|
|
88
|
-
// keep `react-router dev` alive by waiting indefinitely
|
|
89
|
-
await new Promise(() => {});
|
|
90
|
-
}
|
|
91
|
-
let clientEntries = ["entry.client.tsx", "entry.client.js", "entry.client.jsx"];
|
|
92
|
-
let serverEntries = ["entry.server.tsx", "entry.server.js", "entry.server.jsx"];
|
|
93
|
-
let entries = ["entry.client", "entry.server"];
|
|
94
|
-
let conjunctionListFormat = new Intl.ListFormat("en", {
|
|
95
|
-
style: "long",
|
|
96
|
-
type: "conjunction"
|
|
97
|
-
});
|
|
98
|
-
async function generateEntry(entry, reactRouterRoot, flags = {}) {
|
|
99
|
-
let ctx = await plugin.loadPluginContext({
|
|
100
|
-
root: reactRouterRoot,
|
|
101
|
-
configFile: flags.config
|
|
102
|
-
});
|
|
103
|
-
let rootDirectory = ctx.rootDirectory;
|
|
104
|
-
let appDirectory = ctx.reactRouterConfig.appDirectory;
|
|
105
|
-
// if no entry passed, attempt to create both
|
|
106
|
-
if (!entry) {
|
|
107
|
-
await generateEntry("entry.client", reactRouterRoot, flags);
|
|
108
|
-
await generateEntry("entry.server", reactRouterRoot, flags);
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
if (!entries.includes(entry)) {
|
|
112
|
-
let entriesArray = Array.from(entries);
|
|
113
|
-
let list = conjunctionListFormat.format(entriesArray);
|
|
114
|
-
console.error(colors.error(`Invalid entry file. Valid entry files are ${list}`));
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
let pkgJson = await PackageJson__default["default"].load(rootDirectory);
|
|
118
|
-
let deps = pkgJson.content.dependencies ?? {};
|
|
119
|
-
if (!deps["@react-router/node"]) {
|
|
120
|
-
console.error(colors.error(`No default server entry detected.`));
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
let defaultsDirectory = path__namespace.resolve(__dirname, "..", "config", "defaults");
|
|
124
|
-
let defaultEntryClient = path__namespace.resolve(defaultsDirectory, "entry.client.tsx");
|
|
125
|
-
let defaultEntryServer = path__namespace.resolve(defaultsDirectory, `entry.server.node.tsx`);
|
|
126
|
-
let isServerEntry = entry === "entry.server";
|
|
127
|
-
let contents = isServerEntry ? await createServerEntry(rootDirectory, appDirectory, defaultEntryServer) : await createClientEntry(rootDirectory, appDirectory, defaultEntryClient);
|
|
128
|
-
let useTypeScript = flags.typescript ?? true;
|
|
129
|
-
let outputExtension = useTypeScript ? "tsx" : "jsx";
|
|
130
|
-
let outputEntry = `${entry}.${outputExtension}`;
|
|
131
|
-
let outputFile = path__namespace.resolve(appDirectory, outputEntry);
|
|
132
|
-
if (!useTypeScript) {
|
|
133
|
-
let javascript = useJavascript.transpile(contents, {
|
|
134
|
-
cwd: rootDirectory,
|
|
135
|
-
filename: isServerEntry ? defaultEntryServer : defaultEntryClient
|
|
136
|
-
});
|
|
137
|
-
await fse__default["default"].writeFile(outputFile, javascript, "utf-8");
|
|
138
|
-
} else {
|
|
139
|
-
await fse__default["default"].writeFile(outputFile, contents, "utf-8");
|
|
140
|
-
}
|
|
141
|
-
console.log(colors.blue(`Entry file ${entry} created at ${path__namespace.relative(rootDirectory, outputFile)}.`));
|
|
142
|
-
}
|
|
143
|
-
async function checkForEntry(rootDirectory, appDirectory, entries) {
|
|
144
|
-
for (let entry of entries) {
|
|
145
|
-
let entryPath = path__namespace.resolve(appDirectory, entry);
|
|
146
|
-
let exists = await fse__default["default"].pathExists(entryPath);
|
|
147
|
-
if (exists) {
|
|
148
|
-
let relative = path__namespace.relative(rootDirectory, entryPath);
|
|
149
|
-
console.error(colors.error(`Entry file ${relative} already exists.`));
|
|
150
|
-
return process.exit(1);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
async function createServerEntry(rootDirectory, appDirectory, inputFile) {
|
|
155
|
-
await checkForEntry(rootDirectory, appDirectory, serverEntries);
|
|
156
|
-
let contents = await fse__default["default"].readFile(inputFile, "utf-8");
|
|
157
|
-
return contents;
|
|
158
|
-
}
|
|
159
|
-
async function createClientEntry(rootDirectory, appDirectory, inputFile) {
|
|
160
|
-
await checkForEntry(rootDirectory, appDirectory, clientEntries);
|
|
161
|
-
let contents = await fse__default["default"].readFile(inputFile, "utf-8");
|
|
162
|
-
return contents;
|
|
163
|
-
}
|
|
164
|
-
async function typegen(root) {
|
|
165
|
-
let ctx = await plugin.loadPluginContext({
|
|
166
|
-
root
|
|
167
|
-
});
|
|
168
|
-
await typegen$1.writeAll({
|
|
169
|
-
rootDirectory: root,
|
|
170
|
-
appDirectory: ctx.reactRouterConfig.appDirectory,
|
|
171
|
-
routes: ctx.reactRouterConfig.routes
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
exports.build = build;
|
|
176
|
-
exports.dev = dev;
|
|
177
|
-
exports.generateEntry = generateEntry;
|
|
178
|
-
exports.routes = routes;
|
|
179
|
-
exports.typegen = typegen;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
type PackageManager = "npm" | "pnpm" | "yarn" | "bun";
|
|
2
|
-
/**
|
|
3
|
-
* Determine which package manager the user prefers.
|
|
4
|
-
*
|
|
5
|
-
* npm, pnpm and Yarn set the user agent environment variable
|
|
6
|
-
* that can be used to determine which package manager ran
|
|
7
|
-
* the command.
|
|
8
|
-
*/
|
|
9
|
-
export declare const detectPackageManager: () => PackageManager | undefined;
|
|
10
|
-
export {};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @react-router/dev v7.0.0-pre.2
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) Remix Software Inc.
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Determine which package manager the user prefers.
|
|
17
|
-
*
|
|
18
|
-
* npm, pnpm and Yarn set the user agent environment variable
|
|
19
|
-
* that can be used to determine which package manager ran
|
|
20
|
-
* the command.
|
|
21
|
-
*/
|
|
22
|
-
const detectPackageManager = () => {
|
|
23
|
-
let {
|
|
24
|
-
npm_config_user_agent
|
|
25
|
-
} = process.env;
|
|
26
|
-
if (!npm_config_user_agent) return undefined;
|
|
27
|
-
try {
|
|
28
|
-
let pkgManager = npm_config_user_agent.split("/")[0];
|
|
29
|
-
if (pkgManager === "npm") return "npm";
|
|
30
|
-
if (pkgManager === "pnpm") return "pnpm";
|
|
31
|
-
if (pkgManager === "yarn") return "yarn";
|
|
32
|
-
if (pkgManager === "bun") return "bun";
|
|
33
|
-
return undefined;
|
|
34
|
-
} catch {
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
exports.detectPackageManager = detectPackageManager;
|
package/dist/cli/run.d.ts
DELETED
package/dist/cli/run.js
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @react-router/dev v7.0.0-pre.2
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) Remix Software Inc.
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var arg = require('arg');
|
|
16
|
-
var semver = require('semver');
|
|
17
|
-
var colors = require('../colors.js');
|
|
18
|
-
var commands = require('./commands.js');
|
|
19
|
-
|
|
20
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
|
-
|
|
22
|
-
var arg__default = /*#__PURE__*/_interopDefaultLegacy(arg);
|
|
23
|
-
var semver__default = /*#__PURE__*/_interopDefaultLegacy(semver);
|
|
24
|
-
|
|
25
|
-
const helpText = `
|
|
26
|
-
${colors.logoBlue("react-router")}
|
|
27
|
-
|
|
28
|
-
${colors.heading("Usage")}:
|
|
29
|
-
$ react-router build [${colors.arg("projectDir")}]
|
|
30
|
-
$ react-router dev [${colors.arg("projectDir")}]
|
|
31
|
-
$ react-router routes [${colors.arg("projectDir")}]
|
|
32
|
-
|
|
33
|
-
${colors.heading("Options")}:
|
|
34
|
-
--help, -h Print this help message and exit
|
|
35
|
-
--version, -v Print the CLI version and exit
|
|
36
|
-
--no-color Disable ANSI colors in console output
|
|
37
|
-
\`build\` Options:
|
|
38
|
-
--assetsInlineLimit Static asset base64 inline threshold in bytes (default: 4096) (number)
|
|
39
|
-
--clearScreen Allow/disable clear screen when logging (boolean)
|
|
40
|
-
--config, -c Use specified config file (string)
|
|
41
|
-
--emptyOutDir Force empty outDir when it's outside of root (boolean)
|
|
42
|
-
--logLevel, -l Info | warn | error | silent (string)
|
|
43
|
-
--minify Enable/disable minification, or specify minifier to use (default: "esbuild") (boolean | "terser" | "esbuild")
|
|
44
|
-
--mode, -m Set env mode (string)
|
|
45
|
-
--profile Start built-in Node.js inspector
|
|
46
|
-
--sourcemapClient Output source maps for client build (default: false) (boolean | "inline" | "hidden")
|
|
47
|
-
--sourcemapServer Output source maps for server build (default: false) (boolean | "inline" | "hidden")
|
|
48
|
-
\`dev\` Options:
|
|
49
|
-
--clearScreen Allow/disable clear screen when logging (boolean)
|
|
50
|
-
--config, -c Use specified config file (string)
|
|
51
|
-
--cors Enable CORS (boolean)
|
|
52
|
-
--force Force the optimizer to ignore the cache and re-bundle (boolean)
|
|
53
|
-
--host Specify hostname (string)
|
|
54
|
-
--logLevel, -l Info | warn | error | silent (string)
|
|
55
|
-
--mode, -m Set env mode (string)
|
|
56
|
-
--open Open browser on startup (boolean | string)
|
|
57
|
-
--port Specify port (number)
|
|
58
|
-
--profile Start built-in Node.js inspector
|
|
59
|
-
--strictPort Exit if specified port is already in use (boolean)
|
|
60
|
-
\`routes\` Options:
|
|
61
|
-
--config, -c Use specified Vite config file (string)
|
|
62
|
-
--json Print the routes as JSON
|
|
63
|
-
\`reveal\` Options:
|
|
64
|
-
--config, -c Use specified Vite config file (string)
|
|
65
|
-
--no-typescript Generate plain JavaScript files
|
|
66
|
-
|
|
67
|
-
${colors.heading("Build your project")}:
|
|
68
|
-
|
|
69
|
-
$ react-router build
|
|
70
|
-
|
|
71
|
-
${colors.heading("Run your project locally in development")}:
|
|
72
|
-
|
|
73
|
-
$ react-router dev
|
|
74
|
-
|
|
75
|
-
${colors.heading("Show all routes in your app")}:
|
|
76
|
-
|
|
77
|
-
$ react-router routes
|
|
78
|
-
$ react-router routes my-app
|
|
79
|
-
$ react-router routes --json
|
|
80
|
-
$ react-router routes --config vite.react-router.config.ts
|
|
81
|
-
|
|
82
|
-
${colors.heading("Reveal the used entry point")}:
|
|
83
|
-
|
|
84
|
-
$ react-router reveal entry.client
|
|
85
|
-
$ react-router reveal entry.server
|
|
86
|
-
$ react-router reveal entry.client --no-typescript
|
|
87
|
-
$ react-router reveal entry.server --no-typescript
|
|
88
|
-
$ react-router reveal entry.server --config vite.react-router.config.ts
|
|
89
|
-
|
|
90
|
-
${colors.heading("Generate types for route modules")}:
|
|
91
|
-
|
|
92
|
-
$ react-router typegen
|
|
93
|
-
`;
|
|
94
|
-
/**
|
|
95
|
-
* Programmatic interface for running the react-router CLI with the given command line
|
|
96
|
-
* arguments.
|
|
97
|
-
*/
|
|
98
|
-
async function run(argv = process.argv.slice(2)) {
|
|
99
|
-
// Check the node version
|
|
100
|
-
let versions = process.versions;
|
|
101
|
-
let MINIMUM_NODE_VERSION = 20;
|
|
102
|
-
if (versions && versions.node && semver__default["default"].major(versions.node) < MINIMUM_NODE_VERSION) {
|
|
103
|
-
throw new Error(`️🚨 Oops, Node v${versions.node} detected. react-router requires ` + `a Node version greater than ${MINIMUM_NODE_VERSION}.`);
|
|
104
|
-
}
|
|
105
|
-
let isBooleanFlag = arg => {
|
|
106
|
-
let index = argv.indexOf(arg);
|
|
107
|
-
let nextArg = argv[index + 1];
|
|
108
|
-
return !nextArg || nextArg.startsWith("-");
|
|
109
|
-
};
|
|
110
|
-
let args = arg__default["default"]({
|
|
111
|
-
"--force": Boolean,
|
|
112
|
-
"--help": Boolean,
|
|
113
|
-
"-h": "--help",
|
|
114
|
-
"--json": Boolean,
|
|
115
|
-
"--token": String,
|
|
116
|
-
"--typescript": Boolean,
|
|
117
|
-
"--no-typescript": Boolean,
|
|
118
|
-
"--version": Boolean,
|
|
119
|
-
"-v": "--version",
|
|
120
|
-
"--port": Number,
|
|
121
|
-
"-p": "--port",
|
|
122
|
-
"--config": String,
|
|
123
|
-
"-c": "--config",
|
|
124
|
-
"--assetsInlineLimit": Number,
|
|
125
|
-
"--clearScreen": Boolean,
|
|
126
|
-
"--cors": Boolean,
|
|
127
|
-
"--emptyOutDir": Boolean,
|
|
128
|
-
"--host": isBooleanFlag("--host") ? Boolean : String,
|
|
129
|
-
"--logLevel": String,
|
|
130
|
-
"-l": "--logLevel",
|
|
131
|
-
"--minify": String,
|
|
132
|
-
"--mode": String,
|
|
133
|
-
"-m": "--mode",
|
|
134
|
-
"--open": isBooleanFlag("--open") ? Boolean : String,
|
|
135
|
-
"--strictPort": Boolean,
|
|
136
|
-
"--profile": Boolean,
|
|
137
|
-
"--sourcemapClient": isBooleanFlag("--sourcemapClient") ? Boolean : String,
|
|
138
|
-
"--sourcemapServer": isBooleanFlag("--sourcemapServer") ? Boolean : String
|
|
139
|
-
}, {
|
|
140
|
-
argv
|
|
141
|
-
});
|
|
142
|
-
let input = args._;
|
|
143
|
-
let flags = Object.entries(args).reduce((acc, [key, value]) => {
|
|
144
|
-
key = key.replace(/^--/, "");
|
|
145
|
-
acc[key] = value;
|
|
146
|
-
return acc;
|
|
147
|
-
}, {});
|
|
148
|
-
if (flags.help) {
|
|
149
|
-
console.log(helpText);
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
if (flags.version) {
|
|
153
|
-
let version = require("../package.json").version;
|
|
154
|
-
console.log(version);
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
flags.interactive = flags.interactive ?? require.main === module;
|
|
158
|
-
if (args["--no-typescript"]) {
|
|
159
|
-
flags.typescript = false;
|
|
160
|
-
}
|
|
161
|
-
let command = input[0];
|
|
162
|
-
// Note: Keep each case in this switch statement small.
|
|
163
|
-
switch (command) {
|
|
164
|
-
case "routes":
|
|
165
|
-
await commands.routes(input[1], flags);
|
|
166
|
-
break;
|
|
167
|
-
case "build":
|
|
168
|
-
await commands.build(input[1], flags);
|
|
169
|
-
break;
|
|
170
|
-
case "reveal":
|
|
171
|
-
{
|
|
172
|
-
// TODO: simplify getting started guide
|
|
173
|
-
await commands.generateEntry(input[1], input[2], flags);
|
|
174
|
-
break;
|
|
175
|
-
}
|
|
176
|
-
case "dev":
|
|
177
|
-
await commands.dev(input[1], flags);
|
|
178
|
-
break;
|
|
179
|
-
case "typegen":
|
|
180
|
-
await commands.typegen(input[1]);
|
|
181
|
-
break;
|
|
182
|
-
default:
|
|
183
|
-
// `react-router ./my-project` is shorthand for `react-router dev ./my-project`
|
|
184
|
-
await commands.dev(input[0], flags);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
exports.run = run;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @react-router/dev v7.0.0-pre.2
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) Remix Software Inc.
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var babel = require('@babel/core');
|
|
16
|
-
var babelPluginSyntaxJSX = require('@babel/plugin-syntax-jsx');
|
|
17
|
-
var babelPresetTypeScript = require('@babel/preset-typescript');
|
|
18
|
-
var prettier = require('prettier');
|
|
19
|
-
|
|
20
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
|
-
|
|
22
|
-
function _interopNamespace(e) {
|
|
23
|
-
if (e && e.__esModule) return e;
|
|
24
|
-
var n = Object.create(null);
|
|
25
|
-
if (e) {
|
|
26
|
-
Object.keys(e).forEach(function (k) {
|
|
27
|
-
if (k !== 'default') {
|
|
28
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
29
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
30
|
-
enumerable: true,
|
|
31
|
-
get: function () { return e[k]; }
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
n["default"] = e;
|
|
37
|
-
return Object.freeze(n);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
var babel__namespace = /*#__PURE__*/_interopNamespace(babel);
|
|
41
|
-
var babelPluginSyntaxJSX__default = /*#__PURE__*/_interopDefaultLegacy(babelPluginSyntaxJSX);
|
|
42
|
-
var babelPresetTypeScript__default = /*#__PURE__*/_interopDefaultLegacy(babelPresetTypeScript);
|
|
43
|
-
var prettier__default = /*#__PURE__*/_interopDefaultLegacy(prettier);
|
|
44
|
-
|
|
45
|
-
function transpile(tsx, options = {}) {
|
|
46
|
-
let mjs = babel__namespace.transformSync(tsx, {
|
|
47
|
-
compact: false,
|
|
48
|
-
cwd: options.cwd,
|
|
49
|
-
filename: options.filename,
|
|
50
|
-
plugins: [babelPluginSyntaxJSX__default["default"]],
|
|
51
|
-
presets: [[babelPresetTypeScript__default["default"], {
|
|
52
|
-
jsx: "preserve"
|
|
53
|
-
}]],
|
|
54
|
-
retainLines: true
|
|
55
|
-
});
|
|
56
|
-
if (!mjs || !mjs.code) throw new Error("Could not parse TypeScript");
|
|
57
|
-
/**
|
|
58
|
-
* Babel's `compact` and `retainLines` options are both bad at formatting code.
|
|
59
|
-
* Use Prettier for nicer formatting.
|
|
60
|
-
*/
|
|
61
|
-
return prettier__default["default"].format(mjs.code, {
|
|
62
|
-
parser: "babel"
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
exports.transpile = transpile;
|
package/dist/colors.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
export declare const heading: chalk.Chalk | (<T>(x: T) => T);
|
|
3
|
-
export declare const arg: chalk.Chalk | (<T>(x: T) => T);
|
|
4
|
-
export declare const error: chalk.Chalk | (<T>(x: T) => T);
|
|
5
|
-
export declare const warning: chalk.Chalk | (<T>(x: T) => T);
|
|
6
|
-
export declare const hint: chalk.Chalk | (<T>(x: T) => T);
|
|
7
|
-
export declare const logoBlue: chalk.Chalk | (<T>(x: T) => T);
|
|
8
|
-
export declare const logoGreen: chalk.Chalk | (<T>(x: T) => T);
|
|
9
|
-
export declare const logoYellow: chalk.Chalk | (<T>(x: T) => T);
|
|
10
|
-
export declare const logoPink: chalk.Chalk | (<T>(x: T) => T);
|
|
11
|
-
export declare const logoRed: chalk.Chalk | (<T>(x: T) => T);
|
|
12
|
-
export declare const bold: chalk.Chalk | (<T>(x: T) => T);
|
|
13
|
-
export declare const blue: chalk.Chalk | (<T>(x: T) => T);
|
|
14
|
-
export declare const cyan: chalk.Chalk | (<T>(x: T) => T);
|
|
15
|
-
export declare const gray: chalk.Chalk | (<T>(x: T) => T);
|
|
16
|
-
export declare const red: chalk.Chalk | (<T>(x: T) => T);
|
|
17
|
-
export declare const yellow: chalk.Chalk | (<T>(x: T) => T);
|
package/dist/colors.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @react-router/dev v7.0.0-pre.2
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) Remix Software Inc.
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var chalk = require('chalk');
|
|
16
|
-
|
|
17
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
-
|
|
19
|
-
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
20
|
-
|
|
21
|
-
// https://no-color.org/
|
|
22
|
-
const useColor = chalk__default["default"].supportsColor && !process.env.NO_COLOR;
|
|
23
|
-
const identity = x => x;
|
|
24
|
-
const safe = style => useColor ? style : identity;
|
|
25
|
-
const heading = safe(chalk__default["default"].underline);
|
|
26
|
-
const arg = safe(chalk__default["default"].yellowBright);
|
|
27
|
-
const error = safe(chalk__default["default"].red);
|
|
28
|
-
safe(chalk__default["default"].yellow);
|
|
29
|
-
safe(chalk__default["default"].blue);
|
|
30
|
-
const logoBlue = safe(chalk__default["default"].blueBright);
|
|
31
|
-
safe(chalk__default["default"].greenBright);
|
|
32
|
-
safe(chalk__default["default"].yellowBright);
|
|
33
|
-
safe(chalk__default["default"].magentaBright);
|
|
34
|
-
safe(chalk__default["default"].redBright);
|
|
35
|
-
// raw styles
|
|
36
|
-
safe(chalk__default["default"].bold);
|
|
37
|
-
// raw colors
|
|
38
|
-
const blue = safe(chalk__default["default"].blue);
|
|
39
|
-
safe(chalk__default["default"].cyan);
|
|
40
|
-
safe(chalk__default["default"].gray);
|
|
41
|
-
const red = safe(chalk__default["default"].red);
|
|
42
|
-
safe(chalk__default["default"].yellow);
|
|
43
|
-
|
|
44
|
-
exports.arg = arg;
|
|
45
|
-
exports.blue = blue;
|
|
46
|
-
exports.error = error;
|
|
47
|
-
exports.heading = heading;
|
|
48
|
-
exports.logoBlue = logoBlue;
|
|
49
|
-
exports.red = red;
|
package/dist/config/format.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { RouteManifest } from "./routes";
|
|
2
|
-
export type RoutesFormat = "json" | "jsx";
|
|
3
|
-
export declare function formatRoutes(routeManifest: RouteManifest, format: RoutesFormat): string;
|
|
4
|
-
export declare function formatRoutesAsJson(routeManifest: RouteManifest): string;
|
|
5
|
-
export declare function formatRoutesAsJsx(routeManifest: RouteManifest): string;
|