checkly 9.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +1 -1
  2. package/bin/check-node-version.cjs +21 -0
  3. package/bin/launch.cjs +16 -0
  4. package/bin/run.cjs +32 -0
  5. package/dist/ai-context/skills-command/references/configure-playwright-checks.md +1 -1
  6. package/dist/commands/authCommand.d.ts +6 -0
  7. package/dist/commands/authCommand.js +17 -0
  8. package/dist/commands/authCommand.js.map +1 -1
  9. package/dist/commands/baseCommand.d.ts +11 -0
  10. package/dist/commands/baseCommand.js +34 -13
  11. package/dist/commands/baseCommand.js.map +1 -1
  12. package/dist/commands/debug/parse-project.d.ts +1 -1
  13. package/dist/commands/debug/parse-project.js +41 -15
  14. package/dist/commands/debug/parse-project.js.map +1 -1
  15. package/dist/commands/deploy.js +5 -24
  16. package/dist/commands/deploy.js.map +1 -1
  17. package/dist/commands/destroy.js +2 -1
  18. package/dist/commands/destroy.js.map +1 -1
  19. package/dist/commands/import/apply.js +2 -1
  20. package/dist/commands/import/apply.js.map +1 -1
  21. package/dist/commands/import/cancel.js +2 -1
  22. package/dist/commands/import/cancel.js.map +1 -1
  23. package/dist/commands/import/commit.js +2 -1
  24. package/dist/commands/import/commit.js.map +1 -1
  25. package/dist/commands/import/plan.js +11 -29
  26. package/dist/commands/import/plan.js.map +1 -1
  27. package/dist/commands/pw-test.js +5 -24
  28. package/dist/commands/pw-test.js.map +1 -1
  29. package/dist/commands/test.js +5 -24
  30. package/dist/commands/test.js.map +1 -1
  31. package/dist/commands/trigger.js +10 -3
  32. package/dist/commands/trigger.js.map +1 -1
  33. package/dist/commands/validate.js +5 -22
  34. package/dist/commands/validate.js.map +1 -1
  35. package/dist/helpers/command-style.d.ts +2 -0
  36. package/dist/helpers/command-style.js +13 -0
  37. package/dist/helpers/command-style.js.map +1 -1
  38. package/dist/services/check-parser/cache-hash.d.ts +5 -2
  39. package/dist/services/check-parser/cache-hash.js +2 -2
  40. package/dist/services/check-parser/cache-hash.js.map +1 -1
  41. package/dist/services/check-parser/package-prune.d.ts +12 -4
  42. package/dist/services/check-parser/package-prune.js +184 -76
  43. package/dist/services/check-parser/package-prune.js.map +1 -1
  44. package/dist/services/checkly-config-loader.d.ts +60 -18
  45. package/dist/services/checkly-config-loader.js +131 -45
  46. package/dist/services/checkly-config-loader.js.map +1 -1
  47. package/dist/services/config-diagnostics.d.ts +31 -0
  48. package/dist/services/config-diagnostics.js +57 -0
  49. package/dist/services/config-diagnostics.js.map +1 -0
  50. package/dist/services/embedded-packages/spec.js +2 -2
  51. package/dist/services/embedded-packages/spec.js.map +1 -1
  52. package/dist/services/runner/registries.d.ts +17 -5
  53. package/dist/services/runner/registries.js +129 -61
  54. package/dist/services/runner/registries.js.map +1 -1
  55. package/oclif.manifest.json +628 -628
  56. package/package.json +3 -3
  57. package/bin/run +0 -8
  58. package/bin/run.cmd +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/services/embedded-packages/spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/services/embedded-packages/spec.ts"],"names":[],"mappings":"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"}
