@react-router/dev 0.0.0-experimental-7b411a741 → 0.0.0-experimental-4ed3f5da9
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/cli/commands.js +1 -1
- package/dist/cli/detectPackageManager.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/run.js +1 -1
- package/dist/cli/useJavascript.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/colors.js +1 -1
- package/dist/config/findConfig.d.ts +1 -0
- package/dist/config/findConfig.js +32 -0
- package/dist/config/{flat-routes.js → flatRoutes.js} +5 -5
- package/dist/config/format.js +1 -1
- package/dist/config/routes.js +1 -1
- package/dist/config.d.ts +210 -23
- package/dist/config.js +202 -65
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/invariant.js +1 -1
- package/dist/vite/babel.js +1 -1
- package/dist/vite/build.js +3 -2
- package/dist/vite/cloudflare-proxy-plugin.js +1 -1
- package/dist/vite/dev.js +1 -1
- package/dist/vite/import-vite-esm-sync.js +1 -1
- package/dist/vite/index.d.ts +0 -1
- package/dist/vite/index.js +1 -1
- package/dist/vite/node-adapter.js +1 -1
- package/dist/vite/plugin.d.ts +2 -96
- package/dist/vite/plugin.js +152 -152
- package/dist/vite/profiler.js +1 -1
- package/dist/vite/remove-exports.js +1 -1
- package/dist/vite/resolve-file-url.js +1 -1
- package/dist/vite/styles.d.ts +2 -2
- package/dist/vite/styles.js +1 -1
- package/dist/vite/vmod.js +1 -1
- package/package.json +7 -7
- package/dist/config/serverModes.js +0 -28
- /package/dist/config/{flat-routes.d.ts → flatRoutes.d.ts} +0 -0
package/dist/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @react-router/dev v0.0.0-experimental-
|
|
2
|
+
* @react-router/dev v0.0.0-experimental-4ed3f5da9
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -15,29 +15,212 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
15
15
|
var node_child_process = require('node:child_process');
|
|
16
16
|
var path = require('node:path');
|
|
17
17
|
var fse = require('fs-extra');
|
|
18
|
+
var colors = require('picocolors');
|
|
19
|
+
var pick = require('lodash/pick');
|
|
20
|
+
var omit = require('lodash/omit');
|
|
18
21
|
var PackageJson = require('@npmcli/package-json');
|
|
19
22
|
var routes = require('./config/routes.js');
|
|
20
|
-
var
|
|
21
|
-
var flatRoutes = require('./config/flat-routes.js');
|
|
23
|
+
var flatRoutes = require('./config/flatRoutes.js');
|
|
22
24
|
var detectPackageManager = require('./cli/detectPackageManager.js');
|
|
23
25
|
|
|
24
26
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
25
27
|
|
|
26
28
|
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
27
29
|
var fse__default = /*#__PURE__*/_interopDefaultLegacy(fse);
|
|
30
|
+
var colors__default = /*#__PURE__*/_interopDefaultLegacy(colors);
|
|
31
|
+
var pick__default = /*#__PURE__*/_interopDefaultLegacy(pick);
|
|
32
|
+
var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
|
|
28
33
|
var PackageJson__default = /*#__PURE__*/_interopDefaultLegacy(PackageJson);
|
|
29
34
|
|
|
30
|
-
|
|
35
|
+
const excludedConfigPresetKeys = ["presets"];
|
|
36
|
+
// Only expose a subset of route properties to the "serverBundles" function
|
|
37
|
+
const branchRouteProperties = ["id", "path", "file", "index"];
|
|
38
|
+
const configRouteToBranchRoute = configRoute => pick__default["default"](configRoute, branchRouteProperties);
|
|
39
|
+
let mergeReactRouterConfig = (...configs) => {
|
|
40
|
+
let reducer = (configA, configB) => {
|
|
41
|
+
let mergeRequired = key => configA[key] !== undefined && configB[key] !== undefined;
|
|
42
|
+
return {
|
|
43
|
+
...configA,
|
|
44
|
+
...configB,
|
|
45
|
+
...(mergeRequired("buildEnd") ? {
|
|
46
|
+
buildEnd: async (...args) => {
|
|
47
|
+
var _configA$buildEnd, _configB$buildEnd;
|
|
48
|
+
await Promise.all([(_configA$buildEnd = configA.buildEnd) === null || _configA$buildEnd === void 0 ? void 0 : _configA$buildEnd.call(configA, ...args), (_configB$buildEnd = configB.buildEnd) === null || _configB$buildEnd === void 0 ? void 0 : _configB$buildEnd.call(configB, ...args)]);
|
|
49
|
+
}
|
|
50
|
+
} : {}),
|
|
51
|
+
...(mergeRequired("future") ? {
|
|
52
|
+
future: {
|
|
53
|
+
...configA.future,
|
|
54
|
+
...configB.future
|
|
55
|
+
}
|
|
56
|
+
} : {}),
|
|
57
|
+
...(mergeRequired("ignoredRouteFiles") ? {
|
|
58
|
+
ignoredRouteFiles: Array.from(new Set([...(configA.ignoredRouteFiles ?? []), ...(configB.ignoredRouteFiles ?? [])]))
|
|
59
|
+
} : {}),
|
|
60
|
+
...(mergeRequired("presets") ? {
|
|
61
|
+
presets: [...(configA.presets ?? []), ...(configB.presets ?? [])]
|
|
62
|
+
} : {}),
|
|
63
|
+
...(mergeRequired("routes") ? {
|
|
64
|
+
routes: async (...args) => {
|
|
65
|
+
var _configA$routes, _configB$routes;
|
|
66
|
+
let [routesA, routesB] = await Promise.all([(_configA$routes = configA.routes) === null || _configA$routes === void 0 ? void 0 : _configA$routes.call(configA, ...args), (_configB$routes = configB.routes) === null || _configB$routes === void 0 ? void 0 : _configB$routes.call(configB, ...args)]);
|
|
67
|
+
return {
|
|
68
|
+
...routesA,
|
|
69
|
+
...routesB
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
} : {})
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
return configs.reduce(reducer, {});
|
|
76
|
+
};
|
|
77
|
+
// Inlined from https://github.com/jsdf/deep-freeze
|
|
78
|
+
let deepFreeze = o => {
|
|
79
|
+
Object.freeze(o);
|
|
80
|
+
let oIsFunction = typeof o === "function";
|
|
81
|
+
let hasOwnProp = Object.prototype.hasOwnProperty;
|
|
82
|
+
Object.getOwnPropertyNames(o).forEach(function (prop) {
|
|
83
|
+
if (hasOwnProp.call(o, prop) && (oIsFunction ? prop !== "caller" && prop !== "callee" && prop !== "arguments" : true) && o[prop] !== null && (typeof o[prop] === "object" || typeof o[prop] === "function") && !Object.isFrozen(o[prop])) {
|
|
84
|
+
deepFreeze(o[prop]);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
return o;
|
|
88
|
+
};
|
|
89
|
+
async function resolveReactRouterConfig({
|
|
31
90
|
rootDirectory,
|
|
32
|
-
|
|
33
|
-
|
|
91
|
+
reactRouterUserConfig,
|
|
92
|
+
viteUserConfig,
|
|
93
|
+
viteCommand
|
|
34
94
|
}) {
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
|
|
95
|
+
var _viteUserConfig$serve;
|
|
96
|
+
let presets = (await Promise.all((reactRouterUserConfig.presets ?? []).map(async preset => {
|
|
97
|
+
if (!preset.name) {
|
|
98
|
+
throw new Error("React Router presets must have a `name` property defined.");
|
|
99
|
+
}
|
|
100
|
+
if (!preset.reactRouterConfig) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
let configPreset = omit__default["default"](await preset.reactRouterConfig({
|
|
104
|
+
reactRouterUserConfig
|
|
105
|
+
}), excludedConfigPresetKeys);
|
|
106
|
+
return configPreset;
|
|
107
|
+
}))).filter(function isNotNull(value) {
|
|
108
|
+
return value !== null;
|
|
109
|
+
});
|
|
110
|
+
let defaults = {
|
|
111
|
+
basename: "/",
|
|
112
|
+
buildDirectory: "build",
|
|
113
|
+
manifest: false,
|
|
114
|
+
serverBuildFile: "index.js",
|
|
115
|
+
serverModuleFormat: "esm",
|
|
116
|
+
ssr: true
|
|
117
|
+
};
|
|
118
|
+
let {
|
|
119
|
+
appDirectory: userAppDirectory,
|
|
120
|
+
basename,
|
|
121
|
+
buildDirectory: userBuildDirectory,
|
|
122
|
+
buildEnd,
|
|
123
|
+
future: userFuture,
|
|
124
|
+
ignoredRouteFiles,
|
|
125
|
+
manifest,
|
|
126
|
+
routes: userRoutesFunction,
|
|
127
|
+
prerender: prerenderConfig,
|
|
128
|
+
serverBuildFile,
|
|
129
|
+
serverBundles,
|
|
130
|
+
serverModuleFormat,
|
|
131
|
+
ssr
|
|
132
|
+
} = {
|
|
133
|
+
...defaults,
|
|
134
|
+
// Default values should be completely overridden by user/preset config, not merged
|
|
135
|
+
...mergeReactRouterConfig(...presets, reactRouterUserConfig)
|
|
136
|
+
};
|
|
137
|
+
// Log warning for incompatible vite config flags
|
|
138
|
+
if (!ssr && serverBundles) {
|
|
139
|
+
console.warn(colors__default["default"].yellow(colors__default["default"].bold("⚠️ SPA Mode: ") + "the `serverBundles` config is invalid with " + "`ssr:false` and will be ignored`"));
|
|
140
|
+
serverBundles = undefined;
|
|
141
|
+
}
|
|
142
|
+
let prerender = null;
|
|
143
|
+
if (prerenderConfig) {
|
|
144
|
+
if (Array.isArray(prerenderConfig)) {
|
|
145
|
+
prerender = prerenderConfig;
|
|
146
|
+
} else if (typeof prerenderConfig === "function") {
|
|
147
|
+
prerender = await prerenderConfig();
|
|
148
|
+
} else {
|
|
149
|
+
throw new Error("The `prerender` config must be an array of string paths, or a function " + "returning an array of string paths");
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
let appDirectory = path__default["default"].resolve(rootDirectory, userAppDirectory || "app");
|
|
153
|
+
let buildDirectory = path__default["default"].resolve(rootDirectory, userBuildDirectory);
|
|
154
|
+
let publicPath = viteUserConfig.base ?? "/";
|
|
155
|
+
if (basename !== "/" && viteCommand === "serve" && !((_viteUserConfig$serve = viteUserConfig.server) !== null && _viteUserConfig$serve !== void 0 && _viteUserConfig$serve.middlewareMode) && !basename.startsWith(publicPath)) {
|
|
156
|
+
throw new Error("When using the React Router `basename` and the Vite `base` config, " + "the `basename` config must begin with `base` for the default " + "Vite dev server.");
|
|
157
|
+
}
|
|
158
|
+
let rootRouteFile = findEntry(appDirectory, "root");
|
|
159
|
+
if (!rootRouteFile) {
|
|
160
|
+
throw new Error(`Missing "root" route file in ${appDirectory}`);
|
|
161
|
+
}
|
|
162
|
+
let routes$1 = {
|
|
163
|
+
root: {
|
|
164
|
+
path: "",
|
|
165
|
+
id: "root",
|
|
166
|
+
file: rootRouteFile
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
if (fse__default["default"].existsSync(path__default["default"].resolve(appDirectory, "routes"))) {
|
|
170
|
+
let fileRoutes = flatRoutes.flatRoutes(appDirectory, ignoredRouteFiles);
|
|
171
|
+
for (let route of Object.values(fileRoutes)) {
|
|
172
|
+
routes$1[route.id] = {
|
|
173
|
+
...route,
|
|
174
|
+
parentId: route.parentId || "root"
|
|
175
|
+
};
|
|
176
|
+
}
|
|
38
177
|
}
|
|
39
|
-
|
|
40
|
-
|
|
178
|
+
if (userRoutesFunction) {
|
|
179
|
+
let userRoutes = await userRoutesFunction(routes.defineRoutes);
|
|
180
|
+
for (let route of Object.values(userRoutes)) {
|
|
181
|
+
routes$1[route.id] = {
|
|
182
|
+
...route,
|
|
183
|
+
parentId: route.parentId || "root"
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
let future = {
|
|
188
|
+
v3_fetcherPersist: (userFuture === null || userFuture === void 0 ? void 0 : userFuture.v3_fetcherPersist) === true,
|
|
189
|
+
v3_relativeSplatPath: (userFuture === null || userFuture === void 0 ? void 0 : userFuture.v3_relativeSplatPath) === true,
|
|
190
|
+
v3_throwAbortReason: (userFuture === null || userFuture === void 0 ? void 0 : userFuture.v3_throwAbortReason) === true,
|
|
191
|
+
unstable_singleFetch: (userFuture === null || userFuture === void 0 ? void 0 : userFuture.unstable_singleFetch) === true
|
|
192
|
+
};
|
|
193
|
+
let reactRouterConfig = deepFreeze({
|
|
194
|
+
appDirectory,
|
|
195
|
+
basename,
|
|
196
|
+
buildDirectory,
|
|
197
|
+
buildEnd,
|
|
198
|
+
future,
|
|
199
|
+
manifest,
|
|
200
|
+
prerender,
|
|
201
|
+
publicPath,
|
|
202
|
+
routes: routes$1,
|
|
203
|
+
serverBuildFile,
|
|
204
|
+
serverBundles,
|
|
205
|
+
serverModuleFormat,
|
|
206
|
+
ssr
|
|
207
|
+
});
|
|
208
|
+
for (let preset of reactRouterUserConfig.presets ?? []) {
|
|
209
|
+
var _preset$reactRouterCo;
|
|
210
|
+
await ((_preset$reactRouterCo = preset.reactRouterConfigResolved) === null || _preset$reactRouterCo === void 0 ? void 0 : _preset$reactRouterCo.call(preset, {
|
|
211
|
+
reactRouterConfig
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
return reactRouterConfig;
|
|
215
|
+
}
|
|
216
|
+
async function resolveEntryFiles({
|
|
217
|
+
rootDirectory,
|
|
218
|
+
reactRouterConfig
|
|
219
|
+
}) {
|
|
220
|
+
let {
|
|
221
|
+
appDirectory,
|
|
222
|
+
future
|
|
223
|
+
} = reactRouterConfig;
|
|
41
224
|
let defaultsDirectory = path__default["default"].resolve(__dirname, "config", "defaults");
|
|
42
225
|
let userEntryClientFile = findEntry(appDirectory, "entry.client");
|
|
43
226
|
let userEntryServerFile = findEntry(appDirectory, "entry.server");
|
|
@@ -45,12 +228,12 @@ async function resolveConfig(appConfig, {
|
|
|
45
228
|
let entryClientFile = userEntryClientFile || "entry.client.tsx";
|
|
46
229
|
let pkgJson = await PackageJson__default["default"].load(rootDirectory);
|
|
47
230
|
let deps = pkgJson.content.dependencies ?? {};
|
|
48
|
-
if (
|
|
231
|
+
if (!reactRouterConfig.ssr && (future === null || future === void 0 ? void 0 : future.unstable_singleFetch) !== true) {
|
|
49
232
|
// This is a super-simple default since we don't need streaming in SPA Mode.
|
|
50
233
|
// We can include this in a remix-spa template, but right now `npx remix reveal`
|
|
51
234
|
// will still expose the streaming template since that command doesn't have
|
|
52
235
|
// access to the `ssr:false` flag in the vite config (the streaming template
|
|
53
|
-
// works just fine so maybe
|
|
236
|
+
// works just fine so maybe instead of having this we _only have this version
|
|
54
237
|
// in the template...). We let users manage an entry.server file in SPA Mode
|
|
55
238
|
// so they can de ide if they want to hydrate the full document or just an
|
|
56
239
|
// embedded `<div id="app">` or whatever.
|
|
@@ -81,50 +264,11 @@ async function resolveConfig(appConfig, {
|
|
|
81
264
|
}
|
|
82
265
|
entryServerFile = `entry.server.${serverRuntime}.tsx`;
|
|
83
266
|
}
|
|
84
|
-
let entryClientFilePath = userEntryClientFile ? path__default["default"].resolve(appDirectory, userEntryClientFile) : path__default["default"].resolve(defaultsDirectory, entryClientFile);
|
|
85
|
-
let entryServerFilePath = userEntryServerFile ? path__default["default"].resolve(appDirectory, userEntryServerFile) : path__default["default"].resolve(defaultsDirectory, entryServerFile);
|
|
86
|
-
let rootRouteFile = findEntry(appDirectory, "root");
|
|
87
|
-
if (!rootRouteFile) {
|
|
88
|
-
throw new Error(`Missing "root" route file in ${appDirectory}`);
|
|
89
|
-
}
|
|
90
|
-
let routes$1 = {
|
|
91
|
-
root: {
|
|
92
|
-
path: "",
|
|
93
|
-
id: "root",
|
|
94
|
-
file: rootRouteFile
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
if (fse__default["default"].existsSync(path__default["default"].resolve(appDirectory, "routes"))) {
|
|
98
|
-
let fileRoutes = flatRoutes.flatRoutes(appDirectory, appConfig.ignoredRouteFiles);
|
|
99
|
-
for (let route of Object.values(fileRoutes)) {
|
|
100
|
-
routes$1[route.id] = {
|
|
101
|
-
...route,
|
|
102
|
-
parentId: route.parentId || "root"
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
if (appConfig.routes) {
|
|
107
|
-
let manualRoutes = await appConfig.routes(routes.defineRoutes);
|
|
108
|
-
for (let route of Object.values(manualRoutes)) {
|
|
109
|
-
routes$1[route.id] = {
|
|
110
|
-
...route,
|
|
111
|
-
parentId: route.parentId || "root"
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
let future = {
|
|
116
|
-
v3_fetcherPersist: ((_appConfig$future2 = appConfig.future) === null || _appConfig$future2 === void 0 ? void 0 : _appConfig$future2.v3_fetcherPersist) === true,
|
|
117
|
-
v3_relativeSplatPath: ((_appConfig$future3 = appConfig.future) === null || _appConfig$future3 === void 0 ? void 0 : _appConfig$future3.v3_relativeSplatPath) === true,
|
|
118
|
-
v3_throwAbortReason: ((_appConfig$future4 = appConfig.future) === null || _appConfig$future4 === void 0 ? void 0 : _appConfig$future4.v3_throwAbortReason) === true,
|
|
119
|
-
unstable_singleFetch: ((_appConfig$future5 = appConfig.future) === null || _appConfig$future5 === void 0 ? void 0 : _appConfig$future5.unstable_singleFetch) === true
|
|
120
|
-
};
|
|
267
|
+
let entryClientFilePath = userEntryClientFile ? path__default["default"].resolve(reactRouterConfig.appDirectory, userEntryClientFile) : path__default["default"].resolve(defaultsDirectory, entryClientFile);
|
|
268
|
+
let entryServerFilePath = userEntryServerFile ? path__default["default"].resolve(reactRouterConfig.appDirectory, userEntryServerFile) : path__default["default"].resolve(defaultsDirectory, entryServerFile);
|
|
121
269
|
return {
|
|
122
|
-
appDirectory,
|
|
123
270
|
entryClientFilePath,
|
|
124
|
-
entryServerFilePath
|
|
125
|
-
routes: routes$1,
|
|
126
|
-
serverModuleFormat,
|
|
127
|
-
future
|
|
271
|
+
entryServerFilePath
|
|
128
272
|
};
|
|
129
273
|
}
|
|
130
274
|
const entryExts = [".js", ".jsx", ".ts", ".tsx"];
|
|
@@ -135,18 +279,11 @@ function findEntry(dir, basename) {
|
|
|
135
279
|
}
|
|
136
280
|
return undefined;
|
|
137
281
|
}
|
|
138
|
-
function findConfig(dir, basename, extensions) {
|
|
139
|
-
for (let ext of extensions) {
|
|
140
|
-
let name = basename + ext;
|
|
141
|
-
let file = path__default["default"].join(dir, name);
|
|
142
|
-
if (fse__default["default"].existsSync(file)) return file;
|
|
143
|
-
}
|
|
144
|
-
return undefined;
|
|
145
|
-
}
|
|
146
282
|
let disjunctionListFormat = new Intl.ListFormat("en", {
|
|
147
283
|
style: "long",
|
|
148
284
|
type: "disjunction"
|
|
149
285
|
});
|
|
150
286
|
|
|
151
|
-
exports.
|
|
152
|
-
exports.
|
|
287
|
+
exports.configRouteToBranchRoute = configRouteToBranchRoute;
|
|
288
|
+
exports.resolveEntryFiles = resolveEntryFiles;
|
|
289
|
+
exports.resolveReactRouterConfig = resolveReactRouterConfig;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * as cli from "./cli/index";
|
|
2
2
|
export type { Manifest as AssetsManifest } from "./manifest";
|
|
3
|
-
export type { BuildManifest, Preset, ServerBundlesFunction, VitePluginConfig, } from "./
|
|
3
|
+
export type { BuildManifest, Preset, ServerBundlesFunction, VitePluginConfig, } from "./config";
|
|
4
4
|
export { vitePlugin, cloudflareDevProxyVitePlugin } from "./vite";
|
package/dist/index.js
CHANGED
package/dist/invariant.js
CHANGED
package/dist/vite/babel.js
CHANGED
package/dist/vite/build.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @react-router/dev v0.0.0-experimental-
|
|
2
|
+
* @react-router/dev v0.0.0-experimental-4ed3f5da9
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -16,6 +16,7 @@ var path = require('node:path');
|
|
|
16
16
|
var fse = require('fs-extra');
|
|
17
17
|
var colors = require('picocolors');
|
|
18
18
|
var plugin = require('./plugin.js');
|
|
19
|
+
var config = require('../config.js');
|
|
19
20
|
var invariant = require('../invariant.js');
|
|
20
21
|
var importViteEsmSync = require('./import-vite-esm-sync.js');
|
|
21
22
|
|
|
@@ -94,7 +95,7 @@ async function getServerBuilds(ctx) {
|
|
|
94
95
|
await Promise.all(getAddressableRoutes(routes).map(async route => {
|
|
95
96
|
let branch = getRouteBranch(routes, route.id);
|
|
96
97
|
let serverBundleId = await serverBundles({
|
|
97
|
-
branch: branch.map(route =>
|
|
98
|
+
branch: branch.map(route => config.configRouteToBranchRoute({
|
|
98
99
|
...route,
|
|
99
100
|
// Ensure absolute paths are passed to the serverBundles function
|
|
100
101
|
file: path__default["default"].join(resolvedAppDirectory, route.file)
|
package/dist/vite/dev.js
CHANGED
package/dist/vite/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { ReactRouterVitePlugin } from "./plugin";
|
|
2
|
-
export type { BuildManifest, Preset, VitePluginConfig, ServerBundlesFunction, } from "./plugin";
|
|
3
2
|
export declare const vitePlugin: ReactRouterVitePlugin;
|
|
4
3
|
export { cloudflareDevProxyVitePlugin } from "./cloudflare-proxy-plugin";
|
package/dist/vite/index.js
CHANGED
package/dist/vite/plugin.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type * as Vite from "vite";
|
|
2
|
-
import
|
|
3
|
-
import type { AppConfig as RemixEsbuildUserConfig, RemixConfig as ResolvedRemixEsbuildConfig } from "../config";
|
|
2
|
+
import { type RouteManifest } from "../config/routes";
|
|
4
3
|
import type { Manifest as ReactRouterManifest } from "../manifest";
|
|
4
|
+
import { type VitePluginConfig, type ResolvedVitePluginConfig } from "../config";
|
|
5
5
|
export declare function resolveViteConfig({ configFile, mode, root, }: {
|
|
6
6
|
configFile?: string;
|
|
7
7
|
mode?: string;
|
|
@@ -43,100 +43,6 @@ export declare function loadPluginContext({ configFile, root, }: {
|
|
|
43
43
|
configFile?: string;
|
|
44
44
|
root?: string;
|
|
45
45
|
}): Promise<ReactRouterPluginContext>;
|
|
46
|
-
declare const branchRouteProperties: readonly ["id", "path", "file", "index"];
|
|
47
|
-
type BranchRoute = Pick<ConfigRoute, (typeof branchRouteProperties)[number]>;
|
|
48
|
-
export declare const configRouteToBranchRoute: (configRoute: ConfigRoute) => BranchRoute;
|
|
49
|
-
export type ServerBundlesFunction = (args: {
|
|
50
|
-
branch: BranchRoute[];
|
|
51
|
-
}) => string | Promise<string>;
|
|
52
|
-
type BaseBuildManifest = {
|
|
53
|
-
routes: RouteManifest;
|
|
54
|
-
};
|
|
55
|
-
type DefaultBuildManifest = BaseBuildManifest & {
|
|
56
|
-
serverBundles?: never;
|
|
57
|
-
routeIdToServerBundleId?: never;
|
|
58
|
-
};
|
|
59
|
-
export type ServerBundlesBuildManifest = BaseBuildManifest & {
|
|
60
|
-
serverBundles: {
|
|
61
|
-
[serverBundleId: string]: {
|
|
62
|
-
id: string;
|
|
63
|
-
file: string;
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
routeIdToServerBundleId: Record<string, string>;
|
|
67
|
-
};
|
|
68
|
-
export type BuildManifest = DefaultBuildManifest | ServerBundlesBuildManifest;
|
|
69
|
-
declare const excludedConfigPresetKeys: readonly ["presets"];
|
|
70
|
-
type ExcludedConfigPresetKey = (typeof excludedConfigPresetKeys)[number];
|
|
71
|
-
type ConfigPreset = Omit<VitePluginConfig, ExcludedConfigPresetKey>;
|
|
72
|
-
export type Preset = {
|
|
73
|
-
name: string;
|
|
74
|
-
reactRouterConfig?: (args: {
|
|
75
|
-
reactRouterUserConfig: VitePluginConfig;
|
|
76
|
-
}) => ConfigPreset | Promise<ConfigPreset>;
|
|
77
|
-
reactRouterConfigResolved?: (args: {
|
|
78
|
-
reactRouterConfig: ResolvedVitePluginConfig;
|
|
79
|
-
}) => void | Promise<void>;
|
|
80
|
-
};
|
|
81
|
-
export type VitePluginConfig = RemixEsbuildUserConfig & {
|
|
82
|
-
/**
|
|
83
|
-
* The react router app basename. Defaults to `"/"`.
|
|
84
|
-
*/
|
|
85
|
-
basename?: string;
|
|
86
|
-
/**
|
|
87
|
-
* The path to the build directory, relative to the project. Defaults to
|
|
88
|
-
* `"build"`.
|
|
89
|
-
*/
|
|
90
|
-
buildDirectory?: string;
|
|
91
|
-
/**
|
|
92
|
-
* A function that is called after the full React Router build is complete.
|
|
93
|
-
*/
|
|
94
|
-
buildEnd?: BuildEndHook;
|
|
95
|
-
/**
|
|
96
|
-
* Whether to write a `"manifest.json"` file to the build directory.`
|
|
97
|
-
* Defaults to `false`.
|
|
98
|
-
*/
|
|
99
|
-
manifest?: boolean;
|
|
100
|
-
/**
|
|
101
|
-
* An array of React Router plugin config presets to ease integration with
|
|
102
|
-
* other platforms and tools.
|
|
103
|
-
*/
|
|
104
|
-
presets?: Array<Preset>;
|
|
105
|
-
/**
|
|
106
|
-
* The file name of the server build output. This file
|
|
107
|
-
* should end in a `.js` extension and should be deployed to your server.
|
|
108
|
-
* Defaults to `"index.js"`.
|
|
109
|
-
*/
|
|
110
|
-
serverBuildFile?: string;
|
|
111
|
-
/**
|
|
112
|
-
* A function for assigning routes to different server bundles. This
|
|
113
|
-
* function should return a server bundle ID which will be used as the
|
|
114
|
-
* bundle's directory name within the server build directory.
|
|
115
|
-
*/
|
|
116
|
-
serverBundles?: ServerBundlesFunction;
|
|
117
|
-
/**
|
|
118
|
-
* Enable server-side rendering for your application. Disable to use "SPA
|
|
119
|
-
* Mode", which will request the `/` path at build-time and save it as an
|
|
120
|
-
* `index.html` file with your assets so your application can be deployed as a
|
|
121
|
-
* SPA without server-rendering. Default's to `true`.
|
|
122
|
-
*/
|
|
123
|
-
ssr?: boolean;
|
|
124
|
-
};
|
|
125
|
-
type BuildEndHook = (args: {
|
|
126
|
-
buildManifest: BuildManifest | undefined;
|
|
127
|
-
reactRouterConfig: ResolvedVitePluginConfig;
|
|
128
|
-
viteConfig: Vite.ResolvedConfig;
|
|
129
|
-
}) => void | Promise<void>;
|
|
130
|
-
export type ResolvedVitePluginConfig = Readonly<Pick<ResolvedRemixEsbuildConfig, "appDirectory" | "future" | "routes" | "serverModuleFormat"> & {
|
|
131
|
-
basename: string;
|
|
132
|
-
buildDirectory: string;
|
|
133
|
-
buildEnd?: BuildEndHook;
|
|
134
|
-
manifest: boolean;
|
|
135
|
-
publicPath: string;
|
|
136
|
-
serverBuildFile: string;
|
|
137
|
-
serverBundles?: ServerBundlesFunction;
|
|
138
|
-
ssr: boolean;
|
|
139
|
-
}>;
|
|
140
46
|
export type ServerBundleBuildConfig = {
|
|
141
47
|
routes: RouteManifest;
|
|
142
48
|
serverBundleId: string;
|