checkly 7.3.0 → 7.4.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 (53) hide show
  1. package/dist/commands/debug/parse-project.d.ts +1 -0
  2. package/dist/commands/debug/parse-project.js +26 -3
  3. package/dist/commands/debug/parse-project.js.map +1 -1
  4. package/dist/commands/deploy.js +15 -21
  5. package/dist/commands/deploy.js.map +1 -1
  6. package/dist/commands/pw-test.js +13 -23
  7. package/dist/commands/pw-test.js.map +1 -1
  8. package/dist/commands/test.js +15 -21
  9. package/dist/commands/test.js.map +1 -1
  10. package/dist/constructs/api-check.d.ts +3 -2
  11. package/dist/constructs/api-check.js +4 -4
  12. package/dist/constructs/api-check.js.map +1 -1
  13. package/dist/constructs/browser-check.d.ts +3 -2
  14. package/dist/constructs/browser-check.js +3 -3
  15. package/dist/constructs/browser-check.js.map +1 -1
  16. package/dist/constructs/construct.d.ts +2 -1
  17. package/dist/constructs/construct.js +2 -2
  18. package/dist/constructs/construct.js.map +1 -1
  19. package/dist/constructs/dashboard.d.ts +2 -1
  20. package/dist/constructs/dashboard.js +2 -1
  21. package/dist/constructs/dashboard.js.map +1 -1
  22. package/dist/constructs/multi-step-check.d.ts +3 -2
  23. package/dist/constructs/multi-step-check.js +3 -3
  24. package/dist/constructs/multi-step-check.js.map +1 -1
  25. package/dist/constructs/playwright-check-bundle.d.ts +7 -49
  26. package/dist/constructs/playwright-check-bundle.js +6 -48
  27. package/dist/constructs/playwright-check-bundle.js.map +1 -1
  28. package/dist/constructs/playwright-check.d.ts +3 -2
  29. package/dist/constructs/playwright-check.js +6 -5
  30. package/dist/constructs/playwright-check.js.map +1 -1
  31. package/dist/constructs/project.d.ts +4 -1
  32. package/dist/constructs/project.js +26 -12
  33. package/dist/constructs/project.js.map +1 -1
  34. package/dist/services/check-parser/bundler.d.ts +59 -0
  35. package/dist/services/check-parser/bundler.js +263 -0
  36. package/dist/services/check-parser/bundler.js.map +1 -0
  37. package/dist/services/check-parser/parser.d.ts +0 -3
  38. package/dist/services/check-parser/parser.js +3 -76
  39. package/dist/services/check-parser/parser.js.map +1 -1
  40. package/dist/services/check-parser/playwright-config-expander.d.ts +7 -0
  41. package/dist/services/check-parser/playwright-config-expander.js +122 -0
  42. package/dist/services/check-parser/playwright-config-expander.js.map +1 -0
  43. package/dist/services/playwright-config.d.ts +0 -3
  44. package/dist/services/playwright-config.js +0 -11
  45. package/dist/services/playwright-config.js.map +1 -1
  46. package/dist/services/test-runner.js +1 -1
  47. package/dist/services/test-runner.js.map +1 -1
  48. package/dist/services/util.d.ts +2 -7
  49. package/dist/services/util.js +45 -99
  50. package/dist/services/util.js.map +1 -1
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/oclif.manifest.json +9 -1
  53. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ import { File } from './parser';
