aoc-automation
Version:
Advent of Code tool to automate the repetitive parts of AoC.
32 lines (27 loc) • 635 B
text/typescript
import { spawnSync } from "child_process";
import path from "path";
const buildSource = (
year: string,
input: string | string[],
sourcemap: boolean = true,
) => {
const files = Array.isArray(input) ? input : [input];
const outDir = Array.isArray(input)
? path.join("dist", year)
: path.parse(input).dir.replace(/^src/, "dist");
console.log("Transpiling...\n");
spawnSync(
"npx",
[
"esbuild",
...files,
"--format=esm",
`--outdir=${outDir}`,
"--platform=node",
"--target=node16",
...(sourcemap ? ["--sourcemap"] : []),
],
{ stdio: "inherit", shell: true },
);
};
export default buildSource;