Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / @typescript-eslint / typescript-estree / dist / create-program / createIsolatedProgram.js
1 "use strict";
2 var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3     if (k2 === undefined) k2 = k;
4     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5 }) : (function(o, m, k, k2) {
6     if (k2 === undefined) k2 = k;
7     o[k2] = m[k];
8 }));
9 var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10     Object.defineProperty(o, "default", { enumerable: true, value: v });
11 }) : function(o, v) {
12     o["default"] = v;
13 });
14 var __importStar = (this && this.__importStar) || function (mod) {
15     if (mod && mod.__esModule) return mod;
16     var result = {};
17     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18     __setModuleDefault(result, mod);
19     return result;
20 };
21 var __importDefault = (this && this.__importDefault) || function (mod) {
22     return (mod && mod.__esModule) ? mod : { "default": mod };
23 };
24 Object.defineProperty(exports, "__esModule", { value: true });
25 exports.createIsolatedProgram = void 0;
26 const debug_1 = __importDefault(require("debug"));
27 const ts = __importStar(require("typescript"));
28 const shared_1 = require("./shared");
29 const log = debug_1.default('typescript-eslint:typescript-estree:createIsolatedProgram');
30 /**
31  * @param code The code of the file being linted
32  * @returns Returns a new source file and program corresponding to the linted code
33  */
34 function createIsolatedProgram(code, extra) {
35     log('Getting isolated program in %s mode for: %s', extra.jsx ? 'TSX' : 'TS', extra.filePath);
36     const compilerHost = {
37         fileExists() {
38             return true;
39         },
40         getCanonicalFileName() {
41             return extra.filePath;
42         },
43         getCurrentDirectory() {
44             return '';
45         },
46         getDirectories() {
47             return [];
48         },
49         getDefaultLibFileName() {
50             return 'lib.d.ts';
51         },
52         // TODO: Support Windows CRLF
53         getNewLine() {
54             return '\n';
55         },
56         getSourceFile(filename) {
57             return ts.createSourceFile(filename, code, ts.ScriptTarget.Latest, 
58             /* setParentNodes */ true, shared_1.getScriptKind(extra, filename));
59         },
60         readFile() {
61             return undefined;
62         },
63         useCaseSensitiveFileNames() {
64             return true;
65         },
66         writeFile() {
67             return null;
68         },
69     };
70     const program = ts.createProgram([extra.filePath], Object.assign({ noResolve: true, target: ts.ScriptTarget.Latest, jsx: extra.jsx ? ts.JsxEmit.Preserve : undefined }, shared_1.createDefaultCompilerOptionsFromExtra(extra)), compilerHost);
71     const ast = program.getSourceFile(extra.filePath);
72     if (!ast) {
73         throw new Error('Expected an ast to be returned for the single-file isolated program.');
74     }
75     return { ast, program };
76 }
77 exports.createIsolatedProgram = createIsolatedProgram;
78 //# sourceMappingURL=createIsolatedProgram.js.map