checkly 6.0.1 → 6.1.0-prerelease-d4c1886

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 (176) hide show
  1. package/dist/commands/import/plan.d.ts +1 -0
  2. package/dist/commands/import/plan.js +92 -43
  3. package/dist/commands/import/plan.js.map +1 -1
  4. package/dist/commands/pw-test.d.ts +27 -0
  5. package/dist/commands/pw-test.js +316 -0
  6. package/dist/commands/pw-test.js.map +1 -0
  7. package/dist/commands/rules.d.ts +9 -0
  8. package/dist/commands/rules.js +126 -0
  9. package/dist/commands/rules.js.map +1 -0
  10. package/dist/commands/sync-playwright.d.ts +0 -3
  11. package/dist/commands/sync-playwright.js +5 -29
  12. package/dist/commands/sync-playwright.js.map +1 -1
  13. package/dist/commands/test.d.ts +0 -12
  14. package/dist/commands/test.js +15 -62
  15. package/dist/commands/test.js.map +1 -1
  16. package/dist/commands/trigger.js +2 -2
  17. package/dist/commands/trigger.js.map +1 -1
  18. package/dist/constructs/alert-channel.d.ts +67 -12
  19. package/dist/constructs/alert-channel.js +30 -3
  20. package/dist/constructs/alert-channel.js.map +1 -1
  21. package/dist/constructs/alert-escalation-policy.d.ts +80 -0
  22. package/dist/constructs/alert-escalation-policy.js +20 -0
  23. package/dist/constructs/alert-escalation-policy.js.map +1 -1
  24. package/dist/constructs/api-assertion-codegen.d.ts +3 -0
  25. package/dist/constructs/api-assertion-codegen.js +23 -0
  26. package/dist/constructs/api-assertion-codegen.js.map +1 -0
  27. package/dist/constructs/api-assertion.d.ts +74 -0
  28. package/dist/constructs/api-assertion.js +85 -0
  29. package/dist/constructs/api-assertion.js.map +1 -0
  30. package/dist/constructs/api-check-bundle.d.ts +4 -4
  31. package/dist/constructs/api-check-codegen.d.ts +3 -5
  32. package/dist/constructs/api-check-codegen.js +4 -80
  33. package/dist/constructs/api-check-codegen.js.map +1 -1
  34. package/dist/constructs/api-check.d.ts +147 -46
  35. package/dist/constructs/api-check.js +114 -28
  36. package/dist/constructs/api-check.js.map +1 -1
  37. package/dist/constructs/api-request-codegen.d.ts +4 -0
  38. package/dist/constructs/api-request-codegen.js +68 -0
  39. package/dist/constructs/api-request-codegen.js.map +1 -0
  40. package/dist/constructs/api-request.d.ts +67 -0
  41. package/dist/constructs/api-request.js +3 -0
  42. package/dist/constructs/api-request.js.map +1 -0
  43. package/dist/constructs/browser-check-bundle.d.ts +3 -3
  44. package/dist/constructs/browser-check-codegen.d.ts +2 -2
  45. package/dist/constructs/browser-check-codegen.js +1 -1
  46. package/dist/constructs/browser-check-codegen.js.map +1 -1
  47. package/dist/constructs/browser-check.d.ts +50 -11
  48. package/dist/constructs/browser-check.js +47 -25
  49. package/dist/constructs/browser-check.js.map +1 -1
  50. package/dist/constructs/check-codegen.d.ts +11 -6
  51. package/dist/constructs/check-codegen.js +36 -24
  52. package/dist/constructs/check-codegen.js.map +1 -1
  53. package/dist/constructs/check-config.d.ts +3 -0
  54. package/dist/constructs/check-config.js +21 -0
  55. package/dist/constructs/check-config.js.map +1 -0
  56. package/dist/constructs/check-group-codegen.js +2 -2
  57. package/dist/constructs/check-group-codegen.js.map +1 -1
  58. package/dist/constructs/check-group-v1.js +2 -22
  59. package/dist/constructs/check-group-v1.js.map +1 -1
  60. package/dist/constructs/check-group-v2.js +2 -20
  61. package/dist/constructs/check-group-v2.js.map +1 -1
  62. package/dist/constructs/check.d.ts +190 -30
  63. package/dist/constructs/check.js +94 -48
  64. package/dist/constructs/check.js.map +1 -1
  65. package/dist/constructs/construct.d.ts +86 -0
  66. package/dist/constructs/construct.js +51 -0
  67. package/dist/constructs/construct.js.map +1 -1
  68. package/dist/constructs/dashboard.d.ts +98 -16
  69. package/dist/constructs/dashboard.js.map +1 -1
  70. package/dist/constructs/diagnostics.d.ts +23 -0
  71. package/dist/constructs/diagnostics.js +10 -0
  72. package/dist/constructs/diagnostics.js.map +1 -1
  73. package/dist/constructs/environment-variable.d.ts +19 -0
  74. package/dist/constructs/frequency.d.ts +42 -0
  75. package/dist/constructs/frequency.js +42 -0
  76. package/dist/constructs/frequency.js.map +1 -1
  77. package/dist/constructs/heartbeat-monitor-codegen.d.ts +11 -0
  78. package/dist/constructs/{heartbeat-check-codegen.js → heartbeat-monitor-codegen.js} +10 -10
  79. package/dist/constructs/heartbeat-monitor-codegen.js.map +1 -0
  80. package/dist/constructs/{heartbeat-check.d.ts → heartbeat-monitor.d.ts} +9 -13
  81. package/dist/constructs/{heartbeat-check.js → heartbeat-monitor.js} +10 -13
  82. package/dist/constructs/heartbeat-monitor.js.map +1 -0
  83. package/dist/constructs/http-header.d.ts +16 -0
  84. package/dist/constructs/http-request.d.ts +2 -0
  85. package/dist/constructs/http-request.js +3 -0
  86. package/dist/constructs/http-request.js.map +1 -0
  87. package/dist/constructs/index.d.ts +10 -2
  88. package/dist/constructs/index.js +10 -2
  89. package/dist/constructs/index.js.map +1 -1
  90. package/dist/constructs/internal/common-diagnostics.d.ts +9 -0
  91. package/dist/constructs/internal/common-diagnostics.js +39 -0
  92. package/dist/constructs/internal/common-diagnostics.js.map +1 -0
  93. package/dist/constructs/ip.d.ts +2 -0
  94. package/dist/constructs/ip.js +3 -0
  95. package/dist/constructs/ip.js.map +1 -0
  96. package/dist/constructs/key-value-pair.d.ts +35 -0
  97. package/dist/constructs/monitor-codegen.d.ts +1 -0
  98. package/dist/constructs/monitor-codegen.js +6 -0
  99. package/dist/constructs/monitor-codegen.js.map +1 -0
  100. package/dist/constructs/monitor.d.ts +113 -0
  101. package/dist/constructs/monitor.js +21 -0
  102. package/dist/constructs/monitor.js.map +1 -0
  103. package/dist/constructs/multi-step-check-bundle.d.ts +3 -3
  104. package/dist/constructs/multi-step-check-codegen.d.ts +2 -2
  105. package/dist/constructs/multi-step-check-codegen.js +1 -1
  106. package/dist/constructs/multi-step-check-codegen.js.map +1 -1
  107. package/dist/constructs/multi-step-check.d.ts +8 -8
  108. package/dist/constructs/multi-step-check.js +4 -21
  109. package/dist/constructs/multi-step-check.js.map +1 -1
  110. package/dist/constructs/playwright-check-bundle.d.ts +2 -2
  111. package/dist/constructs/playwright-check.d.ts +6 -6
  112. package/dist/constructs/playwright-check.js +1 -1
  113. package/dist/constructs/playwright-check.js.map +1 -1
  114. package/dist/constructs/project.js +1 -1
  115. package/dist/constructs/project.js.map +1 -1
  116. package/dist/constructs/query-param.d.ts +16 -0
  117. package/dist/constructs/ref.d.ts +44 -0
  118. package/dist/constructs/ref.js +44 -0
  119. package/dist/constructs/ref.js.map +1 -1
  120. package/dist/constructs/retry-strategy.d.ts +78 -8
  121. package/dist/constructs/retry-strategy.js +33 -0
  122. package/dist/constructs/retry-strategy.js.map +1 -1
  123. package/dist/constructs/tcp-monitor-codegen.d.ts +15 -0
  124. package/dist/constructs/{tcp-check-codegen.js → tcp-monitor-codegen.js} +9 -9
  125. package/dist/constructs/tcp-monitor-codegen.js.map +1 -0
  126. package/dist/constructs/{tcp-check.d.ts → tcp-monitor.d.ts} +70 -21
  127. package/dist/constructs/{tcp-check.js → tcp-monitor.js} +34 -13
  128. package/dist/constructs/tcp-monitor.js.map +1 -0
  129. package/dist/constructs/url-assertion-codegen.d.ts +3 -0
  130. package/dist/constructs/url-assertion-codegen.js +15 -0
  131. package/dist/constructs/url-assertion-codegen.js.map +1 -0
  132. package/dist/constructs/url-assertion.d.ts +60 -0
  133. package/dist/constructs/url-assertion.js +56 -0
  134. package/dist/constructs/url-assertion.js.map +1 -0
  135. package/dist/constructs/url-monitor-codegen.d.ts +13 -0
  136. package/dist/constructs/url-monitor-codegen.js +38 -0
  137. package/dist/constructs/url-monitor-codegen.js.map +1 -0
  138. package/dist/constructs/url-monitor.d.ts +146 -0
  139. package/dist/constructs/url-monitor.js +99 -0
  140. package/dist/constructs/url-monitor.js.map +1 -0
  141. package/dist/constructs/url-request-codegen.d.ts +4 -0
  142. package/dist/constructs/url-request-codegen.js +31 -0
  143. package/dist/constructs/url-request-codegen.js.map +1 -0
  144. package/dist/constructs/url-request.d.ts +65 -0
  145. package/dist/constructs/url-request.js +3 -0
  146. package/dist/constructs/url-request.js.map +1 -0
  147. package/dist/constructs/webhook-alert-channel.d.ts +1 -1
  148. package/dist/helpers/constants.d.ts +1 -0
  149. package/dist/helpers/constants.js +5 -0
  150. package/dist/helpers/constants.js.map +1 -0
  151. package/dist/helpers/test-helper.d.ts +16 -0
  152. package/dist/helpers/test-helper.js +72 -0
  153. package/dist/helpers/test-helper.js.map +1 -0
  154. package/dist/helpers/write-config-helpers.d.ts +5 -0
  155. package/dist/helpers/write-config-helpers.js +88 -0
  156. package/dist/helpers/write-config-helpers.js.map +1 -0
  157. package/dist/reporters/util.js +2 -2
  158. package/dist/reporters/util.js.map +1 -1
  159. package/dist/rest/api.js +6 -0
  160. package/dist/rest/api.js.map +1 -1
  161. package/dist/rules/checkly.rules.md +491 -0
  162. package/dist/services/checkly-config-loader.d.ts +3 -3
  163. package/dist/services/checkly-config-loader.js +6 -4
  164. package/dist/services/checkly-config-loader.js.map +1 -1
  165. package/dist/services/util.d.ts +2 -2
  166. package/dist/services/util.js +14 -14
  167. package/dist/services/util.js.map +1 -1
  168. package/dist/tsconfig.tsbuildinfo +1 -1
  169. package/oclif.manifest.json +150 -1
  170. package/package.json +7 -3
  171. package/dist/constructs/heartbeat-check-codegen.d.ts +0 -11
  172. package/dist/constructs/heartbeat-check-codegen.js.map +0 -1
  173. package/dist/constructs/heartbeat-check.js.map +0 -1
  174. package/dist/constructs/tcp-check-codegen.d.ts +0 -15
  175. package/dist/constructs/tcp-check-codegen.js.map +0 -1
  176. package/dist/constructs/tcp-check.js.map +0 -1
