generate-routes-refs
Version:
A package to generate route references for React Router 7
14 lines • 844 B
JavaScript
import { writeFileSync } from "node:fs";
import { join } from "node:path";
import { cwd } from "node:process";
import { DEFAULT_FILE_NAME, DEFAULT_FILE_TYPE, EXPORTS } from "./constants.js";
import { getRouteId } from "./get-route-id.js";
export const write = (routes, options) => {
const name = options.fileName || DEFAULT_FILE_NAME;
const fileName = name.substring(0, name.lastIndexOf(".")) || name;
const routesFilePath = join(cwd(), "app", `${fileName}.${options.fileType || DEFAULT_FILE_TYPE}`);
const routesRefContent = Object.fromEntries(routes.map((route) => [getRouteId(route, options), route]));
const content = EXPORTS.map((line) => line.replace("$$", JSON.stringify(routesRefContent, null, 2))).join("\n\n");
writeFileSync(routesFilePath, content, { encoding: "utf-8" });
};
//# sourceMappingURL=write.js.map