UNPKG

1.21 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var fs = require("fs");
4var resolve = require("resolve");
5var loadTypescript_1 = require("./loadTypescript");
6var path_1 = require("path");
7var vm_1 = require("vm");
8var ts = (0, loadTypescript_1.loadTypeScript)('typescript', { folder: process.cwd(), forceConfigLoad: true });
9var tscFileName = resolve.sync('typescript/lib/tsc', { basedir: process.cwd() });
10var _a = ts.version.split(".").map(function (str) { return Number(str); }), major = _a[0], minor = _a[1];
11var 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');
16var 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);