2
+ import { Workspace } from './package-files/workspace';
3
+ export interface CreateBundleArchiveOptions {
4
+ tempDir?: string;
5
+ stripPrefix?: string;
6
+ }
7
+ export declare class BundleArchive {
8
+ #private;
9
+ static TMPDIR_PREFIX: string;
10
+ static DEFAULT_FILENAME: string;
11
+ private constructor();
12
+ static create(options: CreateBundleArchiveOptions): Promise<BundleArchive>;
13
+ add(...files: File[]): Promise<void>;
14
+ finalize(): Promise<FinalizedBundleArchive>;
15
+ destroy(): Promise<void>;
16
+ }
17
+ export interface CreateFinalizedBundleArchiveOptions {
18
+ archiveFile: string;
19
+ }
20
+ export declare class FinalizedBundleArchive {
21
+ #private;
22
+ private constructor();
23
+ static create(options: CreateFinalizedBundleArchiveOptions): Promise<FinalizedBundleArchive>;
24
+ get archiveFile(): string;
25
+ store(): Promise<RemoteBundleArchive>;
26
+ }
27
+ export interface CreateRemoteBundleArchiveOptions {
28
+ key: string;
29
+ }
30
+ export declare class RemoteBundleArchive {
31
+ #private;
32
+ private constructor();
33
+ static create(options: CreateRemoteBundleArchiveOptions): Promise<RemoteBundleArchive>;
34
+ get key(): string;
35
+ }
36
+ export interface CreateBundlerOptions {
37
+ tempDir?: string;
38
+ cacheHash: string;
39
+ stripPrefix?: string;
40
+ }
41
+ export type CreateBundlerForWorkspaceOptions = Omit<CreateBundlerOptions, 'cacheHash' | 'stripPrefix'>;
42
+ export declare class Bundler {
43
+ #private;
44
+ private constructor();
45
+ static create(options: CreateBundlerOptions): Promise<Bundler>;
46
+ static createForWorkspace(workspace: Workspace, options?: CreateBundlerForWorkspaceOptions): Promise<Bundler>;
47
+ get marker(): BundlePathMarker;
48
+ updateMarker(newValue: string): void;
49
+ get cacheHash(): string;
50
+ registerFiles(...files: File[]): void;
51
+ finalize(): Promise<FinalizedBundleArchive>;
52
+ }
53
+ export declare function getCacheHash(lockFile: string): Promise<string>;
54
+ export declare class BundlePathMarker {
55
+ #private;
56
+ constructor(initialValue: string);
57
+ updateValue(newValue: string): void;
58
+ toJSON(): string;
59
+ }
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.BundlePathMarker = exports.getCacheHash = exports.Bundler = exports.RemoteBundleArchive = exports.FinalizedBundleArchive = exports.BundleArchive = void 0;
30
+ const node_crypto_1 = require("node:crypto");
31
+ const node_fs_1 = require("node:fs");
32
+ const promises_1 = __importDefault(require("node:fs/promises"));
33
+ const node_os_1 = require("node:os");
34
+ const node_path_1 = __importDefault(require("node:path"));
35
+ const debug_1 = __importDefault(require("debug"));
36
+ const uuid = __importStar(require("uuid"));
37
+ const api_1 = require("../../rest/api");
38
+ const debug = (0, debug_1.default)('checkly:cli:services:check-parser:bundler');
39
+ class BundleArchive {
40
+ static TMPDIR_PREFIX = 'cli-';
41
+ static DEFAULT_FILENAME = 'playwright-project.tar.gz';
42
+ #tempDir;
43
+ #archiveFile;
44
+ #archiveFileWriteStream;
45
+ #stripPrefix;
46
+ #archive;
47
+ constructor(options) {
48
+ const { tempDir, archiveFile, archiveFileWriteStream, stripPrefix, archive, } = options;
49
+ this.#tempDir = tempDir;
50
+ this.#archiveFile = archiveFile;
51
+ this.#archiveFileWriteStream = archiveFileWriteStream;
52
+ this.#stripPrefix = stripPrefix;
53
+ this.#archive = archive;
54
+ }
55
+ static async create(options) {
56
+ debug(`Creating bundle archive`);
57
+ const { tempDir: maybeTempDir, stripPrefix, } = options;
58
+ const tempDir = maybeTempDir
59
+ ? await promises_1.default.mkdir(maybeTempDir, { recursive: true }).then(() => maybeTempDir)
60
+ // tmpdir() on macOS usually returns a path starting with /var which is
61
+ // a symlink. Resolve the path so that we don't run into path mismatch
62
+ // issues.
63
+ : await promises_1.default.realpath(await promises_1.default.mkdtemp(node_path_1.default.join((0, node_os_1.tmpdir)(), BundleArchive.TMPDIR_PREFIX)));
64
+ debug(`Using temporary directory ${tempDir}`);
65
+ const archiveFile = node_path_1.default.join(tempDir, BundleArchive.DEFAULT_FILENAME);
66
+ debug(`Using archive file ${archiveFile}`);
67
+ const archive = await createArchiver();
68
+ const output = (0, node_fs_1.createWriteStream)(archiveFile);
69
+ archive.pipe(output);
70
+ return new BundleArchive({
71
+ tempDir,
72
+ archiveFile,
73
+ archive,
74
+ archiveFileWriteStream: output,
75
+ stripPrefix,
76
+ });
77
+ }
78
+ // eslint-disable-next-line require-await
79
+ async add(...files) {
80
+ for (const file of files) {
81
+ const name = this.#stripPrefix
82
+ ? node_path_1.default.relative(this.#stripPrefix, file.filePath)
83
+ : file.filePath;
84
+ const entry = {
85
+ mode: 0o755, // Default mode for files in the archive
86
+ name,
87
+ };
88
+ if (file.physical) {
89
+ this.#archive.file(file.filePath, entry);
90
+ }
91
+ else {
92
+ this.#archive.append(file.content, entry);
93
+ }
94
+ }
95
+ }
96
+ async finalize() {
97
+ await this.#archive.finalize();
98
+ await new Promise((resolve, reject) => {
99
+ this.#archiveFileWriteStream.on('close', resolve);
100
+ this.#archiveFileWriteStream.on('error', reject);
101
+ });
102
+ return await FinalizedBundleArchive.create({
103
+ archiveFile: this.#archiveFile,
104
+ });
105
+ }
106
+ async destroy() {
107
+ debug(`Destroying root ${this.#tempDir}`);
108
+ await promises_1.default.rm(this.#tempDir, {
109
+ recursive: true,
110
+ force: true,
111
+ });
112
+ }
113
+ }
114
+ exports.BundleArchive = BundleArchive;
115
+ class FinalizedBundleArchive {
116
+ #archiveFile;
117
+ constructor(options) {
118
+ const { archiveFile, } = options;
119
+ this.#archiveFile = archiveFile;
120
+ }
121
+ // eslint-disable-next-line require-await
122
+ static async create(options) {
123
+ return new FinalizedBundleArchive(options);
124
+ }
125
+ get archiveFile() {
126
+ return this.#archiveFile;
127
+ }
128
+ async store() {
129
+ const { data: { key, }, } = await this.#uploadCodeBundle(this.#archiveFile);
130
+ return await RemoteBundleArchive.create({
131
+ key,
132
+ });
133
+ }
134
+ async #uploadCodeBundle(filePath) {
135
+ const { size } = await promises_1.default.stat(filePath);
136
+ const stream = (0, node_fs_1.createReadStream)(filePath);
137
+ stream.on('error', err => {
138
+ throw new Error(`Failed to read Playwright project file: ${err.message}`);
139
+ });
140
+ return api_1.checklyStorage.uploadCodeBundle(stream, size);
141
+ }
142
+ }
143
+ exports.FinalizedBundleArchive = FinalizedBundleArchive;
144
+ class RemoteBundleArchive {
145
+ #key;
146
+ constructor(options) {
147
+ const { key, } = options;
148
+ this.#key = key;
149
+ }
150
+ // eslint-disable-next-line require-await
151
+ static async create(options) {
152
+ return new RemoteBundleArchive(options);
153
+ }
154
+ get key() {
155
+ return this.#key;
156
+ }
157
+ }
158
+ exports.RemoteBundleArchive = RemoteBundleArchive;
159
+ class Bundler {
160
+ #id;
161
+ #marker;
162
+ #cacheHash;
163
+ #tempDir;
164
+ #stripPrefix;
165
+ #files = new Map();
166
+ constructor(options) {
167
+ const { tempDir, cacheHash, stripPrefix, } = options;
168
+ this.#id = uuid.v4();
169
+ this.#marker = new BundlePathMarker(`bundle:${this.#id}`);
170
+ this.#cacheHash = cacheHash;
171
+ this.#stripPrefix = stripPrefix;
172
+ this.#tempDir = tempDir;
173
+ }
174
+ // eslint-disable-next-line require-await
175
+ static async create(options) {
176
+ debug(`Creating bundler`);
177
+ return new Bundler(options);
178
+ }
179
+ static async createForWorkspace(workspace, options = {}) {
180
+ debug(`Creating bundler for workspace`);
181
+ const { tempDir, } = options;
182
+ const cacheHashFile = workspace.lockfile.isOk()
183
+ ? workspace.lockfile.ok()
184
+ : workspace.root.packageJsonPath;
185
+ const cacheHash = await getCacheHash(cacheHashFile);
186
+ return new Bundler({
187
+ tempDir,
188
+ cacheHash,
189
+ stripPrefix: workspace?.root.path,
190
+ });
191
+ }
192
+ get marker() {
193
+ return this.#marker;
194
+ }
195
+ updateMarker(newValue) {
196
+ this.#marker.updateValue(newValue);
197
+ }
198
+ get cacheHash() {
199
+ return this.#cacheHash;
200
+ }
201
+ registerFiles(...files) {
202
+ for (const newFile of files) {
203
+ const existingFile = this.#files.get(newFile.filePath);
204
+ if (existingFile) {
205
+ // Prefer physical files.
206
+ if (existingFile.physical && !newFile.physical) {
207
+ continue;
208
+ }
209
+ }
210
+ this.#files.set(newFile.filePath, newFile);
211
+ }
212
+ }
213
+ async finalize() {
214
+ const archive = await BundleArchive.create({
215
+ tempDir: this.#tempDir,
216
+ stripPrefix: this.#stripPrefix,
217
+ });
218
+ const files = Array.from(this.#files.values());
219
+ files.sort((a, b) => {
220
+ return a.filePath.localeCompare(b.filePath);
221
+ });
222
+ await archive.add(...files);
223
+ return await archive.finalize();
224
+ }
225
+ }
226
+ exports.Bundler = Bundler;
227
+ async function createArchiver() {
228
+ // Dynamic import for CommonJs so it doesn't break when using checkly/playwright-reporter archiver
229
+ // The custom Checkly fork of archiver exports TarArchive class instead of a default function
230
+ const archiverModule = await import('archiver');
231
+ if (archiverModule.TarArchive) {
232
+ // Using Checkly's custom fork which exports TarArchive class
233
+ return new archiverModule.TarArchive({ gzip: true, gzipOptions: { level: 9 } });
234
+ }
235
+ else if (archiverModule.default) {
236
+ // Using standard archiver which has a default factory function
237
+ return archiverModule.default('tar', { gzip: true, gzipOptions: { level: 9 } });
238
+ }
239
+ else {
240
+ throw new Error('Unable to initialize archiver: neither TarArchive nor default export found');
241
+ }
242
+ }
243
+ async function getCacheHash(lockFile) {
244
+ const fileBuffer = await promises_1.default.readFile(lockFile);
245
+ const hash = (0, node_crypto_1.createHash)('sha256');
246
+ hash.update(fileBuffer);
247
+ return hash.digest('hex');
248
+ }
249
+ exports.getCacheHash = getCacheHash;
250
+ class BundlePathMarker {
251
+ #value;
252
+ constructor(initialValue) {
253
+ this.#value = initialValue;
254
+ }
255
+ updateValue(newValue) {
256
+ this.#value = newValue;
257
+ }
258
+ toJSON() {
259
+ return this.#value;
260
+ }
261
+ }
262
+ exports.BundlePathMarker = BundlePathMarker;
263
+ //# sourceMappingURL=bundler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/services/check-parser/bundler.ts"],"names":[],"mappings":"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"}
@@ -44,9 +44,6 @@ export declare class Parser {
44
44
  private parseFile;
45
45
  private parseFileContent;
46
46
  private resolveDependencies;
47
- private collectFiles;
48
- private getFilesFromPaths;
49
- createFileMatcher(patterns: (string | RegExp)[]): (filePath: string) => boolean;
50
47
  parse(entrypoint: string): Promise<{
51
48
  entrypoint: {
52
49
  filePath: string;
@@ -29,10 +29,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.Parser = void 0;
30
30
  const promises_1 = __importDefault(require("node:fs/promises"));
31
31
  const node_path_1 = __importDefault(require("node:path"));
32
- const node_url_1 = __importDefault(require("node:url"));
33
32
  const acorn = __importStar(require("acorn"));
34
33
  const walk = __importStar(require("acorn-walk"));
35
- const minimatch_1 = require("minimatch");
36
34
  const debug_1 = __importDefault(require("debug"));
37
35
  const collector_1 = require("./collector");
38
36
  const errors_1 = require("./errors");
@@ -40,6 +38,7 @@ const resolver_1 = require("./package-files/resolver");
40
38
  const util_1 = require("../util");
41
39
  const extension_1 = require("./package-files/extension");
42
40
  const faux_package_1 = require("./faux-package");
41
+ const playwright_config_expander_1 = require("./playwright-config-expander");
43
42
  const debug = (0, debug_1.default)('checkly:cli:services:check-parser:parser');
44
43
  // Our custom configuration to handle walking errors
45
44
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -134,6 +133,7 @@ class Parser {
134
133
  restricted;
135
134
  #parseCache = new Map();
136
135
  #resolveCache = new Map();
136
+ #configExpander = new playwright_config_expander_1.PlaywrightConfigExpander();
137
137
  // TODO: pass a npm matrix of supported npm modules
138
138
  // Maybe pass a cache so we don't have to fetch files separately all the time
139
139
  constructor(options) {
@@ -192,7 +192,7 @@ class Parser {
192
192
  return 0;
193
193
  }
194
194
  async getFilesAndDependencies(playwrightConfig) {
195
- const files = new Set(await this.getFilesFromPaths(playwrightConfig));
195
+ const files = new Set(await this.#configExpander.findTestFiles(playwrightConfig));
196
196
  files.add(playwrightConfig.configFilePath);
197
197
  const errors = new Set();
198
198
  const missingFiles = new Set();
@@ -279,79 +279,6 @@ class Parser {
279
279
  }
280
280
  return cache;
281
281
  }
282
- async collectFiles(cache, testDir, ignoredFiles) {
283
- let files = cache.get(testDir);
284
- if (!files) {
285
- files = await (0, util_1.findFilesWithPattern)(testDir, '**/*.{js,ts,mjs}', ignoredFiles);
286
- cache.set(testDir, files);
287
- }
288
- return files;
289
- }
290
- async getFilesFromPaths(playwrightConfig) {
291
- const ignoredFiles = ['**/node_modules/**', '.git/**'];
292
- const cachedFiles = new Map();
293
- // If projects is definited, ignore root settings
294
- const projects = playwrightConfig.projects ?? [playwrightConfig];
295
- for (const project of projects) {
296
- // Cache the files by test dir
297
- const files = await this.collectFiles(cachedFiles, project.testDir, ignoredFiles);
298
- const matcher = this.createFileMatcher(Array.from(project.testMatch));
299
- for (const file of files) {
300
- if (!matcher(file)) {
301
- continue;
302
- }
303
- project.addFiles(file);
304
- const snapshotGlobs = project.getSnapshotPath(file).map(snapshotPath => (0, util_1.pathToPosix)(snapshotPath));
305
- const snapshots = await (0, util_1.findFilesWithPattern)(project.testDir, snapshotGlobs, ignoredFiles);
306
- if (snapshots.length) {
307
- project.addFiles(...snapshots);
308
- }
309
- }
310
- }
311
- return playwrightConfig.getFiles();
312
- }
313
- createFileMatcher(patterns) {
314
- const reList = [];
315
- const filePatterns = [];
316
- for (const pattern of patterns) {
317
- if (pattern instanceof RegExp) {
318
- reList.push(pattern);
319
- }
320
- else {
321
- if (!pattern.startsWith('**/')) {
322
- filePatterns.push('**/' + pattern);
323
- }
324
- else {
325
- filePatterns.push(pattern);
326
- }
327
- }
328
- }
329
- return (filePath) => {
330
- for (const re of reList) {
331
- re.lastIndex = 0;
332
- if (re.test(filePath)) {
333
- return true;
334
- }
335
- }
336
- // Windows might still receive unix style paths from Cygwin or Git Bash.
337
- // Check against the file url as well.
338
- if (node_path_1.default.sep === '\\') {
339
- const fileURL = node_url_1.default.pathToFileURL(filePath).href;
340
- for (const re of reList) {
341
- re.lastIndex = 0;
342
- if (re.test(fileURL)) {
343
- return true;
344
- }
345
- }
346
- }
347
- for (const pattern of filePatterns) {
348
- if ((0, minimatch_1.minimatch)(filePath, pattern, { nocase: true, dot: true })) {
349
- return true;
350
- }
351
- }
352
- return false;
353
- };
354
- }
355
282
  async parse(entrypoint) {
356
283
  this.validateEntrypoint(entrypoint);
357
284
  const { content } = await this.readFile(entrypoint);
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/services/check-parser/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/services/check-parser/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { PlaywrightConfig } from '../playwright-config';
2
+ export declare class PlaywrightConfigExpander {
3
+ #private;
4
+ private collectFiles;
5
+ findTestFiles(playwrightConfig: PlaywrightConfig): Promise<string[]>;
6
+ private createFileMatcher;
7
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.PlaywrightConfigExpander = void 0;
30
+ const path = __importStar(require("node:path"));
31
+ const node_url_1 = __importDefault(require("node:url"));
32
+ const minimatch_1 = require("minimatch");
33
+ const util_1 = require("../util");
34
+ class PlaywrightConfigExpander {
35
+ #cache = new Map();
36
+ async collectFiles(cache, testDir, ignoredFiles) {
37
+ let files = cache.get(testDir);
38
+ if (!files) {
39
+ files = await (0, util_1.findFilesWithPattern)(testDir, '**/*.{js,ts,mjs}', ignoredFiles);
40
+ cache.set(testDir, files);
41
+ }
42
+ return files;
43
+ }
44
+ async #findTestFiles(playwrightConfig) {
45
+ const ignoredFiles = ['**/node_modules/**', '.git/**'];
46
+ const cachedFiles = new Map();
47
+ // If projects is definited, ignore root settings
48
+ const projects = playwrightConfig.projects ?? [playwrightConfig];
49
+ const found = new Set();
50
+ for (const project of projects) {
51
+ project.files.forEach(file => found.add(file));
52
+ // Cache the files by test dir
53
+ const files = await this.collectFiles(cachedFiles, project.testDir, ignoredFiles);
54
+ const matcher = this.createFileMatcher(Array.from(project.testMatch));
55
+ for (const file of files) {
56
+ if (!matcher(file)) {
57
+ continue;
58
+ }
59
+ found.add(file);
60
+ const snapshotGlobs = project.getSnapshotPath(file).map(snapshotPath => (0, util_1.pathToPosix)(snapshotPath));
61
+ const snapshots = await (0, util_1.findFilesWithPattern)(project.testDir, snapshotGlobs, ignoredFiles);
62
+ if (snapshots.length) {
63
+ snapshots.forEach(file => found.add(file));
64
+ }
65
+ }
66
+ }
67
+ return Array.from(found);
68
+ }
69
+ async findTestFiles(playwrightConfig) {
70
+ const cacheKey = playwrightConfig.configFilePath;
71
+ let result = this.#cache.get(cacheKey);
72
+ if (!result) {
73
+ result = await this.#findTestFiles(playwrightConfig);
74
+ this.#cache.set(cacheKey, result);
75
+ }
76
+ return result;
77
+ }
78
+ createFileMatcher(patterns) {
79
+ const reList = [];
80
+ const filePatterns = [];
81
+ for (const pattern of patterns) {
82
+ if (pattern instanceof RegExp) {
83
+ reList.push(pattern);
84
+ }
85
+ else {
86
+ if (!pattern.startsWith('**/')) {
87
+ filePatterns.push('**/' + pattern);
88
+ }
89
+ else {
90
+ filePatterns.push(pattern);
91
+ }
92
+ }
93
+ }
94
+ return (filePath) => {
95
+ for (const re of reList) {
96
+ re.lastIndex = 0;
97
+ if (re.test(filePath)) {
98
+ return true;
99
+ }
100
+ }
101
+ // Windows might still receive unix style paths from Cygwin or Git Bash.
102
+ // Check against the file url as well.
103
+ if (path.sep === '\\') {
104
+ const fileURL = node_url_1.default.pathToFileURL(filePath).href;
105
+ for (const re of reList) {
106
+ re.lastIndex = 0;
107
+ if (re.test(fileURL)) {
108
+ return true;
109
+ }
110
+ }
111
+ }
112
+ for (const pattern of filePatterns) {
113
+ if ((0, minimatch_1.minimatch)(filePath, pattern, { nocase: true, dot: true })) {
114
+ return true;
115
+ }
116
+ }
117
+ return false;
118
+ };
119
+ }
120
+ }
121
+ exports.PlaywrightConfigExpander = PlaywrightConfigExpander;
122
+ //# sourceMappingURL=playwright-config-expander.js.map