checkly 4.16.0 → 4.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/baseCommand.d.ts +1 -0
- package/dist/commands/baseCommand.js +7 -0
- package/dist/commands/baseCommand.js.map +1 -1
- package/dist/commands/deploy.js +6 -2
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/sync-playwright.js +9 -3
- package/dist/commands/sync-playwright.js.map +1 -1
- package/dist/commands/test.js +6 -2
- package/dist/commands/test.js.map +1 -1
- package/dist/constructs/api-check.js +1 -5
- package/dist/constructs/api-check.js.map +1 -1
- package/dist/constructs/browser-check.js +1 -5
- package/dist/constructs/browser-check.js.map +1 -1
- package/dist/constructs/multi-step-check.js +1 -5
- package/dist/constructs/multi-step-check.js.map +1 -1
- package/dist/constructs/project.d.ts +3 -0
- package/dist/constructs/project.js +14 -0
- package/dist/constructs/project.js.map +1 -1
- package/dist/services/check-parser/package-files/extension.d.ts +28 -0
- package/dist/services/check-parser/package-files/extension.js +56 -0
- package/dist/services/check-parser/package-files/extension.js.map +1 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.d.ts +17 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.js +46 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.js.map +1 -0
- package/dist/services/check-parser/package-files/json-source-file.d.ts +10 -0
- package/dist/services/check-parser/package-files/json-source-file.js +38 -0
- package/dist/services/check-parser/package-files/json-source-file.js.map +1 -0
- package/dist/services/check-parser/package-files/loader.d.ts +7 -0
- package/dist/services/check-parser/package-files/loader.js +19 -0
- package/dist/services/check-parser/package-files/loader.js.map +1 -0
- package/dist/services/check-parser/package-files/lookup.d.ts +12 -0
- package/dist/services/check-parser/package-files/lookup.js +70 -0
- package/dist/services/check-parser/package-files/lookup.js.map +1 -0
- package/dist/services/check-parser/package-files/package-json-file.d.ts +19 -0
- package/dist/services/check-parser/package-files/package-json-file.js +45 -0
- package/dist/services/check-parser/package-files/package-json-file.js.map +1 -0
- package/dist/services/check-parser/package-files/paths.d.ts +80 -0
- package/dist/services/check-parser/package-files/paths.js +164 -0
- package/dist/services/check-parser/package-files/paths.js.map +1 -0
- package/dist/services/check-parser/package-files/resolver.d.ts +66 -0
- package/dist/services/check-parser/package-files/resolver.js +277 -0
- package/dist/services/check-parser/package-files/resolver.js.map +1 -0
- package/dist/services/check-parser/package-files/source-file.d.ts +15 -0
- package/dist/services/check-parser/package-files/source-file.js +54 -0
- package/dist/services/check-parser/package-files/source-file.js.map +1 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.d.ts +66 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.js +95 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.js.map +1 -0
- package/dist/services/check-parser/parser.d.ts +12 -16
- package/dist/services/check-parser/parser.js +75 -96
- package/dist/services/check-parser/parser.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable no-labels */
|
|
3
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
6
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
var _PackageFilesCache_instances, _PackageFilesCache_sourceFileCache, _PackageFilesCache_jsonFileLoader, _PackageFilesCache_packageJsonCache, _PackageFilesCache_tsconfigJsonCache, _PackageFilesCache_jsconfigJsonCache;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.PackageFilesResolver = void 0;
|
|
14
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
+
const source_file_1 = require("./source-file");
|
|
16
|
+
const package_json_file_1 = require("./package-json-file");
|
|
17
|
+
const tsconfig_json_file_1 = require("./tsconfig-json-file");
|
|
18
|
+
const jsconfig_json_file_1 = require("./jsconfig-json-file");
|
|
19
|
+
const paths_1 = require("./paths");
|
|
20
|
+
const loader_1 = require("./loader");
|
|
21
|
+
const json_source_file_1 = require("./json-source-file");
|
|
22
|
+
const lookup_1 = require("./lookup");
|
|
23
|
+
class PackageFilesCache {
|
|
24
|
+
constructor() {
|
|
25
|
+
_PackageFilesCache_instances.add(this);
|
|
26
|
+
_PackageFilesCache_sourceFileCache.set(this, new loader_1.FileLoader(source_file_1.SourceFile.loadFromFilePath));
|
|
27
|
+
_PackageFilesCache_packageJsonCache.set(this, new loader_1.FileLoader(__classPrivateFieldGet(this, _PackageFilesCache_instances, "m", _PackageFilesCache_jsonFileLoader).call(this, package_json_file_1.PackageJsonFile.loadFromJsonSourceFile)));
|
|
28
|
+
_PackageFilesCache_tsconfigJsonCache.set(this, new loader_1.FileLoader(__classPrivateFieldGet(this, _PackageFilesCache_instances, "m", _PackageFilesCache_jsonFileLoader).call(this, tsconfig_json_file_1.TSConfigFile.loadFromJsonSourceFile)));
|
|
29
|
+
_PackageFilesCache_jsconfigJsonCache.set(this, new loader_1.FileLoader(__classPrivateFieldGet(this, _PackageFilesCache_instances, "m", _PackageFilesCache_jsonFileLoader).call(this, jsconfig_json_file_1.JSConfigFile.loadFromJsonSourceFile)));
|
|
30
|
+
}
|
|
31
|
+
sourceFile(filePath, context) {
|
|
32
|
+
for (const lookupPath of context.collectLookupPaths(filePath)) {
|
|
33
|
+
const sourceFile = __classPrivateFieldGet(this, _PackageFilesCache_sourceFileCache, "f").load(lookupPath);
|
|
34
|
+
if (sourceFile === undefined) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
return sourceFile;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
packageJson(filePath) {
|
|
41
|
+
return __classPrivateFieldGet(this, _PackageFilesCache_packageJsonCache, "f").load(filePath);
|
|
42
|
+
}
|
|
43
|
+
tsconfigJson(filePath) {
|
|
44
|
+
return __classPrivateFieldGet(this, _PackageFilesCache_tsconfigJsonCache, "f").load(filePath);
|
|
45
|
+
}
|
|
46
|
+
jsconfigJson(filePath) {
|
|
47
|
+
return __classPrivateFieldGet(this, _PackageFilesCache_jsconfigJsonCache, "f").load(filePath);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
_PackageFilesCache_sourceFileCache = new WeakMap(), _PackageFilesCache_packageJsonCache = new WeakMap(), _PackageFilesCache_tsconfigJsonCache = new WeakMap(), _PackageFilesCache_jsconfigJsonCache = new WeakMap(), _PackageFilesCache_instances = new WeakSet(), _PackageFilesCache_jsonFileLoader = function _PackageFilesCache_jsonFileLoader(load) {
|
|
51
|
+
return filePath => {
|
|
52
|
+
const sourceFile = __classPrivateFieldGet(this, _PackageFilesCache_sourceFileCache, "f").load(filePath);
|
|
53
|
+
if (sourceFile === undefined) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const jsonFile = json_source_file_1.JsonSourceFile.loadFromSourceFile(sourceFile);
|
|
57
|
+
if (jsonFile === undefined) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
return load(jsonFile);
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
class PackageFiles {
|
|
64
|
+
satisfyFromDirPath(dirPath, cache) {
|
|
65
|
+
if (this.packageJson === undefined) {
|
|
66
|
+
this.packageJson = cache.packageJson(package_json_file_1.PackageJsonFile.filePath(dirPath));
|
|
67
|
+
}
|
|
68
|
+
if (this.tsconfigJson === undefined && this.jsconfigJson === undefined) {
|
|
69
|
+
this.tsconfigJson = cache.tsconfigJson(tsconfig_json_file_1.TSConfigFile.filePath(dirPath));
|
|
70
|
+
}
|
|
71
|
+
if (this.jsconfigJson === undefined && this.tsconfigJson === undefined) {
|
|
72
|
+
this.jsconfigJson = cache.jsconfigJson(jsconfig_json_file_1.JSConfigFile.filePath(dirPath));
|
|
73
|
+
}
|
|
74
|
+
return this.satisfied;
|
|
75
|
+
}
|
|
76
|
+
get satisfied() {
|
|
77
|
+
// Never satisfied until we find a package.json file.
|
|
78
|
+
if (this.packageJson === undefined) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
// Not satisfied until either a tsconfig.json or a jsconfig.json file
|
|
82
|
+
// is found.
|
|
83
|
+
if (this.tsconfigJson === undefined && this.jsconfigJson === undefined) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
class PackageFilesResolver {
|
|
90
|
+
constructor() {
|
|
91
|
+
this.cache = new PackageFilesCache();
|
|
92
|
+
}
|
|
93
|
+
loadPackageFiles(filePath, options) {
|
|
94
|
+
const files = new PackageFiles();
|
|
95
|
+
let currentPath = filePath;
|
|
96
|
+
while (true) {
|
|
97
|
+
const prevPath = currentPath;
|
|
98
|
+
currentPath = node_path_1.default.dirname(prevPath);
|
|
99
|
+
// Bail out if we reach root.
|
|
100
|
+
if (prevPath === currentPath) {
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
// Try to find all files and stop if we do.
|
|
104
|
+
if (files.satisfyFromDirPath(currentPath, this.cache)) {
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
// Stop if we reach the user-specified root directory.
|
|
108
|
+
// TODO: I don't like a string comparison for this but it'll do for now.
|
|
109
|
+
if (currentPath === (options === null || options === void 0 ? void 0 : options.root)) {
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return files;
|
|
114
|
+
}
|
|
115
|
+
resolveSourceFile(sourceFile, context) {
|
|
116
|
+
if (sourceFile.meta.basename === package_json_file_1.PackageJsonFile.FILENAME) {
|
|
117
|
+
const packageJson = this.cache.packageJson(sourceFile.meta.filePath);
|
|
118
|
+
if (packageJson === undefined) {
|
|
119
|
+
// This should never happen unless the package.json is invalid or
|
|
120
|
+
// something.
|
|
121
|
+
return [sourceFile];
|
|
122
|
+
}
|
|
123
|
+
// Go through each main path. A fallback path is included. If we can
|
|
124
|
+
// find a tsconfig for the main file, look it up and attempt to find
|
|
125
|
+
// the original TypeScript sources roughly the same way tsc does it.
|
|
126
|
+
for (const mainPath of packageJson.mainPaths) {
|
|
127
|
+
const { tsconfigJson, jsconfigJson } = this.loadPackageFiles(mainPath, {
|
|
128
|
+
root: packageJson.basePath,
|
|
129
|
+
});
|
|
130
|
+
// TODO: Prefer jsconfig.json when dealing with a JavaScript file.
|
|
131
|
+
for (const configJson of [tsconfigJson, jsconfigJson]) {
|
|
132
|
+
if (configJson === undefined) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const candidatePaths = configJson.collectLookupPaths(mainPath).flatMap(filePath => {
|
|
136
|
+
return context.collectLookupPaths(filePath);
|
|
137
|
+
});
|
|
138
|
+
for (const candidatePath of candidatePaths) {
|
|
139
|
+
const mainSourceFile = this.cache.sourceFile(candidatePath, context);
|
|
140
|
+
if (mainSourceFile === undefined) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
configJson.registerRelatedSourceFile(mainSourceFile);
|
|
144
|
+
return [sourceFile, mainSourceFile, configJson.jsonFile.sourceFile];
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const mainSourceFile = this.cache.sourceFile(mainPath, context);
|
|
148
|
+
if (mainSourceFile === undefined) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
return [sourceFile, mainSourceFile];
|
|
152
|
+
}
|
|
153
|
+
// TODO: Is this even useful without any code files?
|
|
154
|
+
return [sourceFile];
|
|
155
|
+
}
|
|
156
|
+
return [sourceFile];
|
|
157
|
+
}
|
|
158
|
+
resolveDependenciesForFilePath(filePath, dependencies) {
|
|
159
|
+
const resolved = {
|
|
160
|
+
external: [],
|
|
161
|
+
missing: [],
|
|
162
|
+
local: [],
|
|
163
|
+
};
|
|
164
|
+
const dirname = node_path_1.default.dirname(filePath);
|
|
165
|
+
const { tsconfigJson, jsconfigJson } = this.loadPackageFiles(filePath);
|
|
166
|
+
const context = lookup_1.LookupContext.forFilePath(filePath);
|
|
167
|
+
resolve: for (const importPath of dependencies) {
|
|
168
|
+
if ((0, paths_1.isBuiltinPath)(importPath)) {
|
|
169
|
+
resolved.external.push({
|
|
170
|
+
importPath,
|
|
171
|
+
});
|
|
172
|
+
continue resolve;
|
|
173
|
+
}
|
|
174
|
+
if ((0, paths_1.isLocalPath)(importPath)) {
|
|
175
|
+
const relativeDepPath = node_path_1.default.resolve(dirname, importPath);
|
|
176
|
+
const sourceFile = this.cache.sourceFile(relativeDepPath, context);
|
|
177
|
+
if (sourceFile !== undefined) {
|
|
178
|
+
const resolvedFiles = this.resolveSourceFile(sourceFile, context);
|
|
179
|
+
let found = false;
|
|
180
|
+
for (const resolvedFile of resolvedFiles) {
|
|
181
|
+
resolved.local.push({
|
|
182
|
+
kind: 'relative-path',
|
|
183
|
+
importPath,
|
|
184
|
+
sourceFile: resolvedFile,
|
|
185
|
+
});
|
|
186
|
+
found = true;
|
|
187
|
+
}
|
|
188
|
+
if (found) {
|
|
189
|
+
continue resolve;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
resolved.missing.push({
|
|
193
|
+
importPath,
|
|
194
|
+
filePath: relativeDepPath,
|
|
195
|
+
});
|
|
196
|
+
continue resolve;
|
|
197
|
+
}
|
|
198
|
+
for (const configJson of [tsconfigJson, jsconfigJson]) {
|
|
199
|
+
if (configJson === undefined) {
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
const resolvedPaths = configJson.resolvePath(importPath);
|
|
203
|
+
if (resolvedPaths.length > 0) {
|
|
204
|
+
let found = false;
|
|
205
|
+
for (const { source, target } of resolvedPaths) {
|
|
206
|
+
const relativePath = node_path_1.default.resolve(configJson.basePath, target.path);
|
|
207
|
+
const sourceFile = this.cache.sourceFile(relativePath, context);
|
|
208
|
+
if (sourceFile !== undefined) {
|
|
209
|
+
const resolvedFiles = this.resolveSourceFile(sourceFile, context);
|
|
210
|
+
for (const resolvedFile of resolvedFiles) {
|
|
211
|
+
configJson.registerRelatedSourceFile(resolvedFile);
|
|
212
|
+
resolved.local.push({
|
|
213
|
+
kind: 'tsconfig-resolved-path',
|
|
214
|
+
importPath,
|
|
215
|
+
sourceFile: resolvedFile,
|
|
216
|
+
configFile: configJson,
|
|
217
|
+
pathResult: {
|
|
218
|
+
source,
|
|
219
|
+
target,
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
resolved.local.push({
|
|
223
|
+
kind: 'tsconfig-file',
|
|
224
|
+
importPath,
|
|
225
|
+
sourceFile: configJson.jsonFile.sourceFile,
|
|
226
|
+
configFile: configJson,
|
|
227
|
+
});
|
|
228
|
+
found = true;
|
|
229
|
+
}
|
|
230
|
+
if (found) {
|
|
231
|
+
// We're trying to find the first match out of many possible
|
|
232
|
+
// candidates. Stop once we find a match.
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (found) {
|
|
238
|
+
continue resolve;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
if (configJson.baseUrl !== undefined) {
|
|
242
|
+
const relativePath = node_path_1.default.resolve(configJson.basePath, configJson.baseUrl, importPath);
|
|
243
|
+
const sourceFile = this.cache.sourceFile(relativePath, context);
|
|
244
|
+
if (sourceFile !== undefined) {
|
|
245
|
+
const resolvedFiles = this.resolveSourceFile(sourceFile, context);
|
|
246
|
+
let found = false;
|
|
247
|
+
for (const resolvedFile of resolvedFiles) {
|
|
248
|
+
configJson.registerRelatedSourceFile(resolvedFile);
|
|
249
|
+
resolved.local.push({
|
|
250
|
+
kind: 'tsconfig-baseurl-relative-path',
|
|
251
|
+
importPath,
|
|
252
|
+
sourceFile: resolvedFile,
|
|
253
|
+
configFile: configJson,
|
|
254
|
+
});
|
|
255
|
+
resolved.local.push({
|
|
256
|
+
kind: 'tsconfig-file',
|
|
257
|
+
importPath,
|
|
258
|
+
sourceFile: configJson.jsonFile.sourceFile,
|
|
259
|
+
configFile: configJson,
|
|
260
|
+
});
|
|
261
|
+
found = true;
|
|
262
|
+
}
|
|
263
|
+
if (found) {
|
|
264
|
+
continue resolve;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
resolved.external.push({
|
|
270
|
+
importPath,
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
return resolved;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
exports.PackageFilesResolver = PackageFilesResolver;
|
|
277
|
+
//# sourceMappingURL=resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class FileMeta {
|
|
2
|
+
filePath: string;
|
|
3
|
+
dirname: string;
|
|
4
|
+
basename: string;
|
|
5
|
+
private constructor();
|
|
6
|
+
static fromFilePath(filePath: string): FileMeta;
|
|
7
|
+
}
|
|
8
|
+
export declare class SourceFile {
|
|
9
|
+
#private;
|
|
10
|
+
readonly id: number;
|
|
11
|
+
contents: string;
|
|
12
|
+
meta: FileMeta;
|
|
13
|
+
private constructor();
|
|
14
|
+
static loadFromFilePath(filePath: string): SourceFile | undefined;
|
|
15
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
var _a, _SourceFile_id;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.SourceFile = exports.FileMeta = void 0;
|
|
19
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
20
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
21
|
+
class FileMeta {
|
|
22
|
+
constructor(filePath, dirname, basename) {
|
|
23
|
+
this.filePath = filePath;
|
|
24
|
+
this.dirname = dirname;
|
|
25
|
+
this.basename = basename;
|
|
26
|
+
}
|
|
27
|
+
static fromFilePath(filePath) {
|
|
28
|
+
return new FileMeta(filePath, node_path_1.default.dirname(filePath), node_path_1.default.basename(filePath));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.FileMeta = FileMeta;
|
|
32
|
+
class SourceFile {
|
|
33
|
+
constructor(meta, contents) {
|
|
34
|
+
var _b, _c;
|
|
35
|
+
this.id = __classPrivateFieldSet(_b = _a, _a, (_c = __classPrivateFieldGet(_b, _a, "f", _SourceFile_id), ++_c), "f", _SourceFile_id);
|
|
36
|
+
this.meta = meta;
|
|
37
|
+
this.contents = contents;
|
|
38
|
+
}
|
|
39
|
+
static loadFromFilePath(filePath) {
|
|
40
|
+
try {
|
|
41
|
+
const contents = node_fs_1.default.readFileSync(filePath, {
|
|
42
|
+
encoding: 'utf8',
|
|
43
|
+
});
|
|
44
|
+
const meta = FileMeta.fromFilePath(filePath);
|
|
45
|
+
return new _a(meta, contents);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.SourceFile = SourceFile;
|
|
52
|
+
_a = SourceFile;
|
|
53
|
+
_SourceFile_id = { value: 0 };
|
|
54
|
+
//# sourceMappingURL=source-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-file.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/source-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAE5B,MAAa,QAAQ;IAKnB,YAAqB,QAAgB,EAAE,OAAe,EAAE,QAAgB;QACtE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,YAAY,CAAE,QAAgB;QACnC,OAAO,IAAI,QAAQ,CACjB,QAAQ,EACR,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,mBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACxB,CAAA;IACH,CAAC;CACF;AAlBD,4BAkBC;AAED,MAAa,UAAU;IAOrB,YAAqB,IAAc,EAAE,QAAgB;;QAL5C,OAAE,GAAG,oCAAA,CAAE,wDAAc,EAAhB,IAAgB,CAAA,sBAAA,CAAA;QAM5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAE,QAAgB;QACvC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,iBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACzC,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YAE5C,OAAO,IAAI,EAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;;AAvBH,gCAwBC;;AAvBQ,0BAAM,CAAC,EAAJ,CAAI"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { SourceFile } from './source-file';
|
|
2
|
+
import { JsonSourceFile } from './json-source-file';
|
|
3
|
+
import { PathResolver, ResolveResult } from './paths';
|
|
4
|
+
type Module = 'none' | 'commonjs' | 'amd' | 'system' | 'es6' | 'es2015' | 'es2020' | 'es2022' | 'esnext' | 'node16' | 'nodenext' | 'preserve';
|
|
5
|
+
type ModuleResolution = 'classic' | 'node10' | 'node' | 'node16' | 'nodenext' | 'bundler';
|
|
6
|
+
type Paths = Record<string, Array<string>>;
|
|
7
|
+
interface CompilerOptions {
|
|
8
|
+
module?: Module;
|
|
9
|
+
moduleResolution?: ModuleResolution;
|
|
10
|
+
baseUrl?: string;
|
|
11
|
+
paths?: Paths;
|
|
12
|
+
/**
|
|
13
|
+
* If set, .js files will be emitted into this directory.
|
|
14
|
+
*
|
|
15
|
+
* If not set, .js files are placed right next to .ts files in the same
|
|
16
|
+
* folder.
|
|
17
|
+
*
|
|
18
|
+
* @see https://www.typescriptlang.org/tsconfig/#outDir
|
|
19
|
+
*/
|
|
20
|
+
outDir?: string;
|
|
21
|
+
/**
|
|
22
|
+
* If not set, rootDir is inferred to be the longest common path of all
|
|
23
|
+
* non-declaration input files, unless `composite: true`, in which case
|
|
24
|
+
* the inferred root is the directory containing the tsconfig.json file.
|
|
25
|
+
*
|
|
26
|
+
* @see https://www.typescriptlang.org/tsconfig/#rootDir
|
|
27
|
+
*/
|
|
28
|
+
rootDir?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Allow multiple directions to act as a single root. Source files will be
|
|
31
|
+
* able to refer to files in other roots as if they were present in the same
|
|
32
|
+
* root.
|
|
33
|
+
*
|
|
34
|
+
* @see https://www.typescriptlang.org/tsconfig/#rootDirs
|
|
35
|
+
*/
|
|
36
|
+
rootDirs?: string[];
|
|
37
|
+
/**
|
|
38
|
+
* If true, the default rootDir is the directory containing the
|
|
39
|
+
* tsconfig.json file.
|
|
40
|
+
*
|
|
41
|
+
* @see https://www.typescriptlang.org/tsconfig/#composite
|
|
42
|
+
*/
|
|
43
|
+
composite?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface Schema {
|
|
46
|
+
compilerOptions?: CompilerOptions;
|
|
47
|
+
}
|
|
48
|
+
export declare class TSConfigFile {
|
|
49
|
+
#private;
|
|
50
|
+
static FILENAME: string;
|
|
51
|
+
readonly id: number;
|
|
52
|
+
jsonFile: JsonSourceFile<Schema>;
|
|
53
|
+
basePath: string;
|
|
54
|
+
moduleResolution: string;
|
|
55
|
+
baseUrl?: string;
|
|
56
|
+
pathResolver: PathResolver;
|
|
57
|
+
relatedSourceFiles: SourceFile[];
|
|
58
|
+
protected constructor(jsonFile: JsonSourceFile<Schema>);
|
|
59
|
+
get meta(): import("./source-file").FileMeta;
|
|
60
|
+
static loadFromJsonSourceFile(jsonFile: JsonSourceFile<Schema>): TSConfigFile | undefined;
|
|
61
|
+
static filePath(dirPath: string): string;
|
|
62
|
+
resolvePath(importPath: string): ResolveResult;
|
|
63
|
+
collectLookupPaths(filePath: string): string[];
|
|
64
|
+
registerRelatedSourceFile(file: SourceFile): void;
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
var _a, _TSConfigFile_id;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TSConfigFile = void 0;
|
|
19
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
20
|
+
const paths_1 = require("./paths");
|
|
21
|
+
class TSConfigFile {
|
|
22
|
+
constructor(jsonFile) {
|
|
23
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
24
|
+
var _j, _k;
|
|
25
|
+
this.id = __classPrivateFieldSet(_j = _a, _a, (_k = __classPrivateFieldGet(_j, _a, "f", _TSConfigFile_id), ++_k), "f", _TSConfigFile_id);
|
|
26
|
+
this.relatedSourceFiles = [];
|
|
27
|
+
this.jsonFile = jsonFile;
|
|
28
|
+
this.basePath = jsonFile.meta.dirname;
|
|
29
|
+
this.moduleResolution = (_d = (_c = (_b = jsonFile.data.compilerOptions) === null || _b === void 0 ? void 0 : _b.moduleResolution) === null || _c === void 0 ? void 0 : _c.toLocaleLowerCase()) !== null && _d !== void 0 ? _d : 'unspecified';
|
|
30
|
+
const baseUrl = (_e = jsonFile.data.compilerOptions) === null || _e === void 0 ? void 0 : _e.baseUrl;
|
|
31
|
+
if (baseUrl !== undefined) {
|
|
32
|
+
this.baseUrl = node_path_1.default.resolve(this.jsonFile.meta.dirname, baseUrl);
|
|
33
|
+
}
|
|
34
|
+
this.pathResolver = paths_1.PathResolver.createFromPaths((_f = this.baseUrl) !== null && _f !== void 0 ? _f : '.', (_h = (_g = jsonFile.data.compilerOptions) === null || _g === void 0 ? void 0 : _g.paths) !== null && _h !== void 0 ? _h : {});
|
|
35
|
+
}
|
|
36
|
+
get meta() {
|
|
37
|
+
return this.jsonFile.meta;
|
|
38
|
+
}
|
|
39
|
+
static loadFromJsonSourceFile(jsonFile) {
|
|
40
|
+
return new _a(jsonFile);
|
|
41
|
+
}
|
|
42
|
+
static filePath(dirPath) {
|
|
43
|
+
return node_path_1.default.join(dirPath, _a.FILENAME);
|
|
44
|
+
}
|
|
45
|
+
resolvePath(importPath) {
|
|
46
|
+
return this.pathResolver.resolve(importPath);
|
|
47
|
+
}
|
|
48
|
+
collectLookupPaths(filePath) {
|
|
49
|
+
var _b;
|
|
50
|
+
let { outDir, rootDir, rootDirs, composite, } = (_b = this.jsonFile.data.compilerOptions) !== null && _b !== void 0 ? _b : {};
|
|
51
|
+
const candidates = [];
|
|
52
|
+
if (outDir === undefined) {
|
|
53
|
+
candidates.push(node_path_1.default.resolve(this.basePath, filePath));
|
|
54
|
+
return candidates; // Nothing more we can do.
|
|
55
|
+
}
|
|
56
|
+
if (composite === undefined) {
|
|
57
|
+
composite = false;
|
|
58
|
+
}
|
|
59
|
+
// Inferred rootDir is tsconfig directory if composite === true.
|
|
60
|
+
if (rootDir === undefined && composite) {
|
|
61
|
+
rootDir = '.';
|
|
62
|
+
}
|
|
63
|
+
// If we still don't have a root, we should calculate the longest common
|
|
64
|
+
// path among input files, but that's a lot of effort. Assume tsconfig
|
|
65
|
+
// directory and hope for the best.
|
|
66
|
+
if (rootDir === undefined) {
|
|
67
|
+
rootDir = '.';
|
|
68
|
+
}
|
|
69
|
+
const absoluteOutDir = node_path_1.default.resolve(this.basePath, outDir);
|
|
70
|
+
const relativePath = node_path_1.default.relative(absoluteOutDir, filePath);
|
|
71
|
+
// If the file is outside outDir, then assume we're looking for
|
|
72
|
+
// something that wasn't compiled using this tsconfig (or at all), and
|
|
73
|
+
// stop looking.
|
|
74
|
+
if (relativePath.startsWith('..')) {
|
|
75
|
+
candidates.push(node_path_1.default.resolve(this.basePath, filePath));
|
|
76
|
+
return candidates;
|
|
77
|
+
}
|
|
78
|
+
candidates.push(node_path_1.default.resolve(this.basePath, rootDir, relativePath));
|
|
79
|
+
// Assume that our inferred (or user specified) rootDir is enough to cover
|
|
80
|
+
// the same conditions we'd have to infer rootDirs, and only add rootDirs
|
|
81
|
+
// if they're actually set.
|
|
82
|
+
for (const multiRootDir of rootDirs !== null && rootDirs !== void 0 ? rootDirs : []) {
|
|
83
|
+
candidates.push(node_path_1.default.resolve(this.basePath, multiRootDir, relativePath));
|
|
84
|
+
}
|
|
85
|
+
return candidates;
|
|
86
|
+
}
|
|
87
|
+
registerRelatedSourceFile(file) {
|
|
88
|
+
this.relatedSourceFiles.push(file);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.TSConfigFile = TSConfigFile;
|
|
92
|
+
_a = TSConfigFile;
|
|
93
|
+
TSConfigFile.FILENAME = 'tsconfig.json';
|
|
94
|
+
_TSConfigFile_id = { value: 0 };
|
|
95
|
+
//# sourceMappingURL=tsconfig-json-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsconfig-json-file.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/tsconfig-json-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import { PackageFilesResolver, Dependencies } from './package-files/resolver';
|
|
1
2
|
type Module = {
|
|
2
|
-
|
|
3
|
-
npmDependencies: Array<string>;
|
|
3
|
+
dependencies: Array<string>;
|
|
4
4
|
};
|
|
5
|
-
type SupportedFileExtension = '.js' | '.mjs' | '.ts';
|
|
6
|
-
declare const JS_RESOLVE_ORDER: string[];
|
|
7
|
-
declare const TS_RESOLVE_ORDER: string[];
|
|
8
5
|
type ParserOptions = {
|
|
9
6
|
supportedNpmModules?: Array<string>;
|
|
10
7
|
checkUnsupportedModules?: boolean;
|
|
@@ -12,7 +9,14 @@ type ParserOptions = {
|
|
|
12
9
|
export declare class Parser {
|
|
13
10
|
supportedModules: Set<string>;
|
|
14
11
|
checkUnsupportedModules: boolean;
|
|
12
|
+
resolver: PackageFilesResolver;
|
|
13
|
+
cache: Map<string, {
|
|
14
|
+
module: Module;
|
|
15
|
+
resolvedDependencies?: Dependencies | undefined;
|
|
16
|
+
error?: any;
|
|
17
|
+
}>;
|
|
15
18
|
constructor(options: ParserOptions);
|
|
19
|
+
supportsModule(importPath: string): boolean;
|
|
16
20
|
parse(entrypoint: string): {
|
|
17
21
|
entrypoint: {
|
|
18
22
|
filePath: string;
|
|
@@ -23,22 +27,14 @@ export declare class Parser {
|
|
|
23
27
|
content: string;
|
|
24
28
|
}[];
|
|
25
29
|
};
|
|
26
|
-
static readDependency(filePath: string, preferedExtenstion: SupportedFileExtension): {
|
|
27
|
-
filePath: string;
|
|
28
|
-
content: string;
|
|
29
|
-
}[];
|
|
30
|
-
static tryReadFileExt(filePath: string, exts: typeof JS_RESOLVE_ORDER | typeof TS_RESOLVE_ORDER): {
|
|
31
|
-
filePath: string;
|
|
32
|
-
content: string;
|
|
33
|
-
}[];
|
|
34
30
|
static parseDependencies(filePath: string, contents: string): {
|
|
35
31
|
module: Module;
|
|
36
32
|
error?: any;
|
|
37
33
|
};
|
|
38
|
-
static jsNodeVisitor(
|
|
39
|
-
static tsNodeVisitor(tsParser: any,
|
|
34
|
+
static jsNodeVisitor(dependencies: Set<string>): any;
|
|
35
|
+
static tsNodeVisitor(tsParser: any, dependencies: Set<string>): any;
|
|
40
36
|
static isRequireExpression(node: any): boolean;
|
|
41
37
|
static getRequireStringArg(node: any): string | null;
|
|
42
|
-
static registerDependency(importArg: string | null,
|
|
38
|
+
static registerDependency(importArg: string | null, dependencies: Set<string>): void;
|
|
43
39
|
}
|
|
44
40
|
export {};
|