diff --git a/packages/vue-tsc/bin/vue-tsc.js b/packages/vue-tsc/bin/vue-tsc.js index 80ac8132c..dab125f8b 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;