UNPKG

ts-patch

Version:

Patch typescript to support custom transformers in tsconfig.json

63 lines 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getInstallerOptionsFromCliOptions = exports.getCliOptions = exports.cliOptionsConfig = void 0; const system_1 = require("../system"); const options_1 = require("../options"); const utils_1 = require("../utils"); // endregion /* ****************************************************************************************************************** */ // region: Config /* ****************************************************************************************************************** */ /** @internal */ exports.cliOptionsConfig = { silent: { short: 's', caption: 'Run silently' }, global: { short: 'g', caption: 'Target global TypeScript installation' }, verbose: { short: 'v', caption: 'Chat it up' }, cache: { inverse: true, caption: 'Skip cache' }, dir: { short: 'd', paramCaption: '<dir>', caption: 'TypeScript directory or directory to resolve typescript package from' }, color: { inverse: true, caption: 'Strip ansi colours from output' } }; // endregion /* ****************************************************************************************************************** */ // region: Utils /* ****************************************************************************************************************** */ function getCliOptions(args) { let res = {}; for (const [key, { short }] of Object.entries(exports.cliOptionsConfig)) { if (args.hasOwnProperty(key) || (short && args.hasOwnProperty(short))) { res[key] = args.hasOwnProperty(key) ? args[key] : args[short]; } } return res; } exports.getCliOptions = getCliOptions; function getInstallerOptionsFromCliOptions(cliOptions) { let partialOptions = {}; /* Dir option */ if (cliOptions.global && cliOptions.dir) throw new system_1.OptionsError(`Cannot specify both --global and --dir`); if ('dir' in cliOptions) partialOptions.dir = cliOptions.dir; if ('global' in cliOptions) partialOptions.dir = (0, utils_1.getGlobalTsDir)(); /* LogLevel option */ if (cliOptions.silent && cliOptions.verbose) throw new system_1.OptionsError(`Cannot specify both --silent and --verbose`); if (cliOptions.silent) { partialOptions.logLevel = system_1.LogLevel.system; partialOptions.silent = true; } else if (cliOptions.verbose) partialOptions.logLevel = system_1.LogLevel.verbose; /* Color option */ if (cliOptions.color) partialOptions.useColor = cliOptions.color; return (0, options_1.getInstallerOptions)(partialOptions); } exports.getInstallerOptionsFromCliOptions = getInstallerOptionsFromCliOptions; // endregion //# sourceMappingURL=options.js.map