From 0c87dd1e9898d7ac93e274d3611ee491a107d47a Mon Sep 17 00:00:00 2001 From: David Sherret Date: Tue, 12 Jul 2022 18:58:39 -0400 Subject: perf: use emit from swc instead of tsc (#15118) --- cli/tsc/99_main_compiler.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'cli/tsc') diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js index 85ab38ccc..1c6679e84 100644 --- a/cli/tsc/99_main_compiler.js +++ b/cli/tsc/99_main_compiler.js @@ -336,15 +336,11 @@ delete Object.prototype.__proto__; getDefaultLibLocation() { return ASSETS; }, - writeFile(fileName, data, _writeByteOrderMark, _onError, sourceFiles) { + writeFile(fileName, data, _writeByteOrderMark, _onError, _sourceFiles) { debug(`host.writeFile("${fileName}")`); - let maybeSpecifiers; - if (sourceFiles) { - maybeSpecifiers = sourceFiles.map((sf) => sf.moduleName); - } return core.opSync( "op_emit", - { maybeSpecifiers, fileName, data }, + { fileName, data }, ); }, getCurrentDirectory() { @@ -557,16 +553,18 @@ delete Object.prototype.__proto__; configFileParsingDiagnostics, }); - const { diagnostics: emitDiagnostics } = program.emit(); - const diagnostics = [ ...program.getConfigFileParsingDiagnostics(), ...program.getSyntacticDiagnostics(), ...program.getOptionsDiagnostics(), ...program.getGlobalDiagnostics(), ...program.getSemanticDiagnostics(), - ...emitDiagnostics, ].filter(({ code }) => !IGNORED_DIAGNOSTICS.includes(code)); + + // emit the tsbuildinfo file + // @ts-ignore: emitBuildInfo is not exposed (https://github.com/microsoft/TypeScript/issues/49871) + program.emitBuildInfo(host.writeFile); + performanceProgram({ program }); core.opSync("op_respond", { -- cgit v1.2.3