@@ -0,0 +1,316 @@
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
+ const authCommand_1 = require("./authCommand");
30
+ const util_1 = require("../services/util");
31
+ const checkly_config_loader_1 = require("../services/checkly-config-loader");
32
+ const test_helper_1 = require("../helpers/test-helper");
33
+ const api = __importStar(require("../rest/api"));
34
+ const config_1 = __importDefault(require("../services/config"));
35
+ const project_parser_1 = require("../services/project-parser");
36
+ const constructs_1 = require("../constructs");
37
+ const core_1 = require("@oclif/core");
38
+ const reporter_1 = require("../reporters/reporter");
39
+ const test_runner_1 = __importDefault(require("../services/test-runner"));
40
+ const abstract_check_runner_1 = require("../services/abstract-check-runner");
41
+ const common_messages_1 = __importDefault(require("../messages/common-messages"));
42
+ const node_path_1 = __importDefault(require("node:path"));
43
+ const recast = __importStar(require("recast"));
44
+ const write_config_helpers_1 = require("../helpers/write-config-helpers");
45
+ const JSON5 = __importStar(require("json5"));
46
+ const package_manager_1 = require("../services/check-parser/package-files/package-manager");
47
+ const constants_1 = require("../helpers/constants");
48
+ const sourcegen_1 = require("../sourcegen");
49
+ class PwTestCommand extends authCommand_1.AuthCommand {
50
+ static coreCommand = true;
51
+ static hidden = false;
52
+ static description = 'Test your Playwright Tests on Checkly.';
53
+ static state = 'beta';
54
+ static flags = {
55
+ 'location': core_1.Flags.string({
56
+ char: 'l',
57
+ default: constants_1.DEFAULT_REGION,
58
+ description: 'The location to run the checks at.',
59
+ }),
60
+ 'private-location': core_1.Flags.string({
61
+ description: 'The private location to run checks at.',
62
+ exclusive: ['location'],
63
+ }),
64
+ env: core_1.Flags.string({
65
+ char: 'e',
66
+ description: 'Env vars to be passed to the test run.',
67
+ exclusive: ['env-file'],
68
+ multiple: true,
69
+ default: [],
70
+ }),
71
+ 'env-file': core_1.Flags.string({
72
+ description: 'dotenv file path to be passed. For example --env-file="./.env"',
73
+ exclusive: ['env'],
74
+ }),
75
+ 'timeout': core_1.Flags.integer({
76
+ default: abstract_check_runner_1.DEFAULT_CHECK_RUN_TIMEOUT_SECONDS,
77
+ description: 'A timeout (in seconds) to wait for checks to complete.',
78
+ }),
79
+ 'verbose': core_1.Flags.boolean({
80
+ description: 'Always show the full logs of the checks.',
81
+ }),
82
+ 'reporter': core_1.Flags.string({
83
+ description: 'A list of custom reporters for the test output.',
84
+ options: ['list', 'dot', 'ci', 'github', 'json'],
85
+ }),
86
+ 'config': core_1.Flags.string({
87
+ description: common_messages_1.default.configFile,
88
+ }),
89
+ record: core_1.Flags.boolean({
90
+ description: 'Record test results in Checkly as a test session with full logs, traces and videos.',
91
+ default: true,
92
+ allowNo: true,
93
+ }),
94
+ 'test-session-name': core_1.Flags.string({
95
+ description: 'A name to use when storing results in Checkly',
96
+ }),
97
+ 'create-check': core_1.Flags.boolean({
98
+ description: 'Create a Checkly check from the Playwright test.',
99
+ default: false,
100
+ })
101
+ };
102
+ async run() {
103
+ this.style.actionStart('Parsing your Playwright project');
104
+ const { checklyFlags, playwrightFlags } = (0, test_helper_1.splitChecklyAndPlaywrightFlags)(this.argv);
105
+ const { flags } = await this.parse(PwTestCommand, checklyFlags);
106
+ const { location: runLocation, 'private-location': privateRunLocation, env = [], 'env-file': envFile, timeout, verbose: verboseFlag, reporter: reporterFlag, config: configFilename, record, 'test-session-name': testSessionName, 'create-check': createCheck, } = flags;
107
+ const { configDirectory, configFilenames } = (0, util_1.splitConfigFilePath)(configFilename);
108
+ const { config: checklyConfig, constructs: checklyConfigConstructs, } = await (0, checkly_config_loader_1.loadChecklyConfig)(configDirectory, configFilenames, false);
109
+ const playwrightConfigPath = this.getConfigPath(playwrightFlags) ?? checklyConfig.checks?.playwrightConfigPath;
110
+ const dir = node_path_1.default.dirname(playwrightConfigPath || '.');
111
+ const playwrightCheck = await PwTestCommand.createPlaywrightCheck(playwrightFlags, runLocation, dir);
112
+ if (createCheck) {
113
+ this.style.actionStart('Creating Checkly check from Playwright test');
114
+ await this.createPlaywrightCheck(playwrightCheck, playwrightConfigPath);
115
+ return;
116
+ }
117
+ const location = await (0, test_helper_1.prepareRunLocation)(checklyConfig.cli, {
118
+ runLocation: runLocation,
119
+ privateRunLocation,
120
+ }, api, config_1.default.getAccountId());
121
+ const reporterTypes = (0, test_helper_1.prepareReportersTypes)(reporterFlag, checklyConfig.cli?.reporters);
122
+ const { data: account } = await api.accounts.get(config_1.default.getAccountId());
123
+ const { data: availableRuntimes } = await api.runtimes.getAll();
124
+ const testEnvVars = await (0, util_1.getEnvs)(envFile, env);
125
+ const project = await (0, project_parser_1.parseProject)({
126
+ directory: configDirectory,
127
+ projectLogicalId: checklyConfig.logicalId,
128
+ projectName: testSessionName ?? checklyConfig.projectName,
129
+ repoUrl: checklyConfig.repoUrl,
130
+ includeTestOnlyChecks: true,
131
+ checkMatch: checklyConfig.checks?.checkMatch,
132
+ ignoreDirectoriesMatch: checklyConfig.checks?.ignoreDirectoriesMatch,
133
+ checkDefaults: checklyConfig.checks,
134
+ availableRuntimes: availableRuntimes.reduce((acc, runtime) => {
135
+ acc[runtime.name] = runtime;
136
+ return acc;
137
+ }, {}),
138
+ defaultRuntimeId: account.runtimeId,
139
+ verifyRuntimeDependencies: false,
140
+ checklyConfigConstructs,
141
+ playwrightConfigPath,
142
+ include: checklyConfig.checks?.include,
143
+ playwrightChecks: [playwrightCheck],
144
+ checkFilter: check => {
145
+ if (check instanceof constructs_1.RuntimeCheck) {
146
+ if (Object.keys(testEnvVars).length) {
147
+ check.environmentVariables = check.environmentVariables
148
+ ?.filter((envVar) => !testEnvVars[envVar.key]) || [];
149
+ for (const [key, value] of Object.entries(testEnvVars)) {
150
+ check.environmentVariables.push({
151
+ key,
152
+ value,
153
+ locked: true,
154
+ });
155
+ }
156
+ }
157
+ }
158
+ return true;
159
+ }
160
+ });
161
+ this.style.actionSuccess();
162
+ this.style.actionStart('Validating project resources');
163
+ const diagnostics = new constructs_1.Diagnostics();
164
+ await project.validate(diagnostics);
165
+ for (const diag of diagnostics.observations) {
166
+ if (diag.isFatal()) {
167
+ this.style.longError(diag.title, diag.message);
168
+ }
169
+ else if (!diag.isBenign()) {
170
+ this.style.longWarning(diag.title, diag.message);
171
+ }
172
+ else {
173
+ this.style.longInfo(diag.title, diag.message);
174
+ }
175
+ }
176
+ if (diagnostics.isFatal()) {
177
+ this.style.actionFailure();
178
+ this.style.shortError(`Unable to continue due to unresolved validation errors.`);
179
+ this.exit(1);
180
+ }
181
+ this.style.actionSuccess();
182
+ this.style.actionStart('Bundling project resources');
183
+ const projectBundle = await (async () => {
184
+ try {
185
+ const bundle = await project.bundle();
186
+ this.style.actionSuccess();
187
+ return bundle;
188
+ }
189
+ catch (err) {
190
+ this.style.actionFailure();
191
+ throw err;
192
+ }
193
+ })();
194
+ const checkBundles = Object.values(projectBundle.data.check);
195
+ if (!checkBundles.length) {
196
+ this.log(`Unable to find checks to run`);
197
+ return;
198
+ }
199
+ const reporters = (0, reporter_1.createReporters)(reporterTypes, location, verboseFlag);
200
+ const repoInfo = (0, util_1.getGitInformation)(project.repoUrl);
201
+ const ciInfo = (0, util_1.getCiInformation)();
202
+ // TODO: ADD PROPER RETRY STRATEGY HANDLING
203
+ // const testRetryStrategy = this.prepareTestRetryStrategy(retries, checklyConfig?.cli?.retries)
204
+ const runner = new test_runner_1.default(config_1.default.getAccountId(), projectBundle, checkBundles, constructs_1.Session.sharedFiles, location, timeout, verboseFlag, record, repoInfo, ciInfo.environment,
205
+ // NO NEED TO UPLOAD SNAPSHOTS FOR PLAYWRIGHT TESTS
206
+ false, configDirectory,
207
+ // TODO: ADD PROPER RETRY STRATEGY HANDLING
208
+ null);
209
+ runner.on(abstract_check_runner_1.Events.RUN_STARTED, (checks, testSessionId) => reporters.forEach(r => r.onBegin(checks, testSessionId)));
210
+ runner.on(abstract_check_runner_1.Events.CHECK_INPROGRESS, (check, sequenceId) => {
211
+ reporters.forEach(r => r.onCheckInProgress(check, sequenceId));
212
+ });
213
+ runner.on(abstract_check_runner_1.Events.MAX_SCHEDULING_DELAY_EXCEEDED, () => {
214
+ reporters.forEach(r => r.onSchedulingDelayExceeded());
215
+ });
216
+ runner.on(abstract_check_runner_1.Events.CHECK_ATTEMPT_RESULT, (sequenceId, check, result, links) => {
217
+ reporters.forEach(r => r.onCheckAttemptResult(sequenceId, {
218
+ logicalId: check.logicalId,
219
+ sourceFile: check.getSourceFile(),
220
+ ...result,
221
+ }, links));
222
+ });
223
+ runner.on(abstract_check_runner_1.Events.CHECK_SUCCESSFUL, (sequenceId, check, result, testResultId, links) => {
224
+ if (result.hasFailures) {
225
+ process.exitCode = 1;
226
+ }
227
+ reporters.forEach(r => r.onCheckEnd(sequenceId, {
228
+ logicalId: check.logicalId,
229
+ sourceFile: check.getSourceFile(),
230
+ ...result,
231
+ }, testResultId, links));
232
+ });
233
+ runner.on(abstract_check_runner_1.Events.CHECK_FAILED, (sequenceId, check, message) => {
234
+ reporters.forEach(r => r.onCheckEnd(sequenceId, {
235
+ ...check,
236
+ logicalId: check.logicalId,
237
+ sourceFile: check.getSourceFile(),
238
+ hasFailures: true,
239
+ runError: message,
240
+ }));
241
+ process.exitCode = 1;
242
+ });
243
+ runner.on(abstract_check_runner_1.Events.RUN_FINISHED, () => reporters.forEach(r => r.onEnd()));
244
+ runner.on(abstract_check_runner_1.Events.ERROR, (err) => {
245
+ reporters.forEach(r => r.onError(err));
246
+ process.exitCode = 1;
247
+ });
248
+ await runner.run();
249
+ }
250
+ static async createPlaywrightCheck(args, runLocation, dir) {
251
+ const parseArgs = args.map(arg => {
252
+ if (arg.includes(' ')) {
253
+ arg = `"${arg}"`;
254
+ }
255
+ return arg;
256
+ });
257
+ const input = parseArgs.join(' ') || '';
258
+ const inputLogicalId = (0, sourcegen_1.cased)(input, 'kebab-case').substring(0, 50);
259
+ const testCommand = await PwTestCommand.getTestCommand(dir, input);
260
+ return {
261
+ logicalId: `playwright-check-${inputLogicalId}`,
262
+ name: `Playwright Test: ${input}`,
263
+ testCommand,
264
+ locations: [runLocation],
265
+ frequency: 10,
266
+ };
267
+ }
268
+ getConfigPath(playwrightFlags) {
269
+ for (let i = 0; i < playwrightFlags.length; i++) {
270
+ const arg = playwrightFlags[i];
271
+ if (arg.startsWith('--config') || arg.startsWith('-c')) {
272
+ return arg.includes('=') ? arg.split('=')[1] : playwrightFlags[i + 1];
273
+ }
274
+ }
275
+ }
276
+ async createPlaywrightCheck(playwrightCheck, playwrightConfigPath = './playwright.config.ts') {
277
+ const dir = process.cwd();
278
+ const baseName = node_path_1.default.basename(dir);
279
+ const configFile = await (0, checkly_config_loader_1.getChecklyConfigFile)();
280
+ if (!configFile) {
281
+ this.style.shortWarning('No Checkly config file found');
282
+ this.style.shortInfo('Creating a default checkly config file.');
283
+ const checklyConfig = (0, util_1.getDefaultChecklyConfig)(baseName, `./${node_path_1.default.relative(dir, playwrightConfigPath)}`, playwrightCheck);
284
+ await (0, util_1.writeChecklyConfigFile)(dir, checklyConfig);
285
+ this.style.actionSuccess();
286
+ return;
287
+ }
288
+ const checklyAst = recast.parse(configFile.checklyConfig);
289
+ const checksAst = (0, write_config_helpers_1.findPropertyByName)(checklyAst, 'checks');
290
+ if (!checksAst) {
291
+ this.style.longError('Unable to automatically sync your config file.', 'This can happen if your Checkly config is ' +
292
+ 'built using helper functions or other JS/TS features. You can still manually set Playwright config values in ' +
293
+ 'your Checkly config: https://www.checklyhq.com/docs/cli/constructs-reference/#project');
294
+ return;
295
+ }
296
+ const b = recast.types.builders;
297
+ const playwrightPropertyNode = b.property('init', b.identifier('playwrightConfigPath'), b.stringLiteral(playwrightConfigPath));
298
+ const playwrightCheckString = `const playwrightCheck = ${JSON5.stringify(playwrightCheck, { space: 2 })}`;
299
+ const playwrightCheckAst = recast.parse(playwrightCheckString);
300
+ const playwrightCheckNode = playwrightCheckAst.program.body[0].declarations[0].init;
301
+ (0, write_config_helpers_1.addOrReplaceItem)(checksAst.value, playwrightPropertyNode, 'playwrightConfigPath');
302
+ (0, write_config_helpers_1.addItemToArray)(checksAst.value, playwrightCheckNode, 'playwrightChecks');
303
+ const checklyConfigData = recast.print(checklyAst, { tabWidth: 2 }).code;
304
+ const writeDir = node_path_1.default.resolve(node_path_1.default.dirname(configFile.fileName));
305
+ await (0, write_config_helpers_1.reWriteChecklyConfigFile)(checklyConfigData, configFile.fileName, writeDir);
306
+ this.style.actionSuccess();
307
+ return;
308
+ }
309
+ static async getTestCommand(directoryPath, input) {
310
+ const packageManager = await (0, package_manager_1.detectPackageManager)(directoryPath);
311
+ // Passing the input to the execCommand will return it quoted, which we want to avoid
312
+ return `${packageManager.execCommand(['playwright', 'test']).unsafeDisplayCommand} ${input}`;
313
+ }
314
+ }
315
+ exports.default = PwTestCommand;
316
+ //# sourceMappingURL=pw-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pw-test.js","sourceRoot":"","sources":["../../src/commands/pw-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,2CAMyB;AACzB,6EAAkH;AAClH,wDAAkH;AAClH,iDAAkC;AAClC,gEAAuC;AACvC,+DAAyD;AAEzD,8CAAkE;AAClE,sCAAuC;AACvC,oDAAqE;AACrE,0EAAgD;AAChD,6EAAyG;AAEzG,kFAAwD;AAExD,0DAA4B;AAC5B,+CAAgC;AAChC,0EAIwC;AACxC,6CAA8B;AAC9B,4FAA6F;AAC7F,oDAAqD;AACrD,4CAAoC;AAEpC,MAAqB,aAAc,SAAQ,yBAAW;IACpD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,MAAM,CAAC,WAAW,GAAG,wCAAwC,CAAA;IAC7D,MAAM,CAAC,KAAK,GAAG,MAAM,CAAA;IACrB,MAAM,CAAC,KAAK,GAAG;QACb,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,0BAAc;YACvB,WAAW,EAAE,oCAAoC;SAClD,CAAC;QACF,kBAAkB,EAAE,YAAK,CAAC,MAAM,CAAC;YAC/B,WAAW,EAAE,wCAAwC;YACrD,SAAS,EAAE,CAAC,UAAU,CAAC;SACxB,CAAC;QACF,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wCAAwC;YACrD,SAAS,EAAE,CAAC,UAAU,CAAC;YACvB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,gEAAgE;YAC7E,SAAS,EAAE,CAAC,KAAK,CAAC;SACnB,CAAC;QACF,SAAS,EAAE,YAAK,CAAC,OAAO,CAAC;YACvB,OAAO,EAAE,yDAAiC;YAC1C,WAAW,EAAE,wDAAwD;SACtE,CAAC;QACF,SAAS,EAAE,YAAK,CAAC,OAAO,CAAC;YACvB,WAAW,EAAE,0CAA0C;SACxD,CAAC;QACF,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,iDAAiD;YAC9D,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;SACjD,CAAC;QACF,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,yBAAc,CAAC,UAAU;SACvC,CAAC;QACF,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,qFAAqF;YAClG,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;QACF,mBAAmB,EAAE,YAAK,CAAC,MAAM,CAAC;YAChC,WAAW,EAAE,+CAA+C;SAC7D,CAAC;QACF,cAAc,EAAE,YAAK,CAAC,OAAO,CAAC;YAC5B,WAAW,EAAE,kDAAkD;YAC/D,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAA;QAEzD,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,4CAA8B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;QAC/D,MAAM,EACJ,QAAQ,EAAE,WAAW,EACrB,kBAAkB,EAAE,kBAAkB,EACtC,GAAG,GAAG,EAAE,EACR,UAAU,EAAE,OAAO,EACnB,OAAO,EACP,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,cAAc,EACtB,MAAM,EACN,mBAAmB,EAAE,eAAe,EACpC,cAAc,EAAE,WAAW,GAC5B,GAAG,KAAK,CAAA;QACT,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,IAAA,0BAAmB,EAAC,cAAc,CAAC,CAAA;QAChF,MAAM,EACJ,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,uBAAuB,GACpC,GAAG,MAAM,IAAA,yCAAiB,EAAC,eAAe,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;QACpE,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAA;QAC9G,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAA;QACrD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,qBAAqB,CAAC,eAAe,EAAE,WAA2B,EAAE,GAAG,CAAC,CAAA;QACpH,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAA;YACrE,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;YACvE,OAAM;QACR,CAAC;QAGD,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAkB,EAAC,aAAa,CAAC,GAAG,EAAE;YAC3D,WAAW,EAAE,WAA2B;YACxC,kBAAkB;SACnB,EAAE,GAAG,EAAE,gBAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QAC9B,MAAM,aAAa,GAAG,IAAA,mCAAqB,EAAC,YAA4B,EAAE,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACvG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QACvE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAC/D,MAAM,WAAW,GAAG,MAAM,IAAA,cAAO,EAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAG/C,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAY,EAAC;YACjC,SAAS,EAAE,eAAe;YAC1B,gBAAgB,EAAE,aAAa,CAAC,SAAS;YACzC,WAAW,EAAE,eAAe,IAAI,aAAa,CAAC,WAAW;YACzD,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,qBAAqB,EAAE,IAAI;YAC3B,UAAU,EAAE,aAAa,CAAC,MAAM,EAAE,UAAU;YAC5C,sBAAsB,EAAE,aAAa,CAAC,MAAM,EAAE,sBAAsB;YACpE,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBAC3D,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;gBAC3B,OAAO,GAAG,CAAA;YACZ,CAAC,EAA4B,EAAE,CAAC;YAChC,gBAAgB,EAAE,OAAO,CAAC,SAAS;YACnC,yBAAyB,EAAE,KAAK;YAChC,uBAAuB;YACvB,oBAAoB;YACpB,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO;YACtC,gBAAgB,EAAE,CAAC,eAAe,CAAC;YACnC,WAAW,EAAE,KAAK,CAAC,EAAE;gBACnB,IAAI,KAAK,YAAY,yBAAY,EAAE,CAAC;oBAClC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;wBACpC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB;4BACrD,EAAE,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;wBAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;4BACvD,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC;gCAC9B,GAAG;gCACH,KAAK;gCACL,MAAM,EAAE,IAAI;6BACb,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;QAE1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAA;QAEtD,MAAM,WAAW,GAAG,IAAI,wBAAW,EAAE,CAAA;QACrC,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEnC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAChD,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAClD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;YAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,yDAAyD,CAAC,CAAA;YAChF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;QAE1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAA;QACpD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;gBACrC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;gBAC1B,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;gBAC1B,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE5D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,0BAAe,EAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QACvE,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,IAAA,uBAAgB,GAAE,CAAA;QACjC,2CAA2C;QAC3C,gGAAgG;QAEhG,MAAM,MAAM,GAAG,IAAI,qBAAU,CAC3B,gBAAM,CAAC,YAAY,EAAE,EACrB,aAAa,EACb,YAAY,EACZ,oBAAO,CAAC,WAAW,EACnB,QAAQ,EACR,OAAO,EACP,WAAW,EACX,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,WAAW;QAClB,mDAAmD;QACnD,KAAK,EACL,eAAe;QACf,2CAA2C;QAC3C,IAAI,CACL,CAAA;QAED,MAAM,CAAC,EAAE,CAAC,8BAAM,CAAC,WAAW,EAC1B,CAAC,MAAqD,EAAE,aAAqB,EAAE,EAAE,CAC/E,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAC3D,CAAA;QAED,MAAM,CAAC,EAAE,CAAC,8BAAM,CAAC,gBAAgB,EAAE,CAAC,KAAU,EAAE,UAAsB,EAAE,EAAE;YACxE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,8BAAM,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACnD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,8BAAM,CAAC,oBAAoB,EAAE,CAAC,UAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,KAA6B,EAAE,EAAE;YAC9G,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE;gBACxD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE;gBACjC,GAAG,MAAM;aACV,EAAE,KAAK,CAAC,CAAC,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,8BAAM,CAAC,gBAAgB,EAC/B,CAAC,UAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAA6B,EAAE,EAAE;YACrF,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACtB,CAAC;YAED,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE;gBAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE;gBACjC,GAAG,MAAM;aACV,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEJ,MAAM,CAAC,EAAE,CAAC,8BAAM,CAAC,YAAY,EAAE,CAAC,UAAsB,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;YAChF,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE;gBAC9C,GAAG,KAAK;gBACR,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE;gBACjC,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC,CAAA;YACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,CAAC,8BAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACvE,MAAM,CAAC,EAAE,CAAC,8BAAM,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAc,EAAE,WAAyB,EAAE,GAAW;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,GAAG,GAAG,IAAI,GAAG,GAAG,CAAA;YAClB,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACvC,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAClE,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAClE,OAAO;YACL,SAAS,EAAE,oBAAoB,cAAc,EAAE;YAC/C,IAAI,EAAE,oBAAoB,KAAK,EAAE;YACjC,WAAW;YACX,SAAS,EAAE,CAAC,WAAW,CAAC;YACxB,SAAS,EAAE,EAAE;SACd,CAAA;IACL,CAAC;IAEO,aAAa,CAAE,eAAyB;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;YAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAE,eAAsC,EAAE,uBAA+B,wBAAwB;QAClI,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAEnC,MAAM,UAAU,GAAG,MAAM,IAAA,4CAAoB,GAAE,CAAA;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAA;YACvD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAA;YAC/D,MAAM,aAAa,GAAG,IAAA,8BAAuB,EAAC,QAAQ,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAA;YACzH,MAAM,IAAA,6BAAsB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAA;YAChD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACzD,MAAM,SAAS,GAAG,IAAA,yCAAkB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gDAAgD,EAAE,4CAA4C;gBACjH,+GAA+G;gBAC/G,uFAAuF,CAAC,CAAA;YAE1F,OAAM;QACR,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CACvC,MAAM,EACN,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,EACpC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CACtC,CAAC;QAEF,MAAM,qBAAqB,GAAG,2BAA2B,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QACzG,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC9D,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAA,uCAAgB,EAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAA;QACjF,IAAA,qCAAc,EAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAA;QACxE,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;QACxE,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;QAChE,MAAM,IAAA,+CAAwB,EAAC,iBAAiB,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAChF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAM;IAER,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,aAAqB,EAAE,KAAa;QACtE,MAAM,cAAc,GAAG,MAAM,IAAA,sCAAoB,EAAC,aAAa,CAAC,CAAA;QAChE,qFAAqF;QACrF,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,IAAI,KAAK,EAAE,CAAA;IAC9F,CAAC;;AAzUH,gCA0UC"}
@@ -0,0 +1,9 @@
1
+ import { BaseCommand } from './baseCommand';
2
+ export default class Rules extends BaseCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ run(): Promise<void>;
6
+ private findAIIDEConfigFolder;
7
+ private readBaseRulesFile;
8
+ private confirmOverwrite;
9
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const baseCommand_1 = require("./baseCommand");
7
+ const promises_1 = require("fs/promises");
8
+ const path_1 = require("path");
9
+ const fs_1 = require("fs");
10
+ const prompts_1 = __importDefault(require("prompts"));
11
+ const BASE_RULES_FILE_PATH = (0, path_1.join)(__dirname, '../rules/checkly.rules.md');
12
+ // AI IDE configurations mapping
13
+ const AI_IDE_CONFIGS = {
14
+ Windsurf: {
15
+ rootFolder: '.windsurf',
16
+ rulesFolder: 'rules',
17
+ rulesFileName: 'checkly.md',
18
+ },
19
+ 'GitHub Copilot': {
20
+ rootFolder: '.github/',
21
+ rulesFolder: 'instructions',
22
+ rulesFileName: 'checkly.instructions.md',
23
+ },
24
+ Cursor: {
25
+ rootFolder: '.cursor',
26
+ rulesFolder: 'rules',
27
+ rulesFileName: 'checkly.mdc',
28
+ },
29
+ None: {
30
+ rootFolder: 'None',
31
+ rulesFolder: '',
32
+ rulesFileName: 'checkly.md',
33
+ },
34
+ };
35
+ class Rules extends baseCommand_1.BaseCommand {
36
+ static hidden = false;
37
+ static description = 'Generate a rules file to use with AI IDEs and Copilots.';
38
+ async run() {
39
+ try {
40
+ // Find AI IDE config folders
41
+ const result = await this.findAIIDEConfigFolder();
42
+ const { configPath, ideType } = result;
43
+ this.log(`Found ${ideType?.rootFolder} config folder: ${configPath}`);
44
+ // Read the base rules file
45
+ const rulesContent = await this.readBaseRulesFile();
46
+ // Create rules directory if it doesn't exist
47
+ const rulesDir = (0, path_1.join)(configPath, ideType.rulesFolder);
48
+ if (ideType.rulesFolder) {
49
+ try {
50
+ await (0, promises_1.mkdir)(rulesDir, { recursive: true });
51
+ }
52
+ catch {
53
+ // Directory might already exist, ignore error
54
+ }
55
+ }
56
+ // Determine the target file path
57
+ const targetPath = (0, path_1.join)(rulesDir || configPath, ideType.rulesFileName);
58
+ // Check if file already exists and ask for confirmation
59
+ const shouldOverwrite = await this.confirmOverwrite(targetPath);
60
+ if (!shouldOverwrite) {
61
+ this.log('Operation cancelled.');
62
+ return;
63
+ }
64
+ // Save the rules file
65
+ await (0, promises_1.writeFile)(targetPath, rulesContent, 'utf8');
66
+ this.log(`✅ Successfully saved Checkly rules file to: ${targetPath}`);
67
+ }
68
+ catch (error) {
69
+ this.error(`Failed to generate rules file: ${error}`);
70
+ }
71
+ }
72
+ async findAIIDEConfigFolder() {
73
+ let currentDir = process.cwd();
74
+ while (true) {
75
+ for (const ideConfig of Object.values(AI_IDE_CONFIGS)) {
76
+ const configPath = (0, path_1.join)(currentDir, ideConfig.rootFolder);
77
+ try {
78
+ await (0, promises_1.access)(configPath, fs_1.constants.F_OK);
79
+ return { ideType: ideConfig, configPath };
80
+ }
81
+ catch {
82
+ // Folder doesn't exist, continue searching
83
+ }
84
+ }
85
+ // Check if we've reached the root directory
86
+ const parentDir = (0, path_1.dirname)(currentDir);
87
+ if (parentDir === currentDir) {
88
+ // We've reached the root directory
89
+ break;
90
+ }
91
+ // Move up one directory
92
+ currentDir = parentDir;
93
+ }
94
+ return {
95
+ configPath: process.cwd(),
96
+ ideType: AI_IDE_CONFIGS.None,
97
+ };
98
+ }
99
+ async readBaseRulesFile() {
100
+ try {
101
+ return await (0, promises_1.readFile)(BASE_RULES_FILE_PATH, 'utf8');
102
+ }
103
+ catch (error) {
104
+ throw new Error(`Failed to read base rules file at ${BASE_RULES_FILE_PATH}: ${error}`);
105
+ }
106
+ }
107
+ async confirmOverwrite(targetPath) {
108
+ try {
109
+ await (0, promises_1.access)(targetPath, fs_1.constants.F_OK);
110
+ // File exists, ask for confirmation
111
+ const { overwrite } = await (0, prompts_1.default)({
112
+ type: 'confirm',
113
+ name: 'overwrite',
114
+ message: `Rules file already exists at ${targetPath}. Do you want to overwrite it?`,
115
+ initial: false,
116
+ });
117
+ return overwrite ?? false;
118
+ }
119
+ catch {
120
+ // File doesn't exist, no need to confirm
121
+ return true;
122
+ }
123
+ }
124
+ }
125
+ exports.default = Rules;
126
+ //# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/commands/rules.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,4 @@ export default class SyncPlaywright extends BaseCommand {
4
4
  static description: string;
