diff --git a/packages/remix-dev/config/routes.ts b/packages/remix-dev/config/routes.ts index 3e2b919517c..cbf90b5f9d3 100644 --- a/packages/remix-dev/config/routes.ts +++ b/packages/remix-dev/config/routes.ts @@ -1,4 +1,4 @@ -import { win32 } from "node:path"; +import * as path from "node:path"; import * as v from "valibot"; import invariant from "../invariant"; @@ -386,9 +386,9 @@ export function createRouteId(file: string) { } export function normalizeSlashes(file: string) { - return file.split(win32.sep).join("/"); + return file.split(path.win32.sep).join("/"); } -export function stripFileExtension(file: string) { +function stripFileExtension(file: string) { return file.replace(/\.[a-z0-9]+$/i, ""); } diff --git a/packages/remix-fs-routes/index.ts b/packages/remix-fs-routes/index.ts index 04e61405570..1ad52e53d2d 100644 --- a/packages/remix-fs-routes/index.ts +++ b/packages/remix-fs-routes/index.ts @@ -9,8 +9,6 @@ import { getAppDirectory, } from "@remix-run/route-config"; -import { normalizeSlashes } from "./normalizeSlashes"; - /** * Creates route config from the file system that matches [Remix's default file * conventions](https://remix.run/docs/en/v2/file-conventions/routes), for @@ -44,3 +42,7 @@ export async function flatRoutes( return routeManifestToRouteConfig(routes); } + +function normalizeSlashes(file: string) { + return file.split(path.win32.sep).join("/"); +} diff --git a/packages/remix-fs-routes/normalizeSlashes.ts b/packages/remix-fs-routes/normalizeSlashes.ts deleted file mode 100644 index 3d16e5041e8..00000000000 --- a/packages/remix-fs-routes/normalizeSlashes.ts +++ /dev/null @@ -1,5 +0,0 @@ -import path from "node:path"; - -export function normalizeSlashes(file: string) { - return file.split(path.win32.sep).join("/"); -} diff --git a/packages/remix-route-config/routes.ts b/packages/remix-route-config/routes.ts index d4a16790eb6..b595c00b3c8 100644 --- a/packages/remix-route-config/routes.ts +++ b/packages/remix-route-config/routes.ts @@ -13,15 +13,12 @@ export function getAppDirectory() { return getRouteConfigAppDirectory(); } -const createConfigRouteOptionKeys = [ +const routeOptionKeys = [ "id", "index", "caseSensitive", ] as const satisfies ReadonlyArray; -type CreateRouteOptions = Pick< - RouteConfigEntry, - typeof createConfigRouteOptionKeys[number] ->; +type RouteOptions = Pick; /** * Helper function for creating a route config entry, for use within * `routes.ts`. @@ -34,16 +31,16 @@ function route( function route( path: string | null | undefined, file: string, - options: CreateRouteOptions, + options: RouteOptions, children?: RouteConfigEntry[] ): RouteConfigEntry; function route( path: string | null | undefined, file: string, - optionsOrChildren: CreateRouteOptions | RouteConfigEntry[] | undefined, + optionsOrChildren: RouteOptions | RouteConfigEntry[] | undefined, children?: RouteConfigEntry[] ): RouteConfigEntry { - let options: CreateRouteOptions = {}; + let options: RouteOptions = {}; if (Array.isArray(optionsOrChildren) || !optionsOrChildren) { children = optionsOrChildren; @@ -55,36 +52,30 @@ function route( file, children, path: path ?? undefined, - ...pick(options, createConfigRouteOptionKeys), + ...pick(options, routeOptionKeys), }; } -const createIndexOptionKeys = ["id"] as const satisfies ReadonlyArray< +const indexOptionKeys = ["id"] as const satisfies ReadonlyArray< keyof RouteConfigEntry >; -type CreateIndexOptions = Pick< - RouteConfigEntry, - typeof createIndexOptionKeys[number] ->; +type IndexOptions = Pick; /** * Helper function for creating a route config entry for an index route, for use * within `routes.ts`. */ -function index(file: string, options?: CreateIndexOptions): RouteConfigEntry { +function index(file: string, options?: IndexOptions): RouteConfigEntry { return { file, index: true, - ...pick(options, createIndexOptionKeys), + ...pick(options, indexOptionKeys), }; } -const createLayoutOptionKeys = ["id"] as const satisfies ReadonlyArray< +const layoutOptionKeys = ["id"] as const satisfies ReadonlyArray< keyof RouteConfigEntry >; -type CreateLayoutOptions = Pick< - RouteConfigEntry, - typeof createLayoutOptionKeys[number] ->; +type LayoutOptions = Pick; /** * Helper function for creating a route config entry for a layout route, for use * within `routes.ts`. @@ -92,15 +83,15 @@ type CreateLayoutOptions = Pick< function layout(file: string, children?: RouteConfigEntry[]): RouteConfigEntry; function layout( file: string, - options: CreateLayoutOptions, + options: LayoutOptions, children?: RouteConfigEntry[] ): RouteConfigEntry; function layout( file: string, - optionsOrChildren: CreateLayoutOptions | RouteConfigEntry[] | undefined, + optionsOrChildren: LayoutOptions | RouteConfigEntry[] | undefined, children?: RouteConfigEntry[] ): RouteConfigEntry { - let options: CreateLayoutOptions = {}; + let options: LayoutOptions = {}; if (Array.isArray(optionsOrChildren) || !optionsOrChildren) { children = optionsOrChildren; @@ -111,7 +102,7 @@ function layout( return { file, children, - ...pick(options, createLayoutOptionKeys), + ...pick(options, layoutOptionKeys), }; }