one
Version:
One is a new React Framework that makes Vite serve both native and web.
29 lines (28 loc) • 1.69 kB
JavaScript
import { existsSync } from "node:fs";
import { join } from "node:path";
import { generateRouteTypes } from "../typed-routes/generateRouteTypes.mjs";
import { getRouterRootFromOneOptions } from "../utils/getRouterRootFromOneOptions.mjs";
import { loadUserOneOptions } from "../vite/loadConfig.mjs";
async function run(args = {}) {
const cwd = process.cwd();
let oneOptions, routerRoot, ignoredRouteFiles;
try {
const originalStderrWrite = process.stderr.write;
let stderrBuffer = "";
process.stderr.write = chunk => (stderrBuffer += chunk, !0);
try {
oneOptions = (await loadUserOneOptions("build")).oneOptions, routerRoot = args.appDir || getRouterRootFromOneOptions(oneOptions), ignoredRouteFiles = oneOptions.router?.ignoredRouteFiles;
} finally {
process.stderr.write = originalStderrWrite;
}
} catch {
routerRoot = args.appDir || "app";
}
const appDir = join(cwd, routerRoot);
existsSync(appDir) || (console.error(`Error: App directory not found at ${appDir}`), console.error("You can specify a custom directory with: npx one generate-routes --appDir=<path>"), process.exit(1));
const outFile = join(appDir, "routes.d.ts");
let typedRoutesMode;
args.typed ? args.typed === "type" || args.typed === "runtime" ? typedRoutesMode = args.typed : (console.error(`Error: Invalid --typed value "${args.typed}". Must be "type" or "runtime"`), process.exit(1)) : oneOptions && (typedRoutesMode = oneOptions.router?.experimental?.typedRoutesGeneration || void 0), typedRoutesMode || args.typed, await generateRouteTypes(outFile, routerRoot, ignoredRouteFiles, typedRoutesMode);
}
export { run };
//# sourceMappingURL=generateRoutes.mjs.map