1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var fs = require("fs");
|
4 | var resolve = require("resolve");
|
5 | var loadTypescript_1 = require("./loadTypescript");
|
6 | var path_1 = require("path");
|
7 | var vm_1 = require("vm");
|
8 | var ts = (0, loadTypescript_1.loadTypeScript)('typescript', { folder: process.cwd(), forceConfigLoad: true });
|
9 | var tscFileName = resolve.sync('typescript/lib/tsc', { basedir: process.cwd() });
|
10 | var _a = ts.version.split(".").map(function (str) { return Number(str); }), major = _a[0], minor = _a[1];
|
11 | var commandLineTsCode = fs
|
12 | .readFileSync(tscFileName, 'utf8')
|
13 | .replace(major >= 4 && minor >= 9
|
14 | ? /^[\s\S]+(\(function \(ts\) {\s+var StatisticType;[\s\S]+)$/
|
15 | : /^[\s\S]+(\(function \(ts\) \{\s+function countLines[\s\S]+)$/, '$1');
|
16 | var globalCode = (fs.readFileSync(tscFileName, 'utf8').match(/^([\s\S]*?)var ts;/) || ['', ''])[1];
|
17 | (0, vm_1.runInThisContext)("(function (exports, require, module, __filename, __dirname, ts) {".concat(globalCode).concat(commandLineTsCode, "\n});"), {
|
18 | filename: tscFileName,
|
19 | lineOffset: 0,
|
20 | displayErrors: true,
|
21 | }).call(ts, ts, require, { exports: ts }, tscFileName, (0, path_1.dirname)(tscFileName), ts);
|