From 0759a5cb9f7170f9553454efdca54d1961b83ae6 Mon Sep 17 00:00:00 2001 From: Blake Newman Date: Mon, 6 Jun 2022 13:46:34 +0100 Subject: [PATCH] feat(vue-tsc): support tracing (#1402) Co-authored-by: johnsoncodehk --- packages/vue-tsc/bin/vue-tsc.js | 12 ++++++++++++ packages/vue-tsc/src/proxy.ts | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/packages/vue-tsc/bin/vue-tsc.js b/packages/vue-tsc/bin/vue-tsc.js index 5a5eeabd4..04d21a1b7 100755 --- a/packages/vue-tsc/bin/vue-tsc.js +++ b/packages/vue-tsc/bin/vue-tsc.js @@ -32,6 +32,18 @@ fs.readFileSync = (...args) => { `function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) {`, `function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) { return require(${JSON.stringify(proxyPath)}).createProgramProxy(...arguments);`, ); + + // proxy tracing + tsc = tsc.replace( + `ts.startTracing = tracingEnabled.startTracing;`, + `ts.startTracing = require(${JSON.stringify(proxyPath)}).loadTsLib().startTracing;`, + ); + + tsc = tsc.replace( + `ts.dumpTracingLegend = tracingEnabled.dumpLegend;`, + `ts.dumpTracingLegend = require(${JSON.stringify(proxyPath)}).loadTsLib().dumpTracingLegend;`, + ); + return tsc; } return readFileSync(...args); diff --git a/packages/vue-tsc/src/proxy.ts b/packages/vue-tsc/src/proxy.ts index a23ddce99..1affe0156 100644 --- a/packages/vue-tsc/src/proxy.ts +++ b/packages/vue-tsc/src/proxy.ts @@ -119,6 +119,10 @@ export function createProgramProxy( } } +export function loadTsLib() { + return ts; +} + function doThrow(msg: string) { console.error(msg); throw msg;