@anatine/esbuildnx
Version:
Esbuild plugin for Nx
32 lines • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseTsConfig = void 0;
const typescript_1 = require("typescript");
const path_1 = require("path");
const chalk_1 = require("chalk");
function parseTsConfig(tsconfig, cwd = process.cwd()) {
const fileName = (0, typescript_1.findConfigFile)(cwd, typescript_1.sys.fileExists, tsconfig);
// if the value was provided, but no file, fail hard
if (tsconfig !== undefined && !fileName)
throw new Error(`failed to open '${fileName}'`);
let loadedConfig = {};
let baseDir = cwd;
if (fileName) {
const text = typescript_1.sys.readFile(fileName);
if (text === undefined)
throw new Error(`failed to read '${fileName}'`);
const result = (0, typescript_1.parseConfigFileTextToJson)(fileName, text);
if (result.error !== undefined) {
console.error((0, chalk_1.red)(result.error));
throw new Error(`failed to parse '${fileName}'`);
}
loadedConfig = result.config;
baseDir = (0, path_1.dirname)(fileName);
}
const parsedTsConfig = (0, typescript_1.parseJsonConfigFileContent)(loadedConfig, typescript_1.sys, baseDir);
if (parsedTsConfig.errors[0])
console.error((0, chalk_1.red)(parsedTsConfig.errors));
return parsedTsConfig;
}
exports.parseTsConfig = parseTsConfig;
//# sourceMappingURL=parse-tsconfig.js.map