@@ -118,16 +118,28 @@ export interface Registries<UpstreamName extends string = string> {
118
118
  */
119
119
  export declare const MATCH_ALL_PATTERN = "**";
120
120
  /**
121
- * Validates the value of `runner.registries` and returns it typed. All
122
- * failures throw a plain `Error` whose message names the offending part
123
- * relative to `runner.registries`; the config loader wraps it with the
124
- * full config path. Invalid URLs and tokens are deliberately never echoed
125
- * back — a malformed registry URL may carry an inline credential.
121
+ * Walks a registries value, reporting every issue through `onIssue` so
122
+ * that all of them surface in a single run — the config loader turns each
123
+ * one into its own diagnostic. Messages name the offending part relative
124
+ * to the registries block itself. Invalid URLs and tokens are
125
+ * deliberately never echoed back — a malformed registry URL may carry an
126
+ * inline credential.
127
+ *
128
+ * Structural problems gate their dependents: an `upstreams` block that is
129
+ * not an object (or is empty) skips the per-rule upstream-existence
130
+ * checks (they would all fail spuriously), and a rule whose pattern is
131
+ * invalid skips the match-all checks for that rule.
126
132
  *
127
133
  * Plain-JS configs bypass the TypeScript type, so the shape must be
128
134
  * enforced at runtime, exactly as `validateBundle` does for
129
135
  * `bundle.packages`.
130
136
  */
137
+ export declare function collectRegistriesIssues(value: unknown, onIssue: (issue: Error) => void): void;
138
+ /**
139
+ * Validates the value of `runner.registries` and returns it typed,
140
+ * throwing the first issue found. Invalid URLs and tokens are never
141
+ * echoed back — a malformed registry URL may carry an inline credential.
142
+ */
131
143
  export declare function validateRegistries(value: unknown): Registries;
132
144
  /**
133
145
  * Serializes a validated configuration into the canonical contents of
@@ -66,129 +66,197 @@ function isPlainObject(value) {
66
66
  * an intention, and ignoring it silently disables whatever the user meant
67
67
  * to configure, surfacing only as an install failure on the runner.
68
68
  */
69
- function rejectUnknownKeys(context, value, known) {
69
+ function collectUnknownKeyIssues(onIssue, context, value, known) {
70
+ const prefix = context === undefined ? '' : `${context}: `;
70
71
  for (const key of Object.keys(value)) {
71
72
  if (!known.includes(key)) {
72
- throw new Error(`${context}: unknown field '${key}' (expected only: ${known.map(k => `'${k}'`).join(', ')})`);
73
+ onIssue(new Error(`${prefix}unknown field '${key}' (expected only: ${known.map(k => `'${k}'`).join(', ')}).`));
73
74
  }
74
75
  }
75
76
  }
76
77
  /**
77
- * Validates the value of `runner.registries` and returns it typed. All
78
- * failures throw a plain `Error` whose message names the offending part
79
- * relative to `runner.registries`; the config loader wraps it with the
80
- * full config path. Invalid URLs and tokens are deliberately never echoed
81
- * back — a malformed registry URL may carry an inline credential.
78
+ * Walks a registries value, reporting every issue through `onIssue` so
79
+ * that all of them surface in a single run — the config loader turns each
80
+ * one into its own diagnostic. Messages name the offending part relative
81
+ * to the registries block itself. Invalid URLs and tokens are
82
+ * deliberately never echoed back — a malformed registry URL may carry an
83
+ * inline credential.
84
+ *
85
+ * Structural problems gate their dependents: an `upstreams` block that is
86
+ * not an object (or is empty) skips the per-rule upstream-existence
87
+ * checks (they would all fail spuriously), and a rule whose pattern is
88
+ * invalid skips the match-all checks for that rule.
82
89
  *
83
90
  * Plain-JS configs bypass the TypeScript type, so the shape must be
84
91
  * enforced at runtime, exactly as `validateBundle` does for
85
92
  * `bundle.packages`.
86
93
  */
87
- export function validateRegistries(value) {
94
+ export function collectRegistriesIssues(value, onIssue) {
88
95
  if (!isPlainObject(value)) {
89
- throw new Error(`must be an object`);
96
+ onIssue(new Error(`must be an object.`));
97
+ return;
90
98
  }
91
- rejectUnknownKeys(`'runner.registries'`, value, ['upstreams', 'packages']);
99
+ // No context: the diagnostic wrapping the issue already names the
100
+ // registries block's own config path.
101
+ collectUnknownKeyIssues(onIssue, undefined, value, ['upstreams', 'packages']);
92
102
  const { upstreams, packages } = value;
103
+ let upstreamNames;
93
104
  if (!isPlainObject(upstreams)) {
94
- throw new Error(`'upstreams' must be an object mapping upstream names to { url, auth? }`);
105
+ onIssue(new Error(`'upstreams' must be an object mapping upstream names to { url, auth? }.`));
95
106
  }
96
- const upstreamNames = Object.keys(upstreams);
97
- if (upstreamNames.length === 0) {
98
- throw new Error(`'upstreams' must define at least one upstream`);
107
+ else if (Object.keys(upstreams).length === 0) {
108
+ // Gates the per-rule upstream-existence checks the same way a
109
+ // non-object block does: with no upstreams defined, every rule would
110
+ // otherwise cascade a spurious issue of its own.
111
+ onIssue(new Error(`'upstreams' must define at least one upstream.`));
99
112
  }
100
- for (const name of upstreamNames) {
101
- validateUpstream(name, upstreams[name]);
113
+ else {
114
+ upstreamNames = Object.keys(upstreams);
115
+ for (const name of upstreamNames) {
116
+ collectUpstreamIssues(onIssue, name, upstreams[name]);
117
+ }
102
118
  }
103
119
  if (!Array.isArray(packages)) {
104
- throw new Error(`'packages' must be an array of { pattern, upstreams } routing rules`);
120
+ onIssue(new Error(`'packages' must be an array of { pattern, upstreams } routing rules.`));
121
+ return;
105
122
  }
106
123
  let lastPattern;
124
+ let sawMatchAll = false;
107
125
  for (const [index, rule] of packages.entries()) {
108
- const { pattern } = validatePackageRoutingRule(index, rule, upstreamNames);
126
+ const pattern = collectPackageRoutingRuleIssues(onIssue, index, rule, upstreamNames);
109
127
  // First match wins, so nothing past a match-all rule could ever
110
128
  // apply. Requiring the match-all to be the final rule both guarantees
111
129
  // every package a route and keeps silently dead rules out of the
112
130
  // config. The final-rule check below also rejects an empty rule list.
113
- if (pattern === MATCH_ALL_PATTERN && index !== packages.length - 1) {
114
- throw new Error(`packages[${index}]: rules after a '${MATCH_ALL_PATTERN}' match-all rule can never apply `
115
- + `(the first matching rule wins); move the match-all rule last`);
131
+ // An excluded '!**' invalid in itself — is not a match-all rule, so
132
+ // it never triggers the position issue, and it only satisfies the
133
+ // final-rule check when it is itself the final rule (where removing
134
+ // the '!' is all it takes; anywhere else the rule list still needs a
135
+ // trailing match-all).
136
+ if (pattern !== undefined && pattern.name === MATCH_ALL_PATTERN) {
137
+ if (!pattern.exclude && index !== packages.length - 1) {
138
+ onIssue(new Error(`packages[${index}]: rules after a '${MATCH_ALL_PATTERN}' match-all rule can never apply `
139
+ + `(the first matching rule wins); move the match-all rule last.`));
140
+ }
141
+ if (!pattern.exclude || index === packages.length - 1) {
142
+ sawMatchAll = true;
143
+ }
116
144
  }
117
145
  lastPattern = pattern;
118
146
  }
119
- if (lastPattern !== MATCH_ALL_PATTERN) {
120
- throw new Error(`'packages' must end with a match-all rule ({ pattern: '${MATCH_ALL_PATTERN}', ... }) `
121
- + `so that every package has a route`);
147
+ // Skipped when a match-all rule exists (a misplaced one already carries
148
+ // its own issue telling the user to move it, and asking them to add one
149
+ // they have would contradict it), and when the final rule's own pattern
150
+ // is invalid (its issue is already reported and this check would be
151
+ // speculative).
152
+ if (!sawMatchAll && (packages.length === 0 || lastPattern !== undefined)) {
153
+ onIssue(new Error(`'packages' must end with a match-all rule ({ pattern: '${MATCH_ALL_PATTERN}', ... }) `
154
+ + `so that every package has a route.`));
155
+ }
156
+ }
157
+ /**
158
+ * Validates the value of `runner.registries` and returns it typed,
159
+ * throwing the first issue found. Invalid URLs and tokens are never
160
+ * echoed back — a malformed registry URL may carry an inline credential.
161
+ */
162
+ export function validateRegistries(value) {
163
+ let firstIssue;
164
+ collectRegistriesIssues(value, issue => {
165
+ firstIssue ??= issue;
166
+ });
167
+ if (firstIssue !== undefined) {
168
+ throw firstIssue;
122
169
  }
123
170
  return value;
124
171
  }
125
- function validateUpstream(name, value) {
172
+ function collectUpstreamIssues(onIssue, name, value) {
126
173
  if (!UPSTREAM_NAME_RE.test(name)) {
127
- throw new Error(`upstream name '${name}' is invalid: names must start with a letter or digit `
128
- + `and contain only letters, digits, '-' and '_'`);
174
+ onIssue(new Error(`upstream name '${name}' is invalid: names must start with a letter or digit `
175
+ + `and contain only letters, digits, '-' and '_'.`));
129
176
  }
130
177
  if (!isPlainObject(value)) {
131
- throw new Error(`upstream '${name}' must be an object with a 'url'`);
178
+ onIssue(new Error(`upstream '${name}' must be an object with a 'url'.`));
179
+ return;
132
180
  }
133
- rejectUnknownKeys(`upstream '${name}'`, value, ['url', 'auth']);
181
+ collectUnknownKeyIssues(onIssue, `upstream '${name}'`, value, ['url', 'auth']);
134
182
  const { url, auth } = value;
135
183
  const parsedUrl = typeof url === 'string' ? parseComposableUrl(url) : undefined;
136
184
  if (parsedUrl === undefined) {
137
- throw new Error(`upstream '${name}': 'url' must be ${COMPOSABLE_URL_REQUIREMENT}`);
185
+ onIssue(new Error(`upstream '${name}': 'url' must be ${COMPOSABLE_URL_REQUIREMENT}.`));
138
186
  }
139
- // An inline credential would ship in plaintext inside the uploaded code
140
- // bundle the exact outcome the ${VAR}-only rule on auth tokens exists
141
- // to prevent. The URL is not echoed for the same reason.
142
- if (parsedUrl.username !== '' || parsedUrl.password !== '') {
143
- throw new Error(`upstream '${name}': 'url' must not contain credentials; `
144
- + `use auth: { type: 'bearer', token: '\${VAR}' } instead`);
187
+ else if (parsedUrl.username !== '' || parsedUrl.password !== '') {
188
+ // An inline credential would ship in plaintext inside the uploaded code
189
+ // bundle the exact outcome the ${VAR}-only rule on auth tokens exists
190
+ // to prevent. The URL is not echoed for the same reason.
191
+ onIssue(new Error(`upstream '${name}': 'url' must not contain credentials; `
192
+ + `use auth: { type: 'bearer', token: '\${VAR}' } instead.`));
145
193
  }
146
194
  if (auth === undefined) {
147
195
  return;
148
196
  }
149
197
  if (!isPlainObject(auth)) {
150
- throw new Error(`upstream '${name}': 'auth' must be an object if set`);
198
+ onIssue(new Error(`upstream '${name}': 'auth' must be an object if set.`));
199
+ return;
151
200
  }
152
- rejectUnknownKeys(`upstream '${name}': 'auth'`, auth, ['type', 'token']);
201
+ collectUnknownKeyIssues(onIssue, `upstream '${name}': 'auth'`, auth, ['type', 'token']);
153
202
  if (auth.type !== 'bearer') {
154
- throw new Error(`upstream '${name}': 'auth.type' must be 'bearer'`);
203
+ onIssue(new Error(`upstream '${name}': 'auth.type' must be 'bearer'.`));
155
204
  }
156
205
  if (typeof auth.token !== 'string' || !ENV_VAR_REFERENCE_RE.test(auth.token)) {
157
- throw new Error(`upstream '${name}': 'auth.token' must be exactly one environment variable reference in \${VAR} syntax `
206
+ onIssue(new Error(`upstream '${name}': 'auth.token' must be exactly one environment variable reference in \${VAR} syntax `
158
207
  + `(e.g. '\${NPM_TOKEN}'). The variable is resolved from the check's environment variables on the `
159
- + `Checkly runner; any literal content would bake a secret into the code bundle`);
208
+ + `Checkly runner; any literal content would bake a secret into the code bundle.`));
160
209
  }
161
210
  }
162
- function validatePackageRoutingRule(index, value, upstreamNames) {
211
+ /**
212
+ * Collects the issues of one routing rule. Returns the rule's parsed
213
+ * pattern (its name has any leading '!' stripped) when it is a parseable
214
+ * string, so the caller can run the match-all checks; `undefined` means
215
+ * the pattern is unknown and those checks do not apply. When
216
+ * `upstreamNames` is undefined (the `upstreams` block itself is invalid),
217
+ * the upstream-existence checks are skipped.
218
+ */
219
+ function collectPackageRoutingRuleIssues(onIssue, index, value, upstreamNames) {
163
220
  if (!isPlainObject(value)) {
164
- throw new Error(`packages[${index}] must be an object with 'pattern' and 'upstreams'`);
221
+ onIssue(new Error(`packages[${index}] must be an object with 'pattern' and 'upstreams'.`));
222
+ return undefined;
165
223
  }
166
- rejectUnknownKeys(`packages[${index}]`, value, ['pattern', 'upstreams']);
224
+ collectUnknownKeyIssues(onIssue, `packages[${index}]`, value, ['pattern', 'upstreams']);
167
225
  const { pattern, upstreams } = value;
226
+ let knownPattern;
168
227
  if (typeof pattern !== 'string') {
169
- throw new Error(`packages[${index}]: 'pattern' must be a string`);
170
- }
171
- let parsed;
172
- try {
173
- parsed = parsePackageNamePattern(pattern);
228
+ onIssue(new Error(`packages[${index}]: 'pattern' must be a string.`));
174
229
  }
175
- catch (cause) {
176
- throw new Error(`packages[${index}]: ${cause.message}`, { cause });
177
- }
178
- if (parsed.exclude) {
179
- throw new Error(`packages[${index}]: exclusion patterns ('!') are not supported in routing rules; `
180
- + `each rule stands alone, so there is nothing for an exclusion to subtract from`);
230
+ else {
231
+ try {
232
+ const parsed = parsePackageNamePattern(pattern);
233
+ if (parsed.exclude) {
234
+ onIssue(new Error(`packages[${index}]: exclusion patterns ('!') are not supported in routing rules; `
235
+ + `each rule stands alone, so there is nothing for an exclusion to subtract from.`));
236
+ }
237
+ knownPattern = parsed;
238
+ }
239
+ catch (cause) {
240
+ onIssue(new Error(`packages[${index}]: ${cause.message}`, { cause }));
241
+ }
181
242
  }
182
243
  if (!Array.isArray(upstreams) || upstreams.length === 0) {
183
- throw new Error(`packages[${index}]: 'upstreams' must be a non-empty array of upstream names`);
244
+ onIssue(new Error(`packages[${index}]: 'upstreams' must be a non-empty array of upstream names.`));
184
245
  }
185
- for (const name of upstreams) {
186
- if (typeof name !== 'string' || !upstreamNames.includes(name)) {
187
- throw new Error(`packages[${index}]: upstream '${String(name)}' is not defined under 'upstreams' `
188
- + `(defined: ${upstreamNames.map(known => `'${known}'`).join(', ')})`);
246
+ else {
247
+ for (const [entryIndex, name] of upstreams.entries()) {
248
+ if (typeof name !== 'string') {
249
+ // Unlike the existence check below, this does not depend on the
250
+ // 'upstreams' block, so it is never gated.
251
+ onIssue(new Error(`packages[${index}]: 'upstreams'[${entryIndex}] must be an upstream name.`));
252
+ }
253
+ else if (upstreamNames !== undefined && !upstreamNames.includes(name)) {
254
+ onIssue(new Error(`packages[${index}]: upstream '${name}' is not defined under 'upstreams' `
255
+ + `(defined: ${upstreamNames.map(known => `'${known}'`).join(', ')}).`));
256
+ }
189
257
  }
190
258
  }
191
- return value;
259
+ return knownPattern;
192
260
  }
193
261
  /**
194
262
  * Serializes a validated configuration into the canonical contents of
@@ -1 +1 @@
1
- {"version":3,"file":"registries.js","sourceRoot":"","sources":["../../../src/services/runner/registries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registries.js","sourceRoot":"","sources":["../../../src/services/runner/registries.ts"],"names":[],"mappings":"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"}