ts-migrate-server
Version:
A package that contains the main migration runner and spawns a TSServer process
34 lines • 1.76 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseTSConfig = void 0;
const typescript_1 = __importDefault(require("typescript"));
function parseTSConfig(rootDir) {
const configFile = typescript_1.default.findConfigFile(rootDir, typescript_1.default.sys.fileExists, 'tsconfig.json');
if (!configFile) {
throw new Error("Could not find a valid 'tsconfig.json'.");
}
const configFileContents = typescript_1.default.sys.readFile(configFile);
if (configFileContents == null) {
throw new Error(`Failed to read TypeScript config file: ${configFile}`);
}
const { config, error } = typescript_1.default.parseConfigFileTextToJson(configFile, configFileContents);
if (error) {
const errorMessage = typescript_1.default.flattenDiagnosticMessageText(error.messageText, typescript_1.default.sys.newLine);
throw new Error(`Error parsing TypeScript config file ${configFile}: ${errorMessage}`);
}
const { options, fileNames, errors } = typescript_1.default.parseJsonConfigFileContent(config, typescript_1.default.sys, rootDir);
if (errors.length > 0) {
const errorMessage = typescript_1.default.formatDiagnostics(errors, {
getCanonicalFileName: (fileName) => fileName,
getCurrentDirectory: () => rootDir,
getNewLine: () => typescript_1.default.sys.newLine,
});
throw new Error(`Errors parsing TypeScript config: ${errorMessage}`);
}
return { configFile, options, fileNames };
}
exports.parseTSConfig = parseTSConfig;
//# sourceMappingURL=ParseTSConfig.js.map