resolve-tspaths
Version:
Transform path mappings in your compiled Typescript code
50 lines (49 loc) • 2.65 kB
JavaScript
;
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();