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.
Files changed (79) hide show
  1. package/dist/ai-context/checkly.rules.md +44 -0
  2. package/dist/ai-context/context.js +5 -0
  3. package/dist/ai-context/context.js.map +1 -1
  4. package/dist/ai-context/skills/monitoring/SKILL.md +45 -1
  5. package/dist/commands/import/plan.js +2 -1
  6. package/dist/commands/import/plan.js.map +1 -1
  7. package/dist/commands/pw-test.d.ts +2 -1
  8. package/dist/commands/pw-test.js +7 -3
  9. package/dist/commands/pw-test.js.map +1 -1
  10. package/dist/constants.d.ts +2 -2
  11. package/dist/constants.js +3 -2
  12. package/dist/constants.js.map +1 -1
  13. package/dist/constructs/api-assertion.d.ts +3 -3
  14. package/dist/constructs/check-codegen.d.ts +2 -0
  15. package/dist/constructs/check-codegen.js +8 -0
  16. package/dist/constructs/check-codegen.js.map +1 -1
  17. package/dist/constructs/check-group-v1.js +4 -4
  18. package/dist/constructs/check-group-v1.js.map +1 -1
  19. package/dist/constructs/construct.js +6 -2
  20. package/dist/constructs/construct.js.map +1 -1
  21. package/dist/constructs/dns-assertion.d.ts +1 -1
  22. package/dist/constructs/heartbeat-monitor.js +2 -5
  23. package/dist/constructs/heartbeat-monitor.js.map +1 -1
  24. package/dist/constructs/icmp-assertion-codegen.d.ts +3 -0
  25. package/dist/constructs/icmp-assertion-codegen.js +22 -0
  26. package/dist/constructs/icmp-assertion-codegen.js.map +1 -0
  27. package/dist/constructs/icmp-assertion.d.ts +56 -0
  28. package/dist/constructs/icmp-assertion.js +61 -0
  29. package/dist/constructs/icmp-assertion.js.map +1 -0
  30. package/dist/constructs/icmp-monitor-codegen.d.ts +13 -0
  31. package/dist/constructs/icmp-monitor-codegen.js +38 -0
  32. package/dist/constructs/icmp-monitor-codegen.js.map +1 -0
  33. package/dist/constructs/icmp-monitor.d.ts +82 -0
  34. package/dist/constructs/icmp-monitor.js +47 -0
  35. package/dist/constructs/icmp-monitor.js.map +1 -0
  36. package/dist/constructs/icmp-request-codegen.d.ts +4 -0
  37. package/dist/constructs/icmp-request-codegen.js +28 -0
  38. package/dist/constructs/icmp-request-codegen.js.map +1 -0
  39. package/dist/constructs/icmp-request.d.ts +37 -0
  40. package/dist/constructs/icmp-request.js +3 -0
  41. package/dist/constructs/icmp-request.js.map +1 -0
  42. package/dist/constructs/incidentio-alert-channel.js +1 -1
  43. package/dist/constructs/index.d.ts +3 -0
  44. package/dist/constructs/index.js +3 -0
  45. package/dist/constructs/index.js.map +1 -1
  46. package/dist/constructs/internal/assertion-codegen.d.ts +4 -1
  47. package/dist/constructs/internal/assertion-codegen.js +5 -2
  48. package/dist/constructs/internal/assertion-codegen.js.map +1 -1
  49. package/dist/constructs/internal/assertion.d.ts +3 -2
  50. package/dist/constructs/internal/assertion.js +4 -2
  51. package/dist/constructs/internal/assertion.js.map +1 -1
  52. package/dist/constructs/msteams-alert-channel.js +48 -3
  53. package/dist/constructs/msteams-alert-channel.js.map +1 -1
  54. package/dist/constructs/multi-step-check.js +2 -2
  55. package/dist/constructs/multi-step-check.js.map +1 -1
  56. package/dist/constructs/project.js +0 -3
  57. package/dist/constructs/project.js.map +1 -1
  58. package/dist/constructs/tcp-monitor.d.ts +1 -1
  59. package/dist/constructs/telegram-alert-channel.js +8 -1
  60. package/dist/constructs/telegram-alert-channel.js.map +1 -1
  61. package/dist/constructs/url-assertion.d.ts +1 -1
  62. package/dist/reporters/util.js +67 -0
  63. package/dist/reporters/util.js.map +1 -1
  64. package/dist/services/check-parser/faux-package.d.ts +1 -0
  65. package/dist/services/check-parser/faux-package.js +5 -4
  66. package/dist/services/check-parser/faux-package.js.map +1 -1
  67. package/dist/services/check-parser/package-files/resolver.js +58 -23
  68. package/dist/services/check-parser/package-files/resolver.js.map +1 -1
  69. package/dist/services/check-parser/package-files/workspace.js +4 -5
  70. package/dist/services/check-parser/package-files/workspace.js.map +1 -1
  71. package/dist/services/check-parser/parser.d.ts +8 -8
  72. package/dist/services/check-parser/parser.js +114 -80
  73. package/dist/services/check-parser/parser.js.map +1 -1
  74. package/dist/services/project-parser.js.map +1 -1
  75. package/dist/testing/fixture-sandbox.js +7 -2
  76. package/dist/testing/fixture-sandbox.js.map +1 -1
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/oclif.manifest.json +8 -1
  79. 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 (packageJson) {
249
- resolved.local.push({
250
- kind: 'nearest-package-json-file',
251
- importPath: filePath,
252
- sourceFile: packageJson.jsonFile.sourceFile,
253
- packageJsonFile: packageJson,
254
- });
255
- }
256
- if (tsconfigJson) {
257
- resolved.local.push({
258
- kind: 'nearest-tsconfig-file',
259
- importPath: filePath,
260
- sourceFile: tsconfigJson.jsonFile.sourceFile,
261
- configFile: tsconfigJson,
262
- });
263
- }
264
- if (jsconfigJson) {
265
- resolved.local.push({
266
- kind: 'nearest-tsconfig-file',
267
- importPath: filePath,
268
- sourceFile: jsconfigJson.jsonFile.sourceFile,
269
- configFile: jsconfigJson,
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":";;;;;;AAAA,0DAA4B;AAE5B,kDAAyB;AAEzB,+CAA0C;AAC1C,2DAAqD;AACrD,6DAAmD;AACnD,6DAAmD;AACnD,mCAAkG;AAClG,qCAA+C;AAC/C,yDAAmD;AACnD,mEAA4D;AAC5D,qCAAwC;AACxC,iCAAgD;AAGhD,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,4CAA4C,CAAC,CAAA;AAEjE,MAAM,iBAAiB;IACrB,gBAAgB,GAAG,IAAI,mBAAU,CAAC,wBAAU,CAAC,gBAAgB,CAAC,CAAA;IAE9D,WAAW,CAAK,IAAwD;QACtE,OAAO,KAAK,EAAC,QAAQ,EAAC,EAAE;YACtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC7D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAM;YACR,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,CAAA;QACzB,CAAC,CAAA;IACH,CAAC;IAED,eAAe,CAAQ,IAA6D;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YACzC,MAAM,QAAQ,GAAG,MAAM,iCAAc,CAAC,kBAAkB,CAAI,UAAU,CAAC,CAAA;YACvE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAM;YACR,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,mBAAmB,CAAQ,IAAiE;QAC1F,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YACzC,MAAM,QAAQ,GAAG,MAAM,0CAAkB,CAAC,kBAAkB,CAAI,UAAU,CAAC,CAAA;YAC3E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAM;YACR,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,iBAAiB,GAAG,IAAI,mBAAU,CAAC,IAAI,CAAC,eAAe,CAAC,mCAAe,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAChG,kBAAkB,GAAG,IAAI,mBAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,iCAAY,CAAC,0BAA0B,CAAC,CAAC,CAAA;IACtG,kBAAkB,GAAG,IAAI,mBAAU,CAAC,IAAI,CAAC,eAAe,CAAC,iCAAY,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAE9F,KAAK,CAAC,eAAe,CAAE,QAAgB;QACrC,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CAAE,QAAgB,EAAE,OAAsB;QACxD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YACzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAQ;YACV,CAAC;YAED,OAAO,UAAU,CAAA;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAE,QAAgB;QACjC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,YAAY,CAAE,QAAgB;QAClC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAE,QAAgB;QAClC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrD,CAAC;CACF;AAED,MAAM,YAAY;IAChB,WAAW,CAAkB;IAC7B,YAAY,CAAe;IAC3B,YAAY,CAAe;IAE3B,KAAK,CAAC,kBAAkB,CAAE,OAAe,EAAE,KAAwB;QACjE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,mCAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/E,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACvE,IAAI,CAAC,YAAY,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,iCAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9E,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACvE,IAAI,CAAC,YAAY,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,iCAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9E,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,IAAI,SAAS;QACX,qDAAqD;QACrD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,qEAAqE;QACrE,YAAY;QACZ,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACvE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAgID,MAAa,oBAAoB;IAC/B,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAA;IAC/B,SAAS,CAAY;IACrB,UAAU,CAAS;IAEnB,YAAa,OAAqC;QAChD,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAA;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,QAAgB,EAAE,OAAwB;QAChE,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAA;QAEhC,KAAK,MAAM,UAAU,IAAI,IAAA,cAAO,EAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YAClE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YACpE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,UAAsB,EACtB,OAAsB,EACtB,OAAkC;QAElC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,KAAK,mCAAe,CAAC,QAAQ,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,iEAAiE;gBACjE,aAAa;gBACb,OAAO,CAAC,UAAU,CAAC,CAAA;YACrB,CAAC;YAED,MAAM,EACJ,UAAU,GAAG,EAAE,EACf,MAAM,GAAG,QAAQ,GAClB,GAAG,OAAO,IAAI,EAAE,CAAA;YAEjB,MAAM,WAAW,GAAa,EAAE,CAAA;YAEhC,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE;oBAChE,MAAM;oBACN,MAAM;oBACN,aAAa;oBACb,SAAS;iBACV,CAAC,CAAA;gBAEF,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC;oBAC3C,WAAW,CAAC,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;gBACvD,CAAC;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBAClD,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;YAC5C,CAAC;YAED,oEAAoE;YACpE,oEAAoE;YACpE,oEAAoE;YACpE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;oBAC7E,IAAI,EAAE,WAAW,CAAC,QAAQ;iBAC3B,CAAC,CAAA;gBAEF,kEAAkE;gBAClE,KAAK,MAAM,UAAU,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;oBACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC7B,SAAQ;oBACV,CAAC;oBAED,MAAM,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAClF,OAAO,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;oBAC7C,CAAC,CAAC,CAAA;oBACF,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;wBAC3C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;wBAC1E,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;4BACjC,SAAQ;wBACV,CAAC;wBAED,UAAU,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAA;wBAEpD,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;oBACrE,CAAC;gBACH,CAAC;gBAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBACvE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,SAAQ;gBACV,CAAC;gBAED,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;YACrC,CAAC;YAED,oDAAoD;YACpD,OAAO,CAAC,UAAU,CAAC,CAAA;QACrB,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,8BAA8B,CAClC,QAAgB,EAChB,YAA6B;QAE7B,KAAK,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAiB;YAC7B,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,SAAS,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,EAAE;aACf;SACF,CAAA;QAED,MAAM,OAAO,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEtC,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,YAAY,GACb,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACxC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI;SAChC,CAAC,CAAA;QAEF,qEAAqE;QACrE,2EAA2E;QAC3E,qEAAqE;QACrE,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,YAAY;QACZ,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,YAAY,GACb,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;aAC/B,CAAC,CAAA;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,2CAA2C,EAC/C,WAAW,CAAC,IAAI,CAAC,QAAQ,CAC1B,CAAA;gBACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,kCAAkC;oBACxC,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;oBAC3C,eAAe,EAAE,WAAW;iBAC7B,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,4CAA4C,EAChD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAC3B,CAAA;gBACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,8BAA8B;oBACpC,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU;oBAC5C,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,4CAA4C,EAChD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAC3B,CAAA;gBACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,8BAA8B;oBACpC,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU;oBAC5C,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,CAC7B,CAAA;gBACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,KAAK,CAAC,kCAAkC,EACtC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CACvB,CAAA;oBACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,yBAAyB;wBAC/B,UAAU,EAAE,QAAQ;wBACpB,UAAU,EAAE,QAAQ;qBACrB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,CAC/B,CAAA;gBACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,KAAK,CAAC,qCAAqC,EACzC,UAAU,CAAC,IAAI,CAAC,QAAQ,CACzB,CAAA;oBACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,4BAA4B;wBAClC,UAAU,EAAE,QAAQ;wBACpB,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,mBAAmB;QACnB,EAAE;QACF,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,iEAAiE;QACjE,yEAAyE;QACzE,0EAA0E;QAC1E,4CAA4C;QAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,oCAAoC,EACxC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAC1B,CAAA;gBACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,2BAA2B;oBACjC,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;oBAC3C,eAAe,EAAE,WAAW;iBAC7B,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,qCAAqC,EACzC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAC3B,CAAA;gBACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,uBAAuB;oBAC7B,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU;oBAC5C,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,qCAAqC,EACzC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAC3B,CAAA;gBACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,uBAAuB;oBAC7B,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU;oBAC5C,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAW,CAAA;QAExC,MAAM,OAAO,GAAG,sBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAEnD,OAAO,EACP,KAAK,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAClD,IAAI,IAAA,qBAAa,EAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;gBACtC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrB,UAAU;iBACX,CAAC,CAAA;gBACF,SAAS,OAAO,CAAA;YAClB,CAAC;YAED,IAAI,IAAA,mBAAW,EAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,eAAe,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;gBACzD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;gBACxE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;oBACvE,IAAI,KAAK,GAAG,KAAK,CAAA;oBACjB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;wBACzC,KAAK,CAAC,qBAAqB,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;wBACxD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;4BAClB,IAAI,EAAE,eAAe;4BACrB,UAAU;4BACV,UAAU,EAAE,YAAY;yBACzB,CAAC,CAAA;wBACF,KAAK,GAAG,IAAI,CAAA;oBACd,CAAC;oBACD,IAAI,KAAK,EAAE,CAAC;wBACV,SAAS,OAAO,CAAA;oBAClB,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAA;gBACjD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;oBACpB,UAAU;oBACV,QAAQ,EAAE,eAAe;iBAC1B,CAAC,CAAA;gBACF,SAAS,OAAO,CAAA;YAClB,CAAC;YAED,KAAK,MAAM,UAAU,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;gBACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,SAAQ;gBACV,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;gBACzE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,KAAK,GAAG,KAAK,CAAA;oBACjB,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;wBAC/C,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;wBACpD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;wBACrE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;4BAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;4BACvE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gCACzC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAA;gCAClD,KAAK,CAAC,uCAAuC,EAC3C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAC3B,CAAA;gCACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oCAClB,IAAI,EAAE,mCAAmC;oCACzC,UAAU;oCACV,UAAU,EAAE,YAAY;oCACxB,UAAU,EAAE,UAAU;oCACtB,UAAU,EAAE;wCACV,MAAM;wCACN,MAAM;qCACP;iCACF,CAAC,CAAA;gCACF,KAAK,CAAC,gDAAgD,EACpD,UAAU,CAAC,IAAI,CAAC,QAAQ,CACzB,CAAA;gCACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oCAClB,IAAI,EAAE,0BAA0B;oCAChC,UAAU;oCACV,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU;oCAC1C,UAAU,EAAE,UAAU;iCACvB,CAAC,CAAA;gCACF,KAAK,GAAG,IAAI,CAAA;4BACd,CAAC;4BACD,IAAI,KAAK,EAAE,CAAC;gCACV,4DAA4D;gCAC5D,yCAAyC;gCACzC,MAAK;4BACP,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,IAAI,KAAK,EAAE,CAAC;wBACV,SAAS,OAAO,CAAA;oBAClB,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACrC,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;oBACtF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;oBACrE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;wBACvE,IAAI,KAAK,GAAG,KAAK,CAAA;wBACjB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;4BACzC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAA;4BAClD,KAAK,CAAC,yCAAyC,EAC7C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAC3B,CAAA;4BACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gCAClB,IAAI,EAAE,2CAA2C;gCACjD,UAAU;gCACV,UAAU,EAAE,YAAY;gCACxB,UAAU,EAAE,UAAU;6BACvB,CAAC,CAAA;4BACF,KAAK,CAAC,6CAA6C,EACjD,UAAU,CAAC,IAAI,CAAC,QAAQ,CACzB,CAAA;4BACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gCAClB,IAAI,EAAE,0BAA0B;gCAChC,UAAU;gCACV,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU;gCAC1C,UAAU,EAAE,UAAU;6BACvB,CAAC,CAAA;4BACF,KAAK,GAAG,IAAI,CAAA;wBACd,CAAC;wBACD,IAAI,KAAK,EAAE,CAAC;4BACV,SAAS,OAAO,CAAA;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,IAAA,qBAAa,EAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,6BAA6B,EACjC,UAAU,CACX,CAAA;gBAED,OAAO;gBACP,SAAS,OAAO,CAAA;YAClB,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAA,yBAAiB,EAAC,UAAU,CAAC,CAAA;gBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBAClD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;oBACtE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE;4BACtE,UAAU;4BACV,MAAM;yBACP,CAAC,CAAA;wBACF,IAAI,KAAK,GAAG,KAAK,CAAA;wBACjB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;4BACzC,KAAK,CAAC,kCAAkC,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;4BACrE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gCAClB,IAAI,EAAE,oBAAoB;gCAC1B,QAAQ;gCACR,UAAU;gCACV,UAAU,EAAE,YAAY;6BACzB,CAAC,CAAA;4BACF,KAAK,GAAG,IAAI,CAAA;wBACd,CAAC;wBACD,IAAI,KAAK,EAAE,CAAC;4BACV,KAAK,CAAC,uCAAuC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;4BAC7D,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;4BAC3B,SAAS,OAAO,CAAA;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAA;YACjD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrB,UAAU;aACX,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAW,CAAA;QAE5C,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,oBAAoB,GAAG;gBAC3B,GAAG,WAAW,CAAC,YAAY;gBAC3B,GAAG,WAAW,CAAC,eAAe;aAC/B,CAAA;YAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;gBACjD,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,yCAAyC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;oBAC/D,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,SAAS,GAAG;YACnB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;SACtC,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AA3cD,oDA2cC"}
@@ -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 => node_path_1.default.join(pattern, package_json_file_1.PackageJsonFile.FILENAME));
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":"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"}
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, Dependencies, RawDependency, RawDependencySource } from './package-files/resolver';
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 validateFile;
42
- private isProcessableExtension;
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
- cache = new Map();
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
- async validateFile(filePath) {
157
- debug(`Validating file ${filePath}`);
158
- const extension = node_path_1.default.extname(filePath);
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 validate file ${filePath}: ${err}`);
171
+ debug(`Failed to read file ${filePath}: ${err}`);
168
172
  throw new errors_1.DependencyParseError(filePath, [filePath], [], []);
169
173
  }
170
174
  }
171
- isProcessableExtension(extension) {
175
+ determineFileOps(filePath) {
176
+ const extension = node_path_1.default.extname(filePath);
172
177
  if (this.restricted) {
173
- return isLegacySupportedFileExtension(extension);
178
+ if (isLegacySupportedFileExtension(extension)) {
179
+ return FILEOP_RESOLVE | FILEOP_PARSE;
180
+ }
181
+ return 0;
174
182
  }
175
- if ((0, extension_1.isCoreExtension)(extension) && extension !== '.json') {
176
- return true;
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 true;
190
+ return FILEOP_RESOLVE | FILEOP_PARSE;
180
191
  }
181
- return false;
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 file of files) {
191
- if (resultFileSet.has(file)) {
201
+ for (const filePath of files) {
202
+ if (resultFileSet.has(filePath)) {
192
203
  continue;
193
204
  }
194
- const extension = node_path_1.default.extname(file);
195
- if (!this.isProcessableExtension(extension)) {
196
- resultFileSet.add(file);
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
- const item = await this.validateFile(file);
200
- const cache = this.cache.get(item.filePath);
201
- const { module, error } = cache !== undefined
202
- ? cache
203
- : Parser.parseDependencies(item.filePath, item.content);
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
- const filePath = dep.sourceFile.meta.filePath;
222
- files.add(filePath);
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(item.filePath);
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
- const { content } = await this.validateFile(entrypoint);
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
- if (item.filePath.endsWith(PACKAGE_EXTENSION)) {
336
- // Holds info about the main file and doesn't need to be parsed
371
+ const ops = this.determineFileOps(item.filePath);
372
+ // Not necessary - just a minor optimization.
373
+ if (ops === 0) {
337
374
  continue;
338
375
  }
339
- // This cache is only useful when there are multiple entrypoints with
340
- // common files, as we make sure to not add the same file twice to
341
- // bfsQueue.
342
- const cache = this.cache.get(item.filePath);
343
- const { module, error } = cache !== undefined
344
- ? cache
345
- : Parser.parseDependencies(item.filePath, item.content);
346
- if (error) {
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
- const resolvedDependencies = cache?.resolvedDependencies
352
- ?? await this.resolver.resolveDependenciesForFilePath(item.filePath, module.dependencies);
353
- this.cache.set(item.filePath, { module, resolvedDependencies });
354
- if (this.checkUnsupportedModules) {
355
- const unsupportedDependencies = resolvedDependencies.external.flatMap(dep => {
356
- if (!this.supportsModule(dep.importPath)) {
357
- return [dep.importPath];
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
- for (const dep of resolvedDependencies.missing) {
368
- collector.addMissingFile(dep.filePath);
369
- }
370
- for (const dep of resolvedDependencies.local) {
371
- const filePath = dep.sourceFile.meta.filePath;
372
- if (collector.hasDependency(filePath)) {
373
- continue;
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
- collector.addDependency(filePath, dep.sourceFile.contents);
376
- bfsQueue.push({ filePath, content: dep.sourceFile.contents });
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)) {