one
Version:
One is a new React Framework that makes Vite serve both native and web.
56 lines (55 loc) • 2.42 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] : {};
var cwd = process.cwd();
var oneOptions;
var routerRoot;
var ignoredRouteFiles;
try {
var originalStderrWrite = process.stderr.write;
var stderrBuffer = "";
process.stderr.write = function (chunk) {
stderrBuffer += chunk;
return true;
};
try {
var _oneOptions_router;
var 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 (error) {
routerRoot = args.appDir || "app";
}
var appDir = join(cwd, routerRoot);
if (!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");
var typedRoutesMode;
if (args.typed) {
if (args.typed === "type" || args.typed === "runtime") {
typedRoutesMode = args.typed;
} else {
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 ? void 0 : (_oneOptions_router_experimental = _oneOptions_router1.experimental) === null || _oneOptions_router_experimental === void 0 ? void 0 : _oneOptions_router_experimental.typedRoutesGeneration) || void 0;
}
if (typedRoutesMode) {} else if (!args.typed) {}
await generateRouteTypes(outFile, routerRoot, ignoredRouteFiles, typedRoutesMode);
if (typedRoutesMode) {}
}
export { run };
//# sourceMappingURL=generateRoutes.native.js.map