lib-tools
Version:
The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.
24 lines • 3.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.readTsconfigJson = void 0;
const ts = require("typescript");
const format_ts_diagnostics_1 = require("./format-ts-diagnostics");
const cache = new Map();
function readTsconfigJson(tsConfigPath) {
const cachedTsConfigJson = cache.get(tsConfigPath);
if (cachedTsConfigJson) {
return cachedTsConfigJson;
}
// eslint-disable-next-line @typescript-eslint/unbound-method
const jsonConfigFile = ts.readConfigFile(tsConfigPath, ts.sys.readFile);
if (jsonConfigFile.error && jsonConfigFile.error.length) {
const formattedMsg = format_ts_diagnostics_1.formatTsDiagnostics(jsonConfigFile.error);
if (formattedMsg) {
throw new Error(formattedMsg);
}
}
cache.set(tsConfigPath, jsonConfigFile.config);
return jsonConfigFile.config;
}
exports.readTsconfigJson = readTsconfigJson;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC10c2NvbmZpZy1qc29uLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJoZWxwZXJzL3JlYWQtdHNjb25maWctanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBaUM7QUFFakMsbUVBQThEO0FBTzlELE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO0FBRXBELFNBQWdCLGdCQUFnQixDQUFDLFlBQW9CO0lBQ2pELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuRCxJQUFJLGtCQUFrQixFQUFFO1FBQ3BCLE9BQU8sa0JBQWtCLENBQUM7S0FDN0I7SUFFRCw2REFBNkQ7SUFDN0QsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RSxJQUFJLGNBQWMsQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDckQsTUFBTSxZQUFZLEdBQUcsMkNBQW1CLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELElBQUksWUFBWSxFQUFFO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNqQztLQUNKO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRS9DLE9BQU8sY0FBYyxDQUFDLE1BQTRCLENBQUM7QUFDdkQsQ0FBQztBQWxCRCw0Q0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHsgZm9ybWF0VHNEaWFnbm9zdGljcyB9IGZyb20gJy4vZm9ybWF0LXRzLWRpYWdub3N0aWNzJztcblxuZXhwb3J0IGludGVyZmFjZSBUc0NvbmZpZ0ZpbGVTY2hlbWEge1xuICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gICAgZmlsZXM/OiBzdHJpbmdbXTtcbn1cblxuY29uc3QgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgVHNDb25maWdGaWxlU2NoZW1hPigpO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFRzY29uZmlnSnNvbih0c0NvbmZpZ1BhdGg6IHN0cmluZyk6IFRzQ29uZmlnRmlsZVNjaGVtYSB7XG4gICAgY29uc3QgY2FjaGVkVHNDb25maWdKc29uID0gY2FjaGUuZ2V0KHRzQ29uZmlnUGF0aCk7XG4gICAgaWYgKGNhY2hlZFRzQ29uZmlnSnNvbikge1xuICAgICAgICByZXR1cm4gY2FjaGVkVHNDb25maWdKc29uO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2RcbiAgICBjb25zdCBqc29uQ29uZmlnRmlsZSA9IHRzLnJlYWRDb25maWdGaWxlKHRzQ29uZmlnUGF0aCwgdHMuc3lzLnJlYWRGaWxlKTtcbiAgICBpZiAoanNvbkNvbmZpZ0ZpbGUuZXJyb3IgJiYganNvbkNvbmZpZ0ZpbGUuZXJyb3IubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE1zZyA9IGZvcm1hdFRzRGlhZ25vc3RpY3MoanNvbkNvbmZpZ0ZpbGUuZXJyb3IpO1xuICAgICAgICBpZiAoZm9ybWF0dGVkTXNnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZm9ybWF0dGVkTXNnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNhY2hlLnNldCh0c0NvbmZpZ1BhdGgsIGpzb25Db25maWdGaWxlLmNvbmZpZyk7XG5cbiAgICByZXR1cm4ganNvbkNvbmZpZ0ZpbGUuY29uZmlnIGFzIFRzQ29uZmlnRmlsZVNjaGVtYTtcbn1cbiJdfQ==