fuse-box-typechecker
Version:
Fuse-Box type checker plugin for fusebox 4.0.0 ++
33 lines • 1.79 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.inspectCode = void 0;
const ts = require("typescript");
const getOptionsDiagnostics_1 = require("./getOptionsDiagnostics");
const getGlobalDiagnostics_1 = require("./getGlobalDiagnostics");
const getSyntacticDiagnostics_1 = require("./getSyntacticDiagnostics");
const getSemanticDiagnostics_1 = require("./getSemanticDiagnostics");
const throwIfErrors_1 = require("./throwIfErrors");
function inspectCode(options, oldProgram) {
const parseConfigHost = {
fileExists: ts.sys.fileExists,
readDirectory: ts.sys.readDirectory,
readFile: ts.sys.readFile,
useCaseSensitiveFileNames: true
};
let inspectionTimeStart = new Date().getTime();
const parsed = ts.parseJsonConfigFileContent(options.tsConfigJsonContent, parseConfigHost, options.basePath || '.', undefined);
const host = ts.createIncrementalCompilerHost(parsed.options);
const program = ts.createEmitAndSemanticDiagnosticsBuilderProgram(parsed.fileNames, parsed.options, host, oldProgram, undefined, parsed.projectReferences);
const results = {
oldProgram: program,
optionsErrors: getOptionsDiagnostics_1.getOptionsDiagnostics(options, program),
globalErrors: getGlobalDiagnostics_1.getGlobalDiagnostics(options, program),
syntacticErrors: getSyntacticDiagnostics_1.getSyntacticDiagnostics(options, program),
semanticErrors: getSemanticDiagnostics_1.getSemanticDiagnostics(options, program),
elapsedInspectionTime: new Date().getTime() - inspectionTimeStart
};
throwIfErrors_1.throwIfError(options, results);
return results;
}
exports.inspectCode = inspectCode;
//# sourceMappingURL=inspectCode.js.map
;