one
Version:
One is a new React Framework that makes Vite serve both native and web.
40 lines (39 loc) • 2.25 kB
JavaScript
import { existsSync } from "fs";
import { join } from "path";
import { generateRouteTypes } from "../typed-routes/generateRouteTypes.native.js";
import { getRouterRootFromOneOptions } from "../utils/getRouterRootFromOneOptions.native.js";
import { loadUserOneOptions } from "../vite/loadConfig.native.js";
async function run() {
var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
cwd = process.cwd(),
oneOptions,
routerRoot,
ignoredRouteFiles;
try {
var originalStderrWrite = process.stderr.write,
stderrBuffer = "";
process.stderr.write = function (chunk) {
return stderrBuffer += chunk, !0;
};
try {
var _oneOptions_router,
loaded = await loadUserOneOptions("build");
oneOptions = loaded.oneOptions, routerRoot = args.appDir || getRouterRootFromOneOptions(oneOptions), ignoredRouteFiles = (_oneOptions_router = oneOptions.router) === null || _oneOptions_router === void 0 ? void 0 : _oneOptions_router.ignoredRouteFiles;
} finally {
process.stderr.write = originalStderrWrite;
}
} catch {
routerRoot = args.appDir || "app";
}
var 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));
var outFile = join(appDir, "routes.d.ts"),
typedRoutesMode;
if (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));else if (oneOptions) {
var _oneOptions_router_experimental, _oneOptions_router1;
typedRoutesMode = ((_oneOptions_router1 = oneOptions.router) === null || _oneOptions_router1 === void 0 || (_oneOptions_router_experimental = _oneOptions_router1.experimental) === null || _oneOptions_router_experimental === void 0 ? void 0 : _oneOptions_router_experimental.typedRoutesGeneration) || void 0;
}
typedRoutesMode || args.typed, await generateRouteTypes(outFile, routerRoot, ignoredRouteFiles, typedRoutesMode);
}
export { run };
//# sourceMappingURL=generateRoutes.native.js.map