UNPKG

fuse-box-typechecker

Version:

Fuse-Box type checker plugin for fusebox 4.0.0 ++

33 lines 1.79 kB
"use strict"; 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