UNPKG

ts-project-builder

Version:

Rollup-based TypeScript builder with multi-format output and built-in common plugins.

1 lines 7.45 kB
{"version":3,"file":"cli.mjs","sources":["../src/cli.ts"],"sourcesContent":["import { cli } from 'cleye';\nimport type { ModuleFormat } from 'rollup';\n\nimport {\n name,\n version,\n} from '../package.json';\n\nimport {\n Builder,\n defaultConfigFilePath,\n defaultOutputDir,\n defaultOutputPreserveModulesRoot,\n} from './builder';\nimport type { NonNullableBuilderOutputOptions } from './types';\nimport { parseCliArgString } from './utils';\nimport { handleError } from './utils/rollup/logging';\n\nfunction BooleanOrModuleFormats(value: string) {\n if (value === '') return true;\n return new Set(value.split(',').map((value) => value.trim().toLowerCase())) as Set<ModuleFormat>;\n}\n\nfunction parseSourcemapFlagValue(value?: string) {\n if (!value || value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'hidden' || value === 'inline') return value;\n throw new Error(`Invalid sourcemap option: '${value}'. Valid options are 'true', 'false', 'hidden', or 'inline'.`);\n}\n\nconst args = cli({\n flags: {\n clean: {\n description: 'Clean the target directory or files before output.',\n type: BooleanOrModuleFormats,\n },\n config: {\n alias: 'c',\n default: defaultConfigFilePath,\n description: 'The path to the config file.',\n type: String,\n },\n forceClean: {\n description: 'Force clean the target directory or files before output.',\n type: BooleanOrModuleFormats,\n },\n formats: {\n alias: 'f',\n default: 'cjs,esm',\n description: 'The output formats.',\n type: String,\n },\n minify: {\n alias: 'm',\n description: 'Enable minify output.',\n type: BooleanOrModuleFormats,\n },\n outDirs: {\n default: defaultOutputDir,\n description: 'The output directory paths.',\n type: String,\n },\n outExts: {\n description: 'The output file extensions.',\n type: String,\n },\n outFiles: {\n description: 'The output file paths.',\n type: String,\n },\n preserveModules: { type: BooleanOrModuleFormats },\n preserveModulesRoots: {\n default: defaultOutputPreserveModulesRoot,\n type: String,\n },\n sourcemaps: {\n description: 'The output sourcemap options.',\n type: String,\n },\n },\n help: { usage: `${name} <inputs...> [flags...]` },\n name,\n parameters: ['<inputs...>'],\n version,\n});\n\nconst inputs = args._.inputs;\nif (!inputs.length) inputs.push('./src/index.ts');\ntry {\n await new Builder({\n configFilePath: args.flags.config,\n inputs,\n output: {\n clean: args.flags.clean,\n dirs: parseCliArgString<NonNullableBuilderOutputOptions['dirs']>(args.flags.outDirs),\n exts: parseCliArgString<NonNullableBuilderOutputOptions['exts']>(args.flags.outExts || ''),\n files: parseCliArgString<NonNullableBuilderOutputOptions['files']>(args.flags.outFiles || ''),\n forceClean: args.flags.forceClean,\n formats: new Set(args.flags.formats.split(',') as ModuleFormat[]),\n minify: args.flags.minify,\n preserveModules: args.flags.preserveModules,\n preserveModulesRoots: parseCliArgString<NonNullableBuilderOutputOptions['preserveModulesRoots']>(\n args.flags.preserveModulesRoots,\n ),\n sourcemaps: (() => {\n if (args.flags.sourcemaps === undefined) return;\n const parseResult = parseCliArgString(args.flags.sourcemaps);\n const sourcemaps: NonNullableBuilderOutputOptions['sourcemaps'] = {};\n for (const key in parseResult) {\n // eslint-disable-next-line style/max-len\n sourcemaps[key as keyof NonNullableBuilderOutputOptions['sourcemaps']] = parseSourcemapFlagValue(parseResult[key]);\n }\n\n sourcemaps.default ??= true;\n return sourcemaps;\n })(),\n },\n }).build();\n} catch (error) {\n handleError(error as Error);\n process.exit(1);\n}\n"],"names":[],"mappings":"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"}