checkly 8.5.0-prerelease-563ab33 → 8.6.0-prerelease-e89e39a

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 (92) hide show
  1. package/dist/ai-context/skills-command/references/investigate-test-sessions.md +11 -8
  2. package/dist/commands/debug/parse-playwright-config.js +1 -1
  3. package/dist/commands/debug/parse-project.d.ts +1 -0
  4. package/dist/commands/debug/parse-project.js +62 -2
  5. package/dist/commands/debug/parse-project.js.map +1 -1
  6. package/dist/commands/import/plan.js +1 -1
  7. package/dist/commands/import/plan.js.map +1 -1
  8. package/dist/commands/pw-test.js +5 -2
  9. package/dist/commands/pw-test.js.map +1 -1
  10. package/dist/commands/test.js +5 -2
  11. package/dist/commands/test.js.map +1 -1
  12. package/dist/commands/trigger.js +5 -1
  13. package/dist/commands/trigger.js.map +1 -1
  14. package/dist/constants.d.ts +1 -0
  15. package/dist/constants.js +10 -0
  16. package/dist/constants.js.map +1 -1
  17. package/dist/constructs/agentic-check.js +1 -1
  18. package/dist/constructs/alert-channel-subscription.js +1 -1
  19. package/dist/constructs/alert-channel.js +1 -1
  20. package/dist/constructs/api-check-bundle.d.ts +1 -1
  21. package/dist/constructs/api-check.js +1 -1
  22. package/dist/constructs/browser-check-bundle.d.ts +1 -1
  23. package/dist/constructs/browser-check.js +1 -1
  24. package/dist/constructs/check-group-ref.js +1 -1
  25. package/dist/constructs/check-group-v1.js +1 -1
  26. package/dist/constructs/check.js +10 -3
  27. package/dist/constructs/check.js.map +1 -1
  28. package/dist/constructs/construct.js +1 -1
  29. package/dist/constructs/dashboard.js +1 -1
  30. package/dist/constructs/dns-monitor.js +1 -1
  31. package/dist/constructs/email-alert-channel.js +1 -1
  32. package/dist/constructs/heartbeat-monitor.js +1 -1
  33. package/dist/constructs/icmp-monitor.js +1 -1
  34. package/dist/constructs/index.d.ts +1 -0
  35. package/dist/constructs/index.js +1 -0
  36. package/dist/constructs/index.js.map +1 -1
  37. package/dist/constructs/internal/codegen/context.d.ts +1 -1
  38. package/dist/constructs/maintenance-window.js +1 -1
  39. package/dist/constructs/multi-step-check-bundle.d.ts +1 -1
  40. package/dist/constructs/multi-step-check.js +1 -1
  41. package/dist/constructs/opsgenie-alert-channel.js +1 -1
  42. package/dist/constructs/pagerduty-alert-channel.js +1 -1
  43. package/dist/constructs/phone-call-alert-channel.js +1 -1
  44. package/dist/constructs/playwright-check.js +2 -3
  45. package/dist/constructs/playwright-check.js.map +1 -1
  46. package/dist/constructs/private-location-check-assignment.js +1 -1
  47. package/dist/constructs/private-location-group-assignment.js +1 -1
  48. package/dist/constructs/private-location.js +1 -1
  49. package/dist/constructs/project-bundle.d.ts +1 -1
  50. package/dist/constructs/project.d.ts +1 -62
  51. package/dist/constructs/project.js +19 -198
  52. package/dist/constructs/project.js.map +1 -1
  53. package/dist/constructs/session.d.ts +67 -0
  54. package/dist/constructs/session.js +197 -0
  55. package/dist/constructs/session.js.map +1 -0
  56. package/dist/constructs/slack-alert-channel.js +1 -1
  57. package/dist/constructs/slack-app-alert-channel.js +1 -1
  58. package/dist/constructs/sms-alert-channel.js +1 -1
  59. package/dist/constructs/status-page-service.js +1 -1
  60. package/dist/constructs/status-page.js +1 -1
  61. package/dist/constructs/tcp-monitor.js +1 -1
  62. package/dist/constructs/url-monitor.js +1 -1
  63. package/dist/constructs/webhook-alert-channel.js +1 -1
  64. package/dist/helpers/onboarding/boilerplate.js +1 -3
  65. package/dist/helpers/onboarding/boilerplate.js.map +1 -1
  66. package/dist/helpers/test-helper.d.ts +1 -0
  67. package/dist/helpers/test-helper.js +9 -0
  68. package/dist/helpers/test-helper.js.map +1 -1
  69. package/dist/playwright/playwright-config-loader.js +1 -1
  70. package/dist/reporters/abstract-list.d.ts +3 -0
  71. package/dist/reporters/abstract-list.js +33 -1
  72. package/dist/reporters/abstract-list.js.map +1 -1
  73. package/dist/services/abstract-check-runner.js +10 -6
  74. package/dist/services/abstract-check-runner.js.map +1 -1
  75. package/dist/services/check-parser/package-files/loader.d.ts +1 -1
  76. package/dist/services/check-parser/package-files/loader.js +13 -5
  77. package/dist/services/check-parser/package-files/loader.js.map +1 -1
  78. package/dist/services/check-parser/package-files/package-manager.d.ts +45 -7
  79. package/dist/services/check-parser/package-files/package-manager.js +137 -64
  80. package/dist/services/check-parser/package-files/package-manager.js.map +1 -1
  81. package/dist/services/check-parser/parser.js +29 -17
  82. package/dist/services/check-parser/parser.js.map +1 -1
  83. package/dist/services/check-parser/playwright-config-expander.js +9 -5
  84. package/dist/services/check-parser/playwright-config-expander.js.map +1 -1
  85. package/dist/services/playwright-project-bundler.d.ts +17 -0
  86. package/dist/services/playwright-project-bundler.js +127 -0
  87. package/dist/services/playwright-project-bundler.js.map +1 -0
  88. package/dist/services/util.d.ts +0 -12
  89. package/dist/services/util.js +0 -102
  90. package/dist/services/util.js.map +1 -1
  91. package/oclif.manifest.json +410 -404
  92. package/package.json +4 -4
