UNPKG

@router-cli/react-router-dev

Version:

File based routing cli for react-router-dom.

27 lines (20 loc) 760 B
import { RouteExports, RouteType } from "../types"; export const getRouteExports = (content: string, type: RouteType): RouteExports => { return ({ default: /^export\s+default\s+/gm.test(content), }); } export const transformRoute = (src: string, hiddenDirectories:string[] = []) => { let result = src .replace(/(\.page|\/_layout)\.tsx$/g, '') .replace(/\/$catchAll\//g, '/*/') .replace(/\/?index|\./g, '/') .replace(/(\w)\/$/g, '$1'); let segments = result.split("/").filter(Boolean); if(hiddenDirectories.length > 0){ for(const dir of hiddenDirectories){ segments = segments.filter(s => s !== dir); } } return segments.join("/") }