Skip to content

Commit 1e08473

Browse files
author
valley
committed
refactor: ConfigPreset type safety and migrate lodash to es-toolkit
1 parent e89ad30 commit 1e08473

File tree

5 files changed

+22
-25
lines changed

5 files changed

+22
-25
lines changed

packages/react-router-dev/config/config.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ import chokidar, {
99
type EmitArgs as ChokidarEmitArgs,
1010
} from "chokidar";
1111
import colors from "picocolors";
12-
import pick from "lodash/pick";
13-
import omit from "lodash/omit";
14-
import cloneDeep from "lodash/cloneDeep";
15-
import isEqual from "lodash/isEqual";
12+
import { pick, omit, cloneDeep, isEqual } from "es-toolkit";
1613

1714
import {
1815
type RouteManifest,
@@ -391,7 +388,7 @@ async function resolveConfig({
391388
// Prevent mutations to the user config
392389
reactRouterUserConfig = deepFreeze(cloneDeep(reactRouterUserConfig));
393390

394-
let presets: ReactRouterConfig[] = (
391+
let presets: ConfigPreset[] = (
395392
await Promise.all(
396393
(reactRouterUserConfig.presets ?? []).map(async (preset) => {
397394
if (!preset.name) {
@@ -404,10 +401,15 @@ async function resolveConfig({
404401
return null;
405402
}
406403

407-
let configPreset: ReactRouterConfig = omit(
408-
await preset.reactRouterConfig({ reactRouterUserConfig }),
409-
excludedConfigPresetKeys,
410-
);
404+
let presetResult = await preset.reactRouterConfig({
405+
reactRouterUserConfig,
406+
});
407+
408+
let configPreset = presetResult;
409+
410+
if ("presets" in presetResult) {
411+
configPreset = omit(presetResult, excludedConfigPresetKeys);
412+
}
411413

412414
return configPreset;
413415
}),

packages/react-router-dev/config/routes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as Path from "pathe";
22
import * as v from "valibot";
3-
import pick from "lodash/pick";
3+
import { pick } from "es-toolkit/compat";
44

55
import invariant from "../invariant";
66

packages/react-router-dev/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@
8787
"es-module-lexer": "^1.3.1",
8888
"exit-hook": "2.2.1",
8989
"jsesc": "3.0.2",
90-
"lodash": "^4.17.21",
9190
"pathe": "^1.1.2",
9291
"picocolors": "^1.1.1",
9392
"prettier": "^3.6.2",
@@ -106,7 +105,7 @@
106105
"@types/dedent": "^0.7.0",
107106
"@types/express": "^4.17.9",
108107
"@types/jsesc": "^3.0.1",
109-
"@types/lodash": "^4.14.182",
108+
"es-toolkit": "^1.39.7",
110109
"@types/node": "^20.0.0",
111110
"@types/npmcli__package-json": "^4.0.0",
112111
"@types/set-cookie-parser": "^2.4.1",

packages/react-router-dev/vite/plugin.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,9 @@ import {
3232
parse as esModuleLexer,
3333
} from "es-module-lexer";
3434
import { escapePath as escapePathAsGlob } from "tinyglobby";
35-
import pick from "lodash/pick";
35+
import { pick, kebabCase } from "es-toolkit/compat";
3636
import jsesc from "jsesc";
3737
import colors from "picocolors";
38-
import kebabCase from "lodash/kebabCase";
3938

4039
import * as Typegen from "../typegen";
4140
import type { RouteManifestEntry, RouteManifest } from "../config/routes";

pnpm-lock.yaml

Lines changed: 8 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)