From 505e3aa95e26b90dd30efa2d2d6612a6882a2baa Mon Sep 17 00:00:00 2001 From: cevek Date: Mon, 7 Sep 2020 12:30:32 +0300 Subject: [PATCH] Fix global __assign and other functions for tsc --- packages/ttypescript/package.json | 2 +- packages/ttypescript/src/tsc.ts | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/ttypescript/package.json b/packages/ttypescript/package.json index 2ced3df..870a46c 100644 --- a/packages/ttypescript/package.json +++ b/packages/ttypescript/package.json @@ -4,7 +4,7 @@ "ttsc": "./bin/tsc", "ttsserver": "./bin/tsserver" }, - "version": "1.5.11", + "version": "1.5.12", "description": "Over TypeScript tool to use custom transformers in the tsconfig.json", "main": "lib/typescript.js", "files": [ diff --git a/packages/ttypescript/src/tsc.ts b/packages/ttypescript/src/tsc.ts index 71cf194..da1559e 100644 --- a/packages/ttypescript/src/tsc.ts +++ b/packages/ttypescript/src/tsc.ts @@ -8,10 +8,14 @@ const ts = loadTypeScript('typescript', { folder: process.cwd(), forceConfigLoad const tscFileName = resolve.sync('typescript/lib/tsc', { basedir: process.cwd() }); const commandLineTsCode = fs .readFileSync(tscFileName, 'utf8') - .replace(/^[\s\S]+(\(function \(ts\) \{\s+function countLines[\s\S]+)$/, '$1') + .replace(/^[\s\S]+(\(function \(ts\) \{\s+function countLines[\s\S]+)$/, '$1'); -runInThisContext(`(function (exports, require, module, __filename, __dirname, ts) {${commandLineTsCode}\n});`, { - filename: tscFileName, - lineOffset: 0, - displayErrors: true, -}).call(ts, ts, require, { exports: ts }, tscFileName, dirname(tscFileName), ts); +const globalCode = (fs.readFileSync(tscFileName, 'utf8').match(/^([\s\S]*?)var ts;/) || ['', ''])[1]; +runInThisContext( + `(function (exports, require, module, __filename, __dirname, ts) {${globalCode}${commandLineTsCode}\n});`, + { + filename: tscFileName, + lineOffset: 0, + displayErrors: true, + } +).call(ts, ts, require, { exports: ts }, tscFileName, dirname(tscFileName), ts);