iles
Version:
Vite & Vue powered static site generator with partial hydration
59 lines (57 loc) • 2.05 kB
JavaScript
import {
version
} from "./chunk-5Y5TEUEH.js";
import {
VERSION
} from "./chunk-UPLBUAEH.js";
import "./chunk-JSBRDJBE.js";
// src/node/cli.ts
import pc from "picocolors";
import minimist from "minimist";
var argv = minimist(process.argv.slice(2));
var command = argv._[0];
var root = argv._[command ? 1 : 0];
if (root) argv.root = root;
var getVersion = () => pc.cyan(`iles v${VERSION}`) + pc.yellow(` vite v${version}`);
var printVersion = () => console.info(getVersion());
executeCommand(!command || command === "dev" ? "serve" : command).catch((error) => {
throw error;
});
async function executeCommand(command2) {
if (command2 === "serve") {
const { createServer } = await import("./server.js");
createServer(root, argv).then(async ({ server }) => {
await server.listen();
const { config: { logger } } = server;
logger.info(getVersion() + pc.green(" dev server running at:\n"), { clear: !logger.hasWarned });
server.printUrls();
}).catch((err) => {
console.error(pc.red("error starting server:\n"), err);
process.exit(1);
});
} else if (command2 === "build") {
printVersion();
const { build } = await import("./build/build.js");
build(root).catch((err) => {
console.error(pc.red("build error:\n"), err);
process.exit(1);
});
} else if (command2 === "preview") {
printVersion();
const { preview } = await import("./preview.js");
preview(root, argv).catch((err) => {
console.error(pc.red("error starting preview:\n"), err);
process.exit(1);
});
} else if (command2 === "info") {
printVersion();
} else if (command2 === "test") {
const { CONFIG_PATH } = await import("./alias.js");
const { spawn } = await import("child_process");
const args = process.argv.slice(2 + argv._.length);
spawn("vitest", ["--config", CONFIG_PATH, ...args], { stdio: "inherit" }).on("exit", (code) => process.exit(code || 0));
} else {
console.error(pc.red(`unknown command "${command2}".`));
process.exit(1);
}
}