typescript-transform-path-rewrite
Version:
Transform generated javascript import/require paths using typescript standard config
34 lines • 1.55 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const typescript_1 = __importDefault(require("typescript"));
const processors_1 = require("./processors");
const resolver_1 = require("./resolver");
function default_1(program, pluginConfig, extras) {
const ts = extras?.ts ?? typescript_1.default;
const compilerOptions = program.getCompilerOptions();
const resolver = new resolver_1.Resolver(ts, compilerOptions, pluginConfig.alias);
return (ctx) => {
const processors = (0, processors_1.createProcessors)(ts, ctx.factory, compilerOptions);
return (sourceFile) => {
function visitor(node) {
let resultNode;
processors.forEach(function (processor) {
const parseResult = processor.parse(node);
if (parseResult) {
const moduleName = resolver.resolve(parseResult.moduleName, sourceFile.fileName);
if (moduleName != null) {
resultNode = processor.updateModuleName(moduleName, parseResult);
}
}
});
return resultNode ?? ts.visitEachChild(node, visitor, ctx);
}
return ts.visitEachChild(sourceFile, visitor, ctx);
};
};
}
//# sourceMappingURL=transformer.js.map