UNPKG

tsconfig-to-dual-package

Version:

A simple tool that add package.json({"type":"commonjs"/"module"}) to TypeScript outDir for dual package.

58 lines (53 loc) 1.68 kB
import { parseArgs } from "node:util"; import { tsconfigToDualPackages, TSConfigDualPackageOptions } from "./tsconfig-to-dual-package.js"; const HELP = ` Usage $ tsconfig-to-dual-package [Option] <tsconfig.json> Options --cwd [String] current working directory. Default: process.cwd() --debug [Boolean] Enable debug output --help [Boolean] show help Examples # Find tsconfig*.json in cwd and convert to dual package $ tsconfig-to-dual-package # Convert specified tsconfig.json to dual package $ tsconfig-to-dual-package ./config/tsconfig.esm.json ./config/tsconfig.cjs.json `; export const createCli = () => { return parseArgs({ strict: true, allowPositionals: true, options: { cwd: { type: "string", default: process.cwd() }, help: { type: "boolean", alias: "h" }, debug: { type: "boolean", default: false } } }); }; export const run = async ( cli = createCli() ): Promise<{ exitStatus: number; stdout: string | null; stderr: Error | null }> => { if (cli.values.help) { return { exitStatus: 0, stdout: HELP, stderr: null }; } const options: TSConfigDualPackageOptions = { targetTsConfigFilePaths: cli.positionals, cwd: cli.values.cwd ?? process.cwd(), debug: cli.values.debug }; await tsconfigToDualPackages(options); return { stdout: null, stderr: null, exitStatus: 0 }; };