UNPKG

resolve-tspaths

Version:

Transform path mappings in your compiled Typescript code

50 lines (49 loc) 2.65 kB
#! /usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ansi_colors_1 = require("ansi-colors"); const logger_1 = require("./utils/logger"); const errors_1 = require("./utils/errors"); const createProgram_1 = require("./steps/createProgram"); const loadTSConfig_1 = require("./steps/loadTSConfig"); const resolvePaths_1 = require("./steps/resolvePaths"); const computeAliases_1 = require("./steps/computeAliases"); const getFilesToProcess_1 = require("./steps/getFilesToProcess"); const generateChanges_1 = require("./steps/generateChanges"); const applyChanges_1 = require("./steps/applyChanges"); function main() { var _a, _b, _c; const program = (0, createProgram_1.createProgram)(); const options = program.parse().opts(); const logger = new logger_1.Logger(options.verbose ? "verbose" : "info"); logger.verbose(); logger.fancyParams("options", options); try { const tsConfig = (0, loadTSConfig_1.loadTSConfig)(options.project); const { rootDir, outDir, baseUrl, paths } = (_a = tsConfig.options) !== null && _a !== void 0 ? _a : {}; logger.fancyParams("compilerOptions", { rootDir, outDir, baseUrl, paths }); const programPaths = (0, resolvePaths_1.resolvePaths)(options, tsConfig); logger.fancyParams("programPaths", programPaths); const aliases = (0, computeAliases_1.computeAliases)(programPaths.basePath, (_c = (_b = tsConfig === null || tsConfig === void 0 ? void 0 : tsConfig.options) === null || _b === void 0 ? void 0 : _b.paths) !== null && _c !== void 0 ? _c : {}); logger.fancyParams("aliases", aliases); const files = (0, getFilesToProcess_1.getFilesToProcess)(programPaths.outPath, options.ext); logger.fancyParams("filesToProcess", files); const changes = (0, generateChanges_1.generateChanges)(files, aliases, programPaths); logger.fancyParams("fileChanges", changes.map(({ file, changes }) => ({ file, changes }))); if (options.noEmit) { logger.info((0, ansi_colors_1.bold)("resolve-tspaths:"), "discovered", changes.length, "file(s) for change (none actually changed since --noEmit was given)"); } else { (0, applyChanges_1.applyChanges)(changes); logger.info((0, ansi_colors_1.bold)("resolve-tspaths:"), "changed", changes.length, "file(s)"); } } catch (error) { if (error instanceof errors_1.StepError) { logger.fancyError(`Error during step '${(0, ansi_colors_1.bold)(error.step)}'`, error.message); } else throw error; } } main();