@@ -0,0 +1,127 @@
1
+ import { createRequire } from 'node:module';
2
+ import path from 'node:path';
3
+ import semver from 'semver';
4
+ import { detectNearestPackageJson } from './check-parser/package-files/package-manager.js';
5
+ import { PlaywrightConfig } from './playwright-config.js';
6
+ import { findFilesWithPattern, pathToPosix } from './util.js';
7
+ import { Session } from '../constructs/session.js';
8
+ export class PlaywrightProjectBundler {
9
+ // Cache the in-flight bundle promise keyed by (config, include). Many checks
10
+ // are generated from one shared Playwright codebase, so they call bundle()
11
+ // with identical arguments; without this each call would re-load the config
12
+ // module, re-resolve the Playwright version, and re-glob the project
13
+ // directory. Caching the promise (not the resolved value) also collapses
14
+ // concurrent callers onto a single computation. The NUL separator keeps the
15
+ // config path and the serialized include patterns from colliding.
16
+ #cache = new Map();
17
+ async bundle(playwrightConfig, include) {
18
+ const cacheKey = `${playwrightConfig}\0${JSON.stringify(include)}`;
19
+ const cached = this.#cache.get(cacheKey);
20
+ if (cached !== undefined) {
21
+ return await cached;
22
+ }
23
+ const promise = this.bundleProject(playwrightConfig, include);
24
+ this.#cache.set(cacheKey, promise);
25
+ return await promise;
26
+ }
27
+ // The actual bundling, separated from the cache wrapper above so it can be
28
+ // overridden in tests. Not part of the public surface.
29
+ async bundleProject(playwrightConfig, include) {
30
+ const dir = path.resolve(path.dirname(playwrightConfig));
31
+ const filePath = path.resolve(dir, playwrightConfig);
32
+ // No need of loading everything if there is no lockfile
33
+ const pwtConfig = await Session.loadFile(filePath);
34
+ const pwConfigParsed = new PlaywrightConfig(filePath, pwtConfig);
35
+ const playwrightVersion = await getPlaywrightVersionFromPackage(dir);
36
+ const parser = Session.getPlaywrightParser();
37
+ const { files, errors } = await parser.getFilesAndDependencies(pwConfigParsed);
38
+ if (errors.length) {
39
+ throw new Error(`Error loading playwright project files: ${errors.map((e) => e).join(', ')}`);
40
+ }
41
+ function includeTargets(dirName) {
42
+ return include.some(value => {
43
+ return value.startsWith(`${dirName}/`) || value.includes(`/${dirName}/`);
44
+ });
45
+ }
46
+ const defaultIgnores = [
47
+ {
48
+ pattern: '**/node_modules/**',
49
+ skipIf: () => includeTargets('node_modules'),
50
+ },
51
+ {
52
+ pattern: '**/.git/**',
53
+ skipIf: () => includeTargets('.git'),
54
+ },
55
+ ];
56
+ const ignoredFiles = [...Session.ignoreDirectoriesMatch];
57
+ for (const ignore of defaultIgnores) {
58
+ if (!ignore.skipIf()) {
59
+ ignoredFiles.push(ignore.pattern);
60
+ }
61
+ }
62
+ const autoIncludes = getAutoIncludes(Session.basePath, dir, Session.packageManager, include);
63
+ const effectiveIncludes = [...include, ...autoIncludes];
64
+ const includedFiles = await findFilesWithPattern(dir, effectiveIncludes, ignoredFiles);
65
+ for (const filePath of includedFiles) {
66
+ files.push({
67
+ filePath,
68
+ physical: true,
69
+ });
70
+ }
71
+ return {
72
+ browsers: pwConfigParsed.getBrowsers(),
73
+ playwrightVersion,
74
+ relativePlaywrightConfigPath: Session.contextRelativePosixPath(filePath),
75
+ workingDir: Session.relativePosixPath(Session.contextPath),
76
+ files,
77
+ };
78
+ }
79
+ }
80
+ export function normalizeVersion(v) {
81
+ const cleaned = semver.valid(semver.clean(v ?? '') || '')
82
+ ?? semver.coerce(v ?? '')?.version;
83
+ return cleaned && semver.valid(cleaned) ? cleaned : undefined;
84
+ }
85
+ export function getAutoIncludes(basePath, globCwd, packageManager, existingIncludes) {
86
+ const autoIncludes = [];
87
+ if (packageManager.name === 'pnpm') {
88
+ const patchesDir = path.join(basePath, 'patches');
89
+ const alreadyIncluded = existingIncludes.some(p => path.resolve(globCwd, p).startsWith(patchesDir));
90
+ if (!alreadyIncluded) {
91
+ const patchesPattern = pathToPosix(path.join(path.relative(globCwd, basePath), 'patches', '*.patch'));
92
+ autoIncludes.push(patchesPattern);
93
+ }
94
+ }
95
+ return autoIncludes;
96
+ }
97
+ export async function getPlaywrightVersionFromPackage(cwd) {
98
+ try {
99
+ const require = createRequire(path.join(cwd, 'noop.js'));
100
+ const playwrightPath = require.resolve('@playwright/test/package.json');
101
+ const playwrightPkg = require(playwrightPath);
102
+ const version = normalizeVersion(playwrightPkg.version);
103
+ if (!version) {
104
+ throw new Error('Invalid version found in @playwright/test package.json');
105
+ }
106
+ const packageJson = await detectNearestPackageJson(cwd);
107
+ const range = packageJson.dependencies?.['@playwright/test']
108
+ ?? packageJson.devDependencies?.['@playwright/test'];
109
+ if (!range) {
110
+ return version;
111
+ }
112
+ const validRange = semver.validRange(range);
113
+ if (validRange && !semver.satisfies(version, validRange)) {
114
+ throw new Error(`Installed @playwright/test version ${version} does not satisfy the required range "${range}" in package.json. `
115
+ + 'Please run your package manager\'s install command to sync node_modules.');
116
+ }
117
+ return version;
118
+ }
119
+ catch (error) {
120
+ // @ts-ignore
121
+ if (error instanceof Error && error.code === 'MODULE_NOT_FOUND') {
122
+ throw new Error('Could not find @playwright/test package. Make sure it is installed.', { cause: error });
123
+ }
124
+ throw error;
125
+ }
126
+ }
127
+ //# sourceMappingURL=playwright-project-bundler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-project-bundler.js","sourceRoot":"","sources":["../../src/services/playwright-project-bundler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  import { ChecklyConfig, PlaywrightSlimmedProp } from './checkly-config-loader.js';
2
- import { File } from './check-parser/parser.js';
3
- import { PackageManager } from './check-parser/package-files/package-manager.js';
4
2
  export interface GitInformation {
5
3
  commitId: string;
6
4
  repoUrl?: string | null;
@@ -29,16 +27,6 @@ export declare function getGitInformation(repoUrl?: string): GitInformation | nu
29
27
  export declare function getCiInformation(): CiInformation;
30
28
  export declare function escapeValue(value: string | undefined): string;
31
29
  export declare function getEnvs(envFile: string | undefined, envArgs: Array<string>): Promise<import("dotenv").DotenvParseOutput>;
32
- export declare function normalizeVersion(v?: string | undefined): string | undefined;
33
- export declare function getAutoIncludes(basePath: string, globCwd: string, packageManager: PackageManager, existingIncludes: string[]): string[];
34
- export declare function bundlePlayWrightProject(playwrightConfig: string, include: string[]): Promise<{
35
- browsers: string[];
36
- relativePlaywrightConfigPath: string;
37
- playwrightVersion: string;
38
- workingDir?: string;
39
- files: File[];
40
- }>;
41
- export declare function getPlaywrightVersionFromPackage(cwd: string): Promise<string>;
42
30
  export declare function findFilesWithPattern(directory: string, pattern: string | string[], ignorePattern: string[]): Promise<string[]>;
43
31
  export declare function getDefaultChecklyConfig(directoryName: string, playwrightConfigPath: string, playwrightCheck?: PlaywrightSlimmedProp | null): ChecklyConfig;
44
32
  export declare function writeChecklyConfigFile(dir: string, config: ChecklyConfig): Promise<void>;
@@ -1,16 +1,11 @@
1
1
  import * as path from 'path';
2
2
  import * as fs from 'fs/promises';
3
3
  import * as fsSync from 'fs';
4
- import { createRequire } from 'node:module';
5
4
  import gitRepoInfo from 'git-repo-info';
6
5
  import { parse } from 'dotenv';
7
6
  import { glob } from 'glob';
8
7
  import JSON5 from 'json5';
9
- import { PlaywrightConfig } from './playwright-config.js';
10
- import { Session } from '../constructs/project.js';
11
- import semver from 'semver';
12
8
  import { existsSync } from 'fs';
13
- import { detectNearestPackageJson } from './check-parser/package-files/package-manager.js';
14
9
  export function findFilesRecursively(directory, ignoredPaths = []) {
15
10
  if (!fsSync.statSync(directory, { throwIfNoEntry: false })?.isDirectory()) {
16
11
  return [];
@@ -113,103 +108,6 @@ export async function getEnvs(envFile, envArgs) {
113
108
  const envsString = `${envArgs.join('\n')}`;
114
109
  return parse(envsString);
115
110
  }
116
- export function normalizeVersion(v) {
117
- const cleaned = semver.valid(semver.clean(v ?? '') || '')
118
- ?? semver.coerce(v ?? '')?.version;
119
- return cleaned && semver.valid(cleaned) ? cleaned : undefined;
120
- }
121
- export function getAutoIncludes(basePath, globCwd, packageManager, existingIncludes) {
122
- const autoIncludes = [];
123
- if (packageManager.name === 'pnpm') {
124
- const patchesDir = path.join(basePath, 'patches');
125
- const alreadyIncluded = existingIncludes.some(p => path.resolve(globCwd, p).startsWith(patchesDir));
126
- if (!alreadyIncluded) {
127
- const patchesPattern = pathToPosix(path.join(path.relative(globCwd, basePath), 'patches', '*.patch'));
128
- autoIncludes.push(patchesPattern);
129
- }
130
- }
131
- return autoIncludes;
132
- }
133
- export async function bundlePlayWrightProject(playwrightConfig, include) {
134
- const dir = path.resolve(path.dirname(playwrightConfig));
135
- const filePath = path.resolve(dir, playwrightConfig);
136
- // No need of loading everything if there is no lockfile
137
- const pwtConfig = await Session.loadFile(filePath);
138
- const pwConfigParsed = new PlaywrightConfig(filePath, pwtConfig);
139
- const playwrightVersion = await getPlaywrightVersionFromPackage(dir);
140
- const parser = Session.getPlaywrightParser();
141
- const { files, errors } = await parser.getFilesAndDependencies(pwConfigParsed);
142
- if (errors.length) {
143
- throw new Error(`Error loading playwright project files: ${errors.map((e) => e).join(', ')}`);
144
- }
145
- function includeTargets(dirName) {
146
- return include.some(value => {
147
- return value.startsWith(`${dirName}/`) || value.includes(`/${dirName}/`);
148
- });
149
- }
150
- const defaultIgnores = [
151
- {
152
- pattern: '**/node_modules/**',
153
- skipIf: () => includeTargets('node_modules'),
154
- },
155
- {
156
- pattern: '**/.git/**',
157
- skipIf: () => includeTargets('.git'),
158
- },
159
- ];
160
- const ignoredFiles = [...Session.ignoreDirectoriesMatch];
161
- for (const ignore of defaultIgnores) {
162
- if (!ignore.skipIf()) {
163
- ignoredFiles.push(ignore.pattern);
164
- }
165
- }
166
- const autoIncludes = getAutoIncludes(Session.basePath, dir, Session.packageManager, include);
167
- const effectiveIncludes = [...include, ...autoIncludes];
168
- const includedFiles = await findFilesWithPattern(dir, effectiveIncludes, ignoredFiles);
169
- for (const filePath of includedFiles) {
170
- files.push({
171
- filePath,
172
- physical: true,
173
- });
174
- }
175
- return {
176
- browsers: pwConfigParsed.getBrowsers(),
177
- playwrightVersion,
178
- relativePlaywrightConfigPath: Session.contextRelativePosixPath(filePath),
179
- workingDir: Session.relativePosixPath(Session.contextPath),
180
- files,
181
- };
182
- }
183
- export async function getPlaywrightVersionFromPackage(cwd) {
184
- try {
185
- const require = createRequire(path.join(cwd, 'noop.js'));
186
- const playwrightPath = require.resolve('@playwright/test/package.json');
187
- const playwrightPkg = require(playwrightPath);
188
- const version = normalizeVersion(playwrightPkg.version);
189
- if (!version) {
190
- throw new Error('Invalid version found in @playwright/test package.json');
191
- }
192
- const packageJson = await detectNearestPackageJson(cwd);
193
- const range = packageJson.dependencies?.['@playwright/test']
194
- ?? packageJson.devDependencies?.['@playwright/test'];
195
- if (!range) {
196
- return version;
197
- }
198
- const validRange = semver.validRange(range);
199
- if (validRange && !semver.satisfies(version, validRange)) {
200
- throw new Error(`Installed @playwright/test version ${version} does not satisfy the required range "${range}" in package.json. `
201
- + 'Please run your package manager\'s install command to sync node_modules.');
202
- }
203
- return version;
204
- }
205
- catch (error) {
206
- // @ts-ignore
207
- if (error instanceof Error && error.code === 'MODULE_NOT_FOUND') {
208
- throw new Error('Could not find @playwright/test package. Make sure it is installed.', { cause: error });
209
- }
210
- throw error;
211
- }
212
- }
213
111
  export async function findFilesWithPattern(directory, pattern, ignorePattern) {
214
112
  // Not using pathToPosix here because it strips the drive letter (e.g. C:) that glob
215
113
  // needs to resolve absolute patterns on Windows.
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/services/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/services/util.ts"],"names":[],"mappings":"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"}