UNPKG

obuild

Version:

Zero-config ESM/TS package builder

54 lines (52 loc) 1.14 kB
#!/usr/bin/env node import { build } from "./_chunks/build-CGTmj1PW.mjs"; import { consola } from "consola"; import { parseArgs } from "node:util"; import { loadConfig } from "c12"; //#region src/cli.ts const args = parseArgs({ args: process.argv.slice(2), allowPositionals: true, options: { dir: { type: "string", default: "." }, stub: { type: "boolean", default: false } } }); const { config = {} } = await loadConfig({ name: "obuild", configFile: "build.config", cwd: args.values.dir }); const rawEntries = args.positionals.length > 0 ? args.positionals : config.entries || []; const entries = rawEntries.map((entry) => { if (typeof entry === "string") { const [input, outDir] = entry.split(":"); return input.endsWith("/") ? { type: "transform", input, outDir } : { type: "bundle", input: input.split(","), outDir }; } return entry; }); if (args.values.stub) for (const entry of entries) entry.stub = true; if (rawEntries.length === 0) { consola.error("No build entries specified."); process.exit(1); } await build({ cwd: args.values.dir, ...config, entries }); //#endregion