5
5
  run(): Promise<void>;
6
6
  private handleError;
7
- private findPropertyByName;
8
- private addOrReplacePlaywrightConfig;
9
- private reWriteChecklyConfigFile;
10
7
  }
@@ -30,10 +30,10 @@ const baseCommand_1 = require("./baseCommand");
30
30
  const recast = __importStar(require("recast"));
31
31
  const checkly_config_loader_1 = require("../services/checkly-config-loader");
32
32
  const playwright_config_loader_1 = require("../playwright/playwright-config-loader");
33
- const fs_1 = __importDefault(require("fs"));
34
33
  const path_1 = __importDefault(require("path"));
35
34
  const core_1 = require("@oclif/core");
36
35
  const playwright_config_template_1 = __importDefault(require("../playwright/playwright-config-template"));
36
+ const write_config_helpers_1 = require("../helpers/write-config-helpers");
37
37
  class SyncPlaywright extends baseCommand_1.BaseCommand {
38
38
  static hidden = false;
39
39
  static description = 'Copy Playwright config into the Checkly config file.';
@@ -50,18 +50,18 @@ class SyncPlaywright extends baseCommand_1.BaseCommand {
50
50
  if (!config) {
51
51
  return this.handleError('Could not find any playwright.config file.');
52
52
  }
53
- const checksAst = this.findPropertyByName(checklyAst, 'checks');
53
+ const checksAst = (0, write_config_helpers_1.findPropertyByName)(checklyAst, 'checks');
54
54
  if (!checksAst) {
55
55
  return this.handleError('Unable to automatically sync your config file. This can happen if your Checkly config is ' +
56
56
  'built using helper functions or other JS/TS features. You can still manually set Playwright config values in ' +
57
57
  'your Checkly config: https://www.checklyhq.com/docs/cli/constructs-reference/#project');
58
58
  }
59
59
  const pwtConfig = new playwright_config_template_1.default(config).getConfigTemplate();
60
- const pwtConfigAst = this.findPropertyByName(recast.parse(pwtConfig), 'playwrightConfig');
61
- this.addOrReplacePlaywrightConfig(checksAst.value, pwtConfigAst);
60
+ const pwtConfigAst = (0, write_config_helpers_1.findPropertyByName)(recast.parse(pwtConfig), 'playwrightConfig');
61
+ (0, write_config_helpers_1.addOrReplaceItem)(checksAst.value, pwtConfigAst, 'playwrightConfig');
62
62
  const checklyConfigData = recast.print(checklyAst, { tabWidth: 2 }).code;
63
63
  const dir = path_1.default.resolve(path_1.default.dirname(configFile.fileName));
64
- this.reWriteChecklyConfigFile(checklyConfigData, configFile.fileName, dir);
64
+ await (0, write_config_helpers_1.reWriteChecklyConfigFile)(checklyConfigData, configFile.fileName, dir);
65
65
  if (this.fancy) {
66
66
  core_1.ux.action.stop('✅ ');
67
67
  }
@@ -75,30 +75,6 @@ class SyncPlaywright extends baseCommand_1.BaseCommand {
75
75
  this.log(message);
76
76
  this.exit(1);
77
77
  }
78
- findPropertyByName(ast, name) {
79
- let node;
80
- recast.visit(ast, {
81
- visitProperty(path) {
82
- if (path.node.key.name === name) {
83
- node = path.node;
84
- }
85
- return false;
86
- },
87
- });
88
- return node;
89
- }
90
- addOrReplacePlaywrightConfig(ast, node) {
91
- const playWrightConfig = this.findPropertyByName(ast, 'playwrightConfig');
92
- if (playWrightConfig) {
93
- playWrightConfig.value = node.value;
94
- }
95
- else {
96
- ast.properties.push(node);
97
- }
98
- }
99
- reWriteChecklyConfigFile(data, fileName, dir) {
100
- fs_1.default.writeFileSync(path_1.default.join(dir, fileName), data);
101
- }
102
78
  }
103
79
  exports.default = SyncPlaywright;
104
80
  //# sourceMappingURL=sync-playwright.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-playwright.js","sourceRoot":"","sources":["../../src/commands/sync-playwright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-playwright.js","sourceRoot":"","sources":["../../src/commands/sync-playwright.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,+CAAgC;AAChC,6EAAwE;AACxE,qFAA6E;AAC7E,gDAAuB;AACvB,sCAAgC;AAChC,0GAA+E;AAC/E,0EAAgH;AAEhH,MAAqB,cAAe,SAAQ,yBAAW;IACrD,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,MAAM,CAAC,WAAW,GAAG,sDAAsD,CAAA;IAE3E,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACtG,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAA,4CAAoB,GAAE,CAAA;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAA;QACjE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAEzD,MAAM,MAAM,GAAG,MAAM,IAAA,+CAAoB,GAAE,CAAA;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAA;QACvE,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,yCAAkB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,2FAA2F;gBAC/G,+GAA+G;gBAC/G,uFAAuF,CAAC,CAAA;QAC9F,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,oCAAwB,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAA;QAC1E,MAAM,YAAY,GAAG,IAAA,yCAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAA;QACpF,IAAA,uCAAgB,EAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAA;QAEnE,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;QACxE,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC3D,MAAM,IAAA,+CAAwB,EAAC,iBAAiB,EAAE,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAE3E,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACd,CAAC;IAEO,WAAW,CAAE,OAAe;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACjB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACd,CAAC;;AAhDH,iCAiDC"}
@@ -1,7 +1,4 @@
1
- import { RunLocation, PrivateRunLocation } from '../services/abstract-check-runner';
2
1
  import { AuthCommand } from './authCommand';
3
- import type { Region } from '..';
4
- import { ReporterType } from '../reporters/reporter';
5
2
  export default class Test extends AuthCommand {
6
3
  static coreCommand: boolean;
7
4
  static hidden: boolean;
@@ -30,15 +27,6 @@ export default class Test extends AuthCommand {
30
27
  static strict: boolean;
31
28
  run(): Promise<void>;
32
29
  prepareVerboseFlag(verboseFlag?: boolean, cliVerboseFlag?: boolean): boolean;
33
- prepareReportersTypes(reporterFlag: ReporterType, cliReporters?: ReporterType[]): ReporterType[];
34
- prepareRunLocation(configOptions?: {
35
- runLocation?: keyof Region;
36
- privateRunLocation?: string;
37
- }, cliFlags?: {
38
- runLocation?: keyof Region;
39
- privateRunLocation?: string;
40
- }): Promise<RunLocation>;
41
- preparePrivateRunLocation(privateLocationSlugName: string): Promise<PrivateRunLocation>;
42
30
  prepareTestRetryStrategy(retries?: number, configRetries?: number): import("../constructs").RetryStrategy | null;
43
31
  private listChecks;
44
32
  private getCheckGroup;