tsconfig-replace-paths
Version:
Replace absolute paths to relative paths for package compilation
38 lines (37 loc) • 1.24 kB
JavaScript
import * as program from 'commander';
import { readFileSync } from 'fs';
import { join } from 'path';
import { replacePaths } from './replace-paths';
function readPackageVersion() {
const packageJsonPath = join(__dirname, '..', '..', 'package.json');
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
return packageJson.version;
}
export function runCli(argv) {
program
.version(readPackageVersion())
.option('-p, --project <file>', 'path to tsconfig.json')
.option('-s, --src <path>', 'source root path')
.option('-o, --out <path>', 'output root path')
.option('-v, --verbose', 'output logs')
.option('-q, --quiet', 'only print the summary line')
.option('-c, --check', 'verify paths without writing files');
program.on('--help', function () {
console.log(`
$ tsconfig-replace-paths -p tsconfig.json
`);
});
program.parse(argv);
const opts = program;
const result = replacePaths({
project: opts.project,
src: opts.src,
out: opts.out,
verbose: opts.verbose,
quiet: opts.quiet,
check: opts.check,
});
if (result.checkFailed) {
process.exit(1);
}
}