checkly 7.0.1 → 7.1.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/ai-context/checkly.rules.md +44 -0
- package/dist/ai-context/context.js +5 -0
- package/dist/ai-context/context.js.map +1 -1
- package/dist/ai-context/skills/monitoring/SKILL.md +45 -1
- package/dist/commands/import/plan.js +2 -1
- package/dist/commands/import/plan.js.map +1 -1
- package/dist/commands/pw-test.d.ts +2 -1
- package/dist/commands/pw-test.js +7 -3
- package/dist/commands/pw-test.js.map +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/constants.js +3 -2
- package/dist/constants.js.map +1 -1
- package/dist/constructs/api-assertion.d.ts +3 -3
- package/dist/constructs/check-codegen.d.ts +2 -0
- package/dist/constructs/check-codegen.js +8 -0
- package/dist/constructs/check-codegen.js.map +1 -1
- package/dist/constructs/check-group-v1.js +4 -4
- package/dist/constructs/check-group-v1.js.map +1 -1
- package/dist/constructs/construct.js +6 -2
- package/dist/constructs/construct.js.map +1 -1
- package/dist/constructs/dns-assertion.d.ts +1 -1
- package/dist/constructs/heartbeat-monitor.js +2 -5
- package/dist/constructs/heartbeat-monitor.js.map +1 -1
- package/dist/constructs/icmp-assertion-codegen.d.ts +3 -0
- package/dist/constructs/icmp-assertion-codegen.js +22 -0
- package/dist/constructs/icmp-assertion-codegen.js.map +1 -0
- package/dist/constructs/icmp-assertion.d.ts +56 -0
- package/dist/constructs/icmp-assertion.js +61 -0
- package/dist/constructs/icmp-assertion.js.map +1 -0
- package/dist/constructs/icmp-monitor-codegen.d.ts +13 -0
- package/dist/constructs/icmp-monitor-codegen.js +38 -0
- package/dist/constructs/icmp-monitor-codegen.js.map +1 -0
- package/dist/constructs/icmp-monitor.d.ts +82 -0
- package/dist/constructs/icmp-monitor.js +47 -0
- package/dist/constructs/icmp-monitor.js.map +1 -0
- package/dist/constructs/icmp-request-codegen.d.ts +4 -0
- package/dist/constructs/icmp-request-codegen.js +28 -0
- package/dist/constructs/icmp-request-codegen.js.map +1 -0
- package/dist/constructs/icmp-request.d.ts +37 -0
- package/dist/constructs/icmp-request.js +3 -0
- package/dist/constructs/icmp-request.js.map +1 -0
- package/dist/constructs/incidentio-alert-channel.js +1 -1
- package/dist/constructs/index.d.ts +3 -0
- package/dist/constructs/index.js +3 -0
- package/dist/constructs/index.js.map +1 -1
- package/dist/constructs/internal/assertion-codegen.d.ts +4 -1
- package/dist/constructs/internal/assertion-codegen.js +5 -2
- package/dist/constructs/internal/assertion-codegen.js.map +1 -1
- package/dist/constructs/internal/assertion.d.ts +3 -2
- package/dist/constructs/internal/assertion.js +4 -2
- package/dist/constructs/internal/assertion.js.map +1 -1
- package/dist/constructs/msteams-alert-channel.js +48 -3
- package/dist/constructs/msteams-alert-channel.js.map +1 -1
- package/dist/constructs/multi-step-check.js +2 -2
- package/dist/constructs/multi-step-check.js.map +1 -1
- package/dist/constructs/project.js +0 -3
- package/dist/constructs/project.js.map +1 -1
- package/dist/constructs/tcp-monitor.d.ts +1 -1
- package/dist/constructs/telegram-alert-channel.js +8 -1
- package/dist/constructs/telegram-alert-channel.js.map +1 -1
- package/dist/constructs/url-assertion.d.ts +1 -1
- package/dist/reporters/util.js +67 -0
- package/dist/reporters/util.js.map +1 -1
- package/dist/services/check-parser/faux-package.d.ts +1 -0
- package/dist/services/check-parser/faux-package.js +5 -4
- package/dist/services/check-parser/faux-package.js.map +1 -1
- package/dist/services/check-parser/package-files/resolver.js +58 -23
- package/dist/services/check-parser/package-files/resolver.js.map +1 -1
- package/dist/services/check-parser/package-files/workspace.js +4 -5
- package/dist/services/check-parser/package-files/workspace.js.map +1 -1
- package/dist/services/check-parser/parser.d.ts +8 -8
- package/dist/services/check-parser/parser.js +114 -80
- package/dist/services/check-parser/parser.js.map +1 -1
- package/dist/services/project-parser.js.map +1 -1
- package/dist/testing/fixture-sandbox.js +7 -2
- package/dist/testing/fixture-sandbox.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +8 -1
- package/package.json +2 -2
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.PackageFilesResolver = void 0;
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const debug_1 = __importDefault(require("debug"));
|
|
8
9
|
const source_file_1 = require("./source-file");
|
|
9
10
|
const package_json_file_1 = require("./package-json-file");
|
|
10
11
|
const tsconfig_json_file_1 = require("./tsconfig-json-file");
|
|
@@ -15,6 +16,7 @@ const json_source_file_1 = require("./json-source-file");
|
|
|
15
16
|
const json_text_source_file_1 = require("./json-text-source-file");
|
|
16
17
|
const lookup_1 = require("./lookup");
|
|
17
18
|
const walk_1 = require("./walk");
|
|
19
|
+
const debug = (0, debug_1.default)('checkly:cli:services:check-parser:resolver');
|
|
18
20
|
class PackageFilesCache {
|
|
19
21
|
#sourceFileCache = new loader_1.FileLoader(source_file_1.SourceFile.loadFromFilePath);
|
|
20
22
|
#fileLoader(load) {
|
|
@@ -176,6 +178,7 @@ class PackageFilesResolver {
|
|
|
176
178
|
return [sourceFile];
|
|
177
179
|
}
|
|
178
180
|
async resolveDependenciesForFilePath(filePath, dependencies) {
|
|
181
|
+
debug(`Resolving dependencies for %s`, filePath);
|
|
179
182
|
const resolved = {
|
|
180
183
|
external: [],
|
|
181
184
|
missing: [],
|
|
@@ -201,6 +204,7 @@ class PackageFilesResolver {
|
|
|
201
204
|
root: this.workspace.root.path,
|
|
202
205
|
});
|
|
203
206
|
if (packageJson) {
|
|
207
|
+
debug('Found workspace root package.json file %s', packageJson.meta.filePath);
|
|
204
208
|
resolved.local.push({
|
|
205
209
|
kind: 'workspace-root-package-json-file',
|
|
206
210
|
importPath: filePath,
|
|
@@ -209,6 +213,7 @@ class PackageFilesResolver {
|
|
|
209
213
|
});
|
|
210
214
|
}
|
|
211
215
|
if (tsconfigJson) {
|
|
216
|
+
debug('Found workspace root tsconfig.json file %s', tsconfigJson.meta.filePath);
|
|
212
217
|
resolved.local.push({
|
|
213
218
|
kind: 'workspace-root-tsconfig-file',
|
|
214
219
|
importPath: filePath,
|
|
@@ -217,6 +222,7 @@ class PackageFilesResolver {
|
|
|
217
222
|
});
|
|
218
223
|
}
|
|
219
224
|
if (jsconfigJson) {
|
|
225
|
+
debug('Found workspace root jsconfig.json file %s', jsconfigJson.meta.filePath);
|
|
220
226
|
resolved.local.push({
|
|
221
227
|
kind: 'workspace-root-tsconfig-file',
|
|
222
228
|
importPath: filePath,
|
|
@@ -227,6 +233,7 @@ class PackageFilesResolver {
|
|
|
227
233
|
if (this.workspace.lockfile.isOk()) {
|
|
228
234
|
const lockfile = await this.cache.exactSourceFile(this.workspace.lockfile.ok());
|
|
229
235
|
if (lockfile !== undefined) {
|
|
236
|
+
debug('Found workspace root lockfile %s', lockfile.meta.filePath);
|
|
230
237
|
resolved.local.push({
|
|
231
238
|
kind: 'workspace-root-lockfile',
|
|
232
239
|
importPath: filePath,
|
|
@@ -237,6 +244,7 @@ class PackageFilesResolver {
|
|
|
237
244
|
if (this.workspace.configFile.isOk()) {
|
|
238
245
|
const configFile = await this.cache.exactSourceFile(this.workspace.configFile.ok());
|
|
239
246
|
if (configFile !== undefined) {
|
|
247
|
+
debug('Found workspace root config file %s', configFile.meta.filePath);
|
|
240
248
|
resolved.local.push({
|
|
241
249
|
kind: 'workspace-root-config-file',
|
|
242
250
|
importPath: filePath,
|
|
@@ -245,34 +253,50 @@ class PackageFilesResolver {
|
|
|
245
253
|
}
|
|
246
254
|
}
|
|
247
255
|
}
|
|
248
|
-
if
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
if
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
256
|
+
// As above, only add nearest package files if we are not running in
|
|
257
|
+
// restricted mode.
|
|
258
|
+
//
|
|
259
|
+
// Including these files not only increases the size of the deployment,
|
|
260
|
+
// but can also affect the way Node.js treats the code files. Mainly,
|
|
261
|
+
// the package.json file can define whether the package uses CJS or ESM.
|
|
262
|
+
// Since our legacy runners do not support ESM, this leads into a
|
|
263
|
+
// compatibility issue. For tsconfig files, they will get included anyway
|
|
264
|
+
// if they are necessary for TypeScript file resolution, so including them
|
|
265
|
+
// here is not necessary in restricted mode.
|
|
266
|
+
if (!this.restricted) {
|
|
267
|
+
if (packageJson) {
|
|
268
|
+
debug('Found nearest package.json file %s', packageJson.meta.filePath);
|
|
269
|
+
resolved.local.push({
|
|
270
|
+
kind: 'nearest-package-json-file',
|
|
271
|
+
importPath: filePath,
|
|
272
|
+
sourceFile: packageJson.jsonFile.sourceFile,
|
|
273
|
+
packageJsonFile: packageJson,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
if (tsconfigJson) {
|
|
277
|
+
debug('Found nearest tsconfig.json file %s', tsconfigJson.meta.filePath);
|
|
278
|
+
resolved.local.push({
|
|
279
|
+
kind: 'nearest-tsconfig-file',
|
|
280
|
+
importPath: filePath,
|
|
281
|
+
sourceFile: tsconfigJson.jsonFile.sourceFile,
|
|
282
|
+
configFile: tsconfigJson,
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
if (jsconfigJson) {
|
|
286
|
+
debug('Found nearest jsconfig.json file %s', jsconfigJson.meta.filePath);
|
|
287
|
+
resolved.local.push({
|
|
288
|
+
kind: 'nearest-tsconfig-file',
|
|
289
|
+
importPath: filePath,
|
|
290
|
+
sourceFile: jsconfigJson.jsonFile.sourceFile,
|
|
291
|
+
configFile: jsconfigJson,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
271
294
|
}
|
|
272
295
|
const usedNeighbors = new Set();
|
|
273
296
|
const context = lookup_1.LookupContext.forFilePath(filePath);
|
|
274
297
|
resolve: for (const { importPath, source } of dependencies) {
|
|
275
298
|
if ((0, paths_1.isBuiltinPath)(importPath)) {
|
|
299
|
+
debug('Found built-in %s', importPath);
|
|
276
300
|
resolved.external.push({
|
|
277
301
|
importPath,
|
|
278
302
|
});
|
|
@@ -285,6 +309,7 @@ class PackageFilesResolver {
|
|
|
285
309
|
const resolvedFiles = await this.resolveSourceFile(sourceFile, context);
|
|
286
310
|
let found = false;
|
|
287
311
|
for (const resolvedFile of resolvedFiles) {
|
|
312
|
+
debug('Found local file %s', resolvedFile.meta.filePath);
|
|
288
313
|
resolved.local.push({
|
|
289
314
|
kind: 'relative-path',
|
|
290
315
|
importPath,
|
|
@@ -296,6 +321,7 @@ class PackageFilesResolver {
|
|
|
296
321
|
continue resolve;
|
|
297
322
|
}
|
|
298
323
|
}
|
|
324
|
+
debug('Failed to find local file %s', importPath);
|
|
299
325
|
resolved.missing.push({
|
|
300
326
|
importPath,
|
|
301
327
|
filePath: relativeDepPath,
|
|
@@ -316,6 +342,7 @@ class PackageFilesResolver {
|
|
|
316
342
|
const resolvedFiles = await this.resolveSourceFile(sourceFile, context);
|
|
317
343
|
for (const resolvedFile of resolvedFiles) {
|
|
318
344
|
configJson.registerRelatedSourceFile(resolvedFile);
|
|
345
|
+
debug('Found tsconfig paths resolved file %s', resolvedFile.meta.filePath);
|
|
319
346
|
resolved.local.push({
|
|
320
347
|
kind: 'supporting-tsconfig-resolved-path',
|
|
321
348
|
importPath,
|
|
@@ -326,6 +353,7 @@ class PackageFilesResolver {
|
|
|
326
353
|
target,
|
|
327
354
|
},
|
|
328
355
|
});
|
|
356
|
+
debug('Found supporting tsconfig.json file %s (paths)', configJson.meta.filePath);
|
|
329
357
|
resolved.local.push({
|
|
330
358
|
kind: 'supporting-tsconfig-file',
|
|
331
359
|
importPath,
|
|
@@ -353,12 +381,14 @@ class PackageFilesResolver {
|
|
|
353
381
|
let found = false;
|
|
354
382
|
for (const resolvedFile of resolvedFiles) {
|
|
355
383
|
configJson.registerRelatedSourceFile(resolvedFile);
|
|
384
|
+
debug('Found tsconfig baseUrl relative file %s', resolvedFile.meta.filePath);
|
|
356
385
|
resolved.local.push({
|
|
357
386
|
kind: 'supporting-tsconfig-baseurl-relative-path',
|
|
358
387
|
importPath,
|
|
359
388
|
sourceFile: resolvedFile,
|
|
360
389
|
configFile: configJson,
|
|
361
390
|
});
|
|
391
|
+
debug('Found supporting tsconfig file %s (baseUrl)', configJson.meta.filePath);
|
|
362
392
|
resolved.local.push({
|
|
363
393
|
kind: 'supporting-tsconfig-file',
|
|
364
394
|
importPath,
|
|
@@ -374,6 +404,7 @@ class PackageFilesResolver {
|
|
|
374
404
|
}
|
|
375
405
|
}
|
|
376
406
|
if ((0, paths_1.isImportsPath)(importPath)) {
|
|
407
|
+
debug('Found local imports path %s', importPath);
|
|
377
408
|
// TODO
|
|
378
409
|
continue resolve;
|
|
379
410
|
}
|
|
@@ -389,6 +420,7 @@ class PackageFilesResolver {
|
|
|
389
420
|
});
|
|
390
421
|
let found = false;
|
|
391
422
|
for (const resolvedFile of resolvedFiles) {
|
|
423
|
+
debug('Found workspace neighbor file %s', resolvedFile.meta.filePath);
|
|
392
424
|
resolved.local.push({
|
|
393
425
|
kind: 'workspace-neighbor',
|
|
394
426
|
neighbor,
|
|
@@ -398,12 +430,14 @@ class PackageFilesResolver {
|
|
|
398
430
|
found = true;
|
|
399
431
|
}
|
|
400
432
|
if (found) {
|
|
433
|
+
debug('Found workspace neighbor reference %s', neighbor.path);
|
|
401
434
|
usedNeighbors.add(neighbor);
|
|
402
435
|
continue resolve;
|
|
403
436
|
}
|
|
404
437
|
}
|
|
405
438
|
}
|
|
406
439
|
}
|
|
440
|
+
debug(`Found external dependency %s`, importPath);
|
|
407
441
|
resolved.external.push({
|
|
408
442
|
importPath,
|
|
409
443
|
});
|
|
@@ -417,6 +451,7 @@ class PackageFilesResolver {
|
|
|
417
451
|
for (const dep of Object.keys(combinedDependencies)) {
|
|
418
452
|
const neighbor = this.workspace.memberByName(dep);
|
|
419
453
|
if (neighbor) {
|
|
454
|
+
debug('Found workspace neighbor requirement %s', neighbor.path);
|
|
420
455
|
requiredNeighbors.add(neighbor);
|
|
421
456
|
}
|
|
422
457
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Workspace = exports.Package = void 0;
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
4
|
const glob_1 = require("glob");
|
|
9
5
|
const package_json_file_1 = require("./package-json-file");
|
|
10
6
|
class Package {
|
|
@@ -79,7 +75,10 @@ class Workspace {
|
|
|
79
75
|
* @returns Absolute paths to every package in the workspace.
|
|
80
76
|
*/
|
|
81
77
|
static async resolvePatterns(root, patterns) {
|
|
82
|
-
const lookup = patterns.map(pattern =>
|
|
78
|
+
const lookup = patterns.map(pattern => {
|
|
79
|
+
const joiner = pattern.endsWith('/') ? '' : '/';
|
|
80
|
+
return [pattern, package_json_file_1.PackageJsonFile.FILENAME].join(joiner);
|
|
81
|
+
});
|
|
83
82
|
const results = await (0, glob_1.glob)(lookup, {
|
|
84
83
|
cwd: root,
|
|
85
84
|
absolute: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/workspace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PackageFilesResolver,
|
|
1
|
+
import { PackageFilesResolver, RawDependency, RawDependencySource } from './package-files/resolver';
|
|
2
2
|
import type { PlaywrightConfig } from '../playwright-config';
|
|
3
3
|
import { Workspace } from './package-files/workspace';
|
|
4
4
|
type Module = {
|
|
@@ -26,24 +26,24 @@ export type PhysicalFile = {
|
|
|
26
26
|
};
|
|
27
27
|
export type File = VirtualFile | PhysicalFile;
|
|
28
28
|
export declare class Parser {
|
|
29
|
+
#private;
|
|
29
30
|
supportedModules: Set<string>;
|
|
30
31
|
checkUnsupportedModules: boolean;
|
|
31
32
|
workspace?: Workspace;
|
|
32
33
|
resolver: PackageFilesResolver;
|
|
33
34
|
restricted: boolean;
|
|
34
|
-
cache: Map<string, {
|
|
35
|
-
module: Module;
|
|
36
|
-
resolvedDependencies?: Dependencies | undefined;
|
|
37
|
-
error?: any;
|
|
38
|
-
}>;
|
|
39
35
|
constructor(options: ParserOptions);
|
|
40
36
|
supportsModule(importPath: string): boolean;
|
|
41
|
-
private
|
|
42
|
-
private
|
|
37
|
+
private validateEntrypoint;
|
|
38
|
+
private readFile;
|
|
39
|
+
private determineFileOps;
|
|
43
40
|
getFilesAndDependencies(playwrightConfig: PlaywrightConfig): Promise<{
|
|
44
41
|
files: File[];
|
|
45
42
|
errors: string[];
|
|
46
43
|
}>;
|
|
44
|
+
private parseFile;
|
|
45
|
+
private parseFileContent;
|
|
46
|
+
private resolveDependencies;
|
|
47
47
|
private collectFiles;
|
|
48
48
|
private getFilesFromPaths;
|
|
49
49
|
createFileMatcher(patterns: (string | RegExp)[]): (filePath: string) => boolean;
|
|
@@ -54,7 +54,6 @@ function isLegacySupportedFileExtension(value) {
|
|
|
54
54
|
return false;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
const PACKAGE_EXTENSION = `${node_path_1.default.sep}package.json`;
|
|
58
57
|
const supportedBuiltinModules = [
|
|
59
58
|
'node:assert',
|
|
60
59
|
'node:buffer',
|
|
@@ -125,13 +124,16 @@ class NeighborDependencyCollector {
|
|
|
125
124
|
return Array.from(this.#depended).filter(pkg => !this.#referenced.has(pkg));
|
|
126
125
|
}
|
|
127
126
|
}
|
|
127
|
+
const FILEOP_PARSE = 1;
|
|
128
|
+
const FILEOP_RESOLVE = 2;
|
|
128
129
|
class Parser {
|
|
129
130
|
supportedModules;
|
|
130
131
|
checkUnsupportedModules;
|
|
131
132
|
workspace;
|
|
132
133
|
resolver;
|
|
133
134
|
restricted;
|
|
134
|
-
|
|
135
|
+
#parseCache = new Map();
|
|
136
|
+
#resolveCache = new Map();
|
|
135
137
|
// TODO: pass a npm matrix of supported npm modules
|
|
136
138
|
// Maybe pass a cache so we don't have to fetch files separately all the time
|
|
137
139
|
constructor(options) {
|
|
@@ -153,32 +155,41 @@ class Parser {
|
|
|
153
155
|
}
|
|
154
156
|
return false;
|
|
155
157
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (!this.isProcessableExtension(extension)) {
|
|
158
|
+
validateEntrypoint(filePath) {
|
|
159
|
+
const ops = this.determineFileOps(filePath);
|
|
160
|
+
if ((ops & FILEOP_PARSE) === 0) {
|
|
160
161
|
throw new Error(`Unsupported file extension for ${filePath}`);
|
|
161
162
|
}
|
|
163
|
+
}
|
|
164
|
+
async readFile(filePath) {
|
|
165
|
+
debug(`Reading file ${filePath}`);
|
|
162
166
|
try {
|
|
163
167
|
const content = await promises_1.default.readFile(filePath, { encoding: 'utf-8' });
|
|
164
168
|
return { filePath, content };
|
|
165
169
|
}
|
|
166
170
|
catch (err) {
|
|
167
|
-
debug(`Failed to
|
|
171
|
+
debug(`Failed to read file ${filePath}: ${err}`);
|
|
168
172
|
throw new errors_1.DependencyParseError(filePath, [filePath], [], []);
|
|
169
173
|
}
|
|
170
174
|
}
|
|
171
|
-
|
|
175
|
+
determineFileOps(filePath) {
|
|
176
|
+
const extension = node_path_1.default.extname(filePath);
|
|
172
177
|
if (this.restricted) {
|
|
173
|
-
|
|
178
|
+
if (isLegacySupportedFileExtension(extension)) {
|
|
179
|
+
return FILEOP_RESOLVE | FILEOP_PARSE;
|
|
180
|
+
}
|
|
181
|
+
return 0;
|
|
174
182
|
}
|
|
175
|
-
if ((0, extension_1.isCoreExtension)(extension)
|
|
176
|
-
|
|
183
|
+
if ((0, extension_1.isCoreExtension)(extension)) {
|
|
184
|
+
if (extension === '.json') {
|
|
185
|
+
return FILEOP_RESOLVE;
|
|
186
|
+
}
|
|
187
|
+
return FILEOP_RESOLVE | FILEOP_PARSE;
|
|
177
188
|
}
|
|
178
189
|
if ((0, extension_1.isTSExtension)(extension)) {
|
|
179
|
-
return
|
|
190
|
+
return FILEOP_RESOLVE | FILEOP_PARSE;
|
|
180
191
|
}
|
|
181
|
-
return
|
|
192
|
+
return 0;
|
|
182
193
|
}
|
|
183
194
|
async getFilesAndDependencies(playwrightConfig) {
|
|
184
195
|
const files = new Set(await this.getFilesFromPaths(playwrightConfig));
|
|
@@ -187,41 +198,41 @@ class Parser {
|
|
|
187
198
|
const missingFiles = new Set();
|
|
188
199
|
const resultFileSet = new Set();
|
|
189
200
|
const neighbors = new NeighborDependencyCollector();
|
|
190
|
-
for (const
|
|
191
|
-
if (resultFileSet.has(
|
|
201
|
+
for (const filePath of files) {
|
|
202
|
+
if (resultFileSet.has(filePath)) {
|
|
192
203
|
continue;
|
|
193
204
|
}
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
|
|
205
|
+
const ops = this.determineFileOps(filePath);
|
|
206
|
+
// Not necessary - just a minor optimization.
|
|
207
|
+
if (ops === 0) {
|
|
208
|
+
resultFileSet.add(filePath);
|
|
197
209
|
continue;
|
|
198
210
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
if (error) {
|
|
205
|
-
this.cache.set(item.filePath, { module, error });
|
|
206
|
-
errors.add(item.filePath);
|
|
207
|
-
continue;
|
|
208
|
-
}
|
|
209
|
-
const resolvedDependencies = cache?.resolvedDependencies
|
|
210
|
-
?? await this.resolver.resolveDependenciesForFilePath(item.filePath, module.dependencies);
|
|
211
|
-
for (const dep of resolvedDependencies.missing) {
|
|
212
|
-
missingFiles.add(dep.filePath);
|
|
213
|
-
}
|
|
214
|
-
neighbors.markDepended(...resolvedDependencies.neighbors.depends);
|
|
215
|
-
neighbors.markReferenced(...resolvedDependencies.neighbors.references);
|
|
216
|
-
this.cache.set(item.filePath, { module, resolvedDependencies });
|
|
217
|
-
for (const dep of resolvedDependencies.local) {
|
|
218
|
-
if (resultFileSet.has(dep.sourceFile.meta.filePath)) {
|
|
211
|
+
let dependencies = [];
|
|
212
|
+
if (ops & FILEOP_PARSE) {
|
|
213
|
+
const { module, error } = await this.parseFile(filePath);
|
|
214
|
+
if (error) {
|
|
215
|
+
errors.add(filePath);
|
|
219
216
|
continue;
|
|
220
217
|
}
|
|
221
|
-
|
|
222
|
-
|
|
218
|
+
dependencies = module.dependencies;
|
|
219
|
+
}
|
|
220
|
+
if (ops & FILEOP_RESOLVE) {
|
|
221
|
+
const resolvedDependencies = await this.resolveDependencies(filePath, dependencies);
|
|
222
|
+
for (const dep of resolvedDependencies.missing) {
|
|
223
|
+
missingFiles.add(dep.filePath);
|
|
224
|
+
}
|
|
225
|
+
neighbors.markDepended(...resolvedDependencies.neighbors.depends);
|
|
226
|
+
neighbors.markReferenced(...resolvedDependencies.neighbors.references);
|
|
227
|
+
for (const dep of resolvedDependencies.local) {
|
|
228
|
+
if (resultFileSet.has(dep.sourceFile.meta.filePath)) {
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
const filePath = dep.sourceFile.meta.filePath;
|
|
232
|
+
files.add(filePath);
|
|
233
|
+
}
|
|
223
234
|
}
|
|
224
|
-
resultFileSet.add(
|
|
235
|
+
resultFileSet.add(filePath);
|
|
225
236
|
}
|
|
226
237
|
if (missingFiles.size) {
|
|
227
238
|
throw new errors_1.DependencyParseError([].join(', '), Array.from(missingFiles), [], []);
|
|
@@ -244,6 +255,30 @@ class Parser {
|
|
|
244
255
|
errors: Array.from(errors),
|
|
245
256
|
};
|
|
246
257
|
}
|
|
258
|
+
async parseFile(filePath) {
|
|
259
|
+
const cache = this.#parseCache.get(filePath);
|
|
260
|
+
if (!cache) {
|
|
261
|
+
const { content } = await this.readFile(filePath);
|
|
262
|
+
return this.parseFileContent(filePath, content);
|
|
263
|
+
}
|
|
264
|
+
return cache;
|
|
265
|
+
}
|
|
266
|
+
parseFileContent(filePath, content) {
|
|
267
|
+
let cache = this.#parseCache.get(filePath);
|
|
268
|
+
if (!cache) {
|
|
269
|
+
cache = Parser.parseDependencies(filePath, content);
|
|
270
|
+
this.#parseCache.set(filePath, cache);
|
|
271
|
+
}
|
|
272
|
+
return cache;
|
|
273
|
+
}
|
|
274
|
+
async resolveDependencies(filePath, dependencies) {
|
|
275
|
+
let cache = this.#resolveCache.get(filePath);
|
|
276
|
+
if (!cache) {
|
|
277
|
+
cache = await this.resolver.resolveDependenciesForFilePath(filePath, dependencies);
|
|
278
|
+
this.#resolveCache.set(filePath, cache);
|
|
279
|
+
}
|
|
280
|
+
return cache;
|
|
281
|
+
}
|
|
247
282
|
async collectFiles(cache, testDir, ignoredFiles) {
|
|
248
283
|
let files = cache.get(testDir);
|
|
249
284
|
if (!files) {
|
|
@@ -318,7 +353,8 @@ class Parser {
|
|
|
318
353
|
};
|
|
319
354
|
}
|
|
320
355
|
async parse(entrypoint) {
|
|
321
|
-
|
|
356
|
+
this.validateEntrypoint(entrypoint);
|
|
357
|
+
const { content } = await this.readFile(entrypoint);
|
|
322
358
|
/*
|
|
323
359
|
* The importing of files forms a directed graph.
|
|
324
360
|
* Vertices are source files and edges are from importing other files.
|
|
@@ -332,51 +368,49 @@ class Parser {
|
|
|
332
368
|
// Since we just checked the length, shift() will never return undefined.
|
|
333
369
|
// We can add a not-null assertion operator (!).
|
|
334
370
|
const item = bfsQueue.shift();
|
|
335
|
-
|
|
336
|
-
|
|
371
|
+
const ops = this.determineFileOps(item.filePath);
|
|
372
|
+
// Not necessary - just a minor optimization.
|
|
373
|
+
if (ops === 0) {
|
|
337
374
|
continue;
|
|
338
375
|
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
this.cache.set(item.filePath, { module, error });
|
|
348
|
-
collector.addParsingError(item.filePath, error.message);
|
|
349
|
-
continue;
|
|
376
|
+
let dependencies = [];
|
|
377
|
+
if (ops & FILEOP_PARSE) {
|
|
378
|
+
const { module, error } = this.parseFileContent(item.filePath, item.content);
|
|
379
|
+
if (error) {
|
|
380
|
+
collector.addParsingError(item.filePath, error.message);
|
|
381
|
+
continue;
|
|
382
|
+
}
|
|
383
|
+
dependencies = module.dependencies;
|
|
350
384
|
}
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
385
|
+
if (ops & FILEOP_RESOLVE) {
|
|
386
|
+
const resolvedDependencies = await this.resolveDependencies(item.filePath, dependencies);
|
|
387
|
+
if (this.checkUnsupportedModules) {
|
|
388
|
+
const unsupportedDependencies = resolvedDependencies.external.flatMap(dep => {
|
|
389
|
+
if (!this.supportsModule(dep.importPath)) {
|
|
390
|
+
return [dep.importPath];
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
return [];
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
if (unsupportedDependencies.length) {
|
|
397
|
+
collector.addUnsupportedNpmDependencies(item.filePath, unsupportedDependencies);
|
|
358
398
|
}
|
|
359
|
-
else {
|
|
360
|
-
return [];
|
|
361
|
-
}
|
|
362
|
-
});
|
|
363
|
-
if (unsupportedDependencies.length) {
|
|
364
|
-
collector.addUnsupportedNpmDependencies(item.filePath, unsupportedDependencies);
|
|
365
399
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
400
|
+
for (const dep of resolvedDependencies.missing) {
|
|
401
|
+
collector.addMissingFile(dep.filePath);
|
|
402
|
+
}
|
|
403
|
+
for (const dep of resolvedDependencies.local) {
|
|
404
|
+
const filePath = dep.sourceFile.meta.filePath;
|
|
405
|
+
if (collector.hasDependency(filePath)) {
|
|
406
|
+
continue;
|
|
407
|
+
}
|
|
408
|
+
collector.addDependency(filePath, dep.sourceFile.contents);
|
|
409
|
+
bfsQueue.push({ filePath, content: dep.sourceFile.contents });
|
|
374
410
|
}
|
|
375
|
-
|
|
376
|
-
|
|
411
|
+
neighbors.markDepended(...resolvedDependencies.neighbors.depends);
|
|
412
|
+
neighbors.markReferenced(...resolvedDependencies.neighbors.references);
|
|
377
413
|
}
|
|
378
|
-
neighbors.markDepended(...resolvedDependencies.neighbors.depends);
|
|
379
|
-
neighbors.markReferenced(...resolvedDependencies.neighbors.references);
|
|
380
414
|
}
|
|
381
415
|
for (const pkg of neighbors.unreferencedDependedPackages()) {
|
|
382
416
|
for (const f of (0, faux_package_1.createFauxPackageFiles)(pkg)) {
|