UNPKG

ts-import-types-cli

Version:

Autofix TypeScript types to be imported using `import type`

63 lines (62 loc) 2.25 kB
#!/usr/bin/env node "use strict"; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; exports.__esModule = true; var chalk = require("chalk"); var program = require("commander"); var path_1 = require("path"); var _1 = require("."); var sourcePatterns = []; program .version(require('../package.json').version) .arguments('[patterns...]') .action(function (args) { sourcePatterns.push.apply(sourcePatterns, __spread(args.filter(function (arg) { return arg && typeof arg === 'string'; }))); }) .option('-d, --dry-run', 'write output to stdout instead of overwriting files') .option('-p, --project [path]', 'path to tsconfig.json') .option('-O, --no-organise-imports', "disable use of VS Code's organise imports refactoring") .parse(process.argv); var dryRun = program.dryRun === true; var organiseImports = program.organiseImports !== false; var project = program.project || './tsconfig.json'; var tsConfigFilePath = path_1.resolve(process.cwd(), project); try { require(tsConfigFilePath); } catch (err) { var message = "ts-import-types-cli --project " + tsConfigFilePath + " is not a tsconfig.json file"; console.error(chalk.red(message)); process.exit(1); } try { _1.tsImportTypes({ dryRun: dryRun, organiseImports: organiseImports, sourcePatterns: sourcePatterns, tsConfigFilePath: tsConfigFilePath }); } catch (err) { console.error(chalk.red('! %s\n\n! Please raise an issue at %s\n\n%s'), err.message, chalk.underline('https://github.com/JamieMason/ts-import-types-cli/issues'), String(err.stack).replace(/^/gm, ' ')); process.exit(1); }