checkly 0.0.0-pr.686.4c0f5e3

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 (228) hide show
  1. package/README.md +43 -0
  2. package/bin/dev +17 -0
  3. package/bin/run +5 -0
  4. package/bin/run.cmd +3 -0
  5. package/constructs.d.ts +1 -0
  6. package/constructs.js +1 -0
  7. package/dist/auth/index.d.ts +15 -0
  8. package/dist/auth/index.js +228 -0
  9. package/dist/auth/index.js.map +1 -0
  10. package/dist/commands/authCommand.d.ts +5 -0
  11. package/dist/commands/authCommand.js +14 -0
  12. package/dist/commands/authCommand.js.map +1 -0
  13. package/dist/commands/baseCommand.d.ts +9 -0
  14. package/dist/commands/baseCommand.js +21 -0
  15. package/dist/commands/baseCommand.js.map +1 -0
  16. package/dist/commands/deploy.d.ts +13 -0
  17. package/dist/commands/deploy.js +171 -0
  18. package/dist/commands/deploy.js.map +1 -0
  19. package/dist/commands/destroy.d.ts +10 -0
  20. package/dist/commands/destroy.js +47 -0
  21. package/dist/commands/destroy.js.map +1 -0
  22. package/dist/commands/env/add.d.ts +13 -0
  23. package/dist/commands/env/add.js +54 -0
  24. package/dist/commands/env/add.js.map +1 -0
  25. package/dist/commands/env/ls.d.ts +6 -0
  26. package/dist/commands/env/ls.js +21 -0
  27. package/dist/commands/env/ls.js.map +1 -0
  28. package/dist/commands/env/pull.d.ts +12 -0
  29. package/dist/commands/env/pull.js +63 -0
  30. package/dist/commands/env/pull.js.map +1 -0
  31. package/dist/commands/env/rm.d.ts +12 -0
  32. package/dist/commands/env/rm.js +56 -0
  33. package/dist/commands/env/rm.js.map +1 -0
  34. package/dist/commands/env/update.d.ts +13 -0
  35. package/dist/commands/env/update.js +54 -0
  36. package/dist/commands/env/update.js.map +1 -0
  37. package/dist/commands/login.d.ts +13 -0
  38. package/dist/commands/login.js +129 -0
  39. package/dist/commands/login.js.map +1 -0
  40. package/dist/commands/logout.d.ts +9 -0
  41. package/dist/commands/logout.js +40 -0
  42. package/dist/commands/logout.js.map +1 -0
  43. package/dist/commands/runtimes.d.ts +6 -0
  44. package/dist/commands/runtimes.js +26 -0
  45. package/dist/commands/runtimes.js.map +1 -0
  46. package/dist/commands/switch.d.ts +9 -0
  47. package/dist/commands/switch.js +59 -0
  48. package/dist/commands/switch.js.map +1 -0
  49. package/dist/commands/test.d.ts +36 -0
  50. package/dist/commands/test.js +237 -0
  51. package/dist/commands/test.js.map +1 -0
  52. package/dist/commands/trigger.d.ts +32 -0
  53. package/dist/commands/trigger.js +173 -0
  54. package/dist/commands/trigger.js.map +1 -0
  55. package/dist/commands/whoami.d.ts +6 -0
  56. package/dist/commands/whoami.js +16 -0
  57. package/dist/commands/whoami.js.map +1 -0
  58. package/dist/config.d.ts +31 -0
  59. package/dist/config.js +8 -0
  60. package/dist/config.js.map +1 -0
  61. package/dist/constructs/alert-channel-subscription.d.ts +44 -0
  62. package/dist/constructs/alert-channel-subscription.js +39 -0
  63. package/dist/constructs/alert-channel-subscription.js.map +1 -0
  64. package/dist/constructs/alert-channel.d.ts +53 -0
  65. package/dist/constructs/alert-channel.js +55 -0
  66. package/dist/constructs/alert-channel.js.map +1 -0
  67. package/dist/constructs/api-check.d.ts +179 -0
  68. package/dist/constructs/api-check.js +248 -0
  69. package/dist/constructs/api-check.js.map +1 -0
  70. package/dist/constructs/browser-check.d.ts +59 -0
  71. package/dist/constructs/browser-check.js +102 -0
  72. package/dist/constructs/browser-check.js.map +1 -0
  73. package/dist/constructs/check-group.d.ts +116 -0
  74. package/dist/constructs/check-group.js +113 -0
  75. package/dist/constructs/check-group.js.map +1 -0
  76. package/dist/constructs/check.d.ts +111 -0
  77. package/dist/constructs/check.js +88 -0
  78. package/dist/constructs/check.js.map +1 -0
  79. package/dist/constructs/construct.d.ts +17 -0
  80. package/dist/constructs/construct.js +22 -0
  81. package/dist/constructs/construct.js.map +1 -0
  82. package/dist/constructs/email-alert-channel.d.ts +26 -0
  83. package/dist/constructs/email-alert-channel.js +37 -0
  84. package/dist/constructs/email-alert-channel.js.map +1 -0
  85. package/dist/constructs/environment-variable.d.ts +2 -0
  86. package/dist/constructs/environment-variable.js +3 -0
  87. package/dist/constructs/environment-variable.js.map +1 -0
  88. package/dist/constructs/frequency.d.ts +20 -0
  89. package/dist/constructs/frequency.js +26 -0
  90. package/dist/constructs/frequency.js.map +1 -0
  91. package/dist/constructs/http-header.d.ts +2 -0
  92. package/dist/constructs/http-header.js +3 -0
  93. package/dist/constructs/http-header.js.map +1 -0
  94. package/dist/constructs/index.d.ts +15 -0
  95. package/dist/constructs/index.js +32 -0
  96. package/dist/constructs/index.js.map +1 -0
  97. package/dist/constructs/key-value-pair.d.ts +5 -0
  98. package/dist/constructs/key-value-pair.js +3 -0
  99. package/dist/constructs/key-value-pair.js.map +1 -0
  100. package/dist/constructs/opsgenie-alert-channel.d.ts +45 -0
  101. package/dist/constructs/opsgenie-alert-channel.js +44 -0
  102. package/dist/constructs/opsgenie-alert-channel.js.map +1 -0
  103. package/dist/constructs/pagerduty-alert-channel.d.ts +39 -0
  104. package/dist/constructs/pagerduty-alert-channel.js +42 -0
  105. package/dist/constructs/pagerduty-alert-channel.js.map +1 -0
  106. package/dist/constructs/project.d.ts +57 -0
  107. package/dist/constructs/project.js +100 -0
  108. package/dist/constructs/project.js.map +1 -0
  109. package/dist/constructs/query-param.d.ts +2 -0
  110. package/dist/constructs/query-param.js +3 -0
  111. package/dist/constructs/query-param.js.map +1 -0
  112. package/dist/constructs/ref.d.ts +5 -0
  113. package/dist/constructs/ref.js +13 -0
  114. package/dist/constructs/ref.js.map +1 -0
  115. package/dist/constructs/slack-alert-channel.d.ts +26 -0
  116. package/dist/constructs/slack-alert-channel.js +40 -0
  117. package/dist/constructs/slack-alert-channel.js.map +1 -0
  118. package/dist/constructs/sms-alert-channel.d.ts +27 -0
  119. package/dist/constructs/sms-alert-channel.js +38 -0
  120. package/dist/constructs/sms-alert-channel.js.map +1 -0
  121. package/dist/constructs/validator-error.d.ts +2 -0
  122. package/dist/constructs/validator-error.js +7 -0
  123. package/dist/constructs/validator-error.js.map +1 -0
  124. package/dist/constructs/webhook-alert-channel.d.ts +59 -0
  125. package/dist/constructs/webhook-alert-channel.js +50 -0
  126. package/dist/constructs/webhook-alert-channel.js.map +1 -0
  127. package/dist/help/examples.d.ts +6 -0
  128. package/dist/help/examples.js +22 -0
  129. package/dist/help/examples.js.map +1 -0
  130. package/dist/help/help-extension.d.ts +4 -0
  131. package/dist/help/help-extension.js +41 -0
  132. package/dist/help/help-extension.js.map +1 -0
  133. package/dist/index.d.ts +3 -0
  134. package/dist/index.js +7 -0
  135. package/dist/index.js.map +1 -0
  136. package/dist/messages/common-messages.d.ts +5 -0
  137. package/dist/messages/common-messages.js +9 -0
  138. package/dist/messages/common-messages.js.map +1 -0
  139. package/dist/reporters/abstract-list.d.ts +35 -0
  140. package/dist/reporters/abstract-list.js +135 -0
  141. package/dist/reporters/abstract-list.js.map +1 -0
  142. package/dist/reporters/ci.d.ts +12 -0
  143. package/dist/reporters/ci.js +29 -0
  144. package/dist/reporters/ci.js.map +1 -0
  145. package/dist/reporters/dot.d.ts +12 -0
  146. package/dist/reporters/dot.js +28 -0
  147. package/dist/reporters/dot.js.map +1 -0
  148. package/dist/reporters/github.d.ts +34 -0
  149. package/dist/reporters/github.js +95 -0
  150. package/dist/reporters/github.js.map +1 -0
  151. package/dist/reporters/list.d.ts +14 -0
  152. package/dist/reporters/list.js +56 -0
  153. package/dist/reporters/list.js.map +1 -0
  154. package/dist/reporters/reporter.d.ts +15 -0
  155. package/dist/reporters/reporter.js +23 -0
  156. package/dist/reporters/reporter.js.map +1 -0
  157. package/dist/reporters/util.d.ts +15 -0
  158. package/dist/reporters/util.js +283 -0
  159. package/dist/reporters/util.js.map +1 -0
  160. package/dist/rest/accounts.d.ts +12 -0
  161. package/dist/rest/accounts.js +15 -0
  162. package/dist/rest/accounts.js.map +1 -0
  163. package/dist/rest/api.d.ts +27 -0
  164. package/dist/rest/api.js +90 -0
  165. package/dist/rest/api.js.map +1 -0
  166. package/dist/rest/assets.d.ts +13 -0
  167. package/dist/rest/assets.js +30 -0
  168. package/dist/rest/assets.js.map +1 -0
  169. package/dist/rest/environment-variables.d.ts +16 -0
  170. package/dist/rest/environment-variables.js +25 -0
  171. package/dist/rest/environment-variables.js.map +1 -0
  172. package/dist/rest/locations.d.ts +11 -0
  173. package/dist/rest/locations.js +12 -0
  174. package/dist/rest/locations.js.map +1 -0
  175. package/dist/rest/private-locations.d.ts +11 -0
  176. package/dist/rest/private-locations.js +12 -0
  177. package/dist/rest/private-locations.js.map +1 -0
  178. package/dist/rest/projects.d.ts +43 -0
  179. package/dist/rest/projects.js +24 -0
  180. package/dist/rest/projects.js.map +1 -0
  181. package/dist/rest/runtimes.d.ts +15 -0
  182. package/dist/rest/runtimes.js +15 -0
  183. package/dist/rest/runtimes.js.map +1 -0
  184. package/dist/rest/test-sessions.d.ts +57 -0
  185. package/dist/rest/test-sessions.js +21 -0
  186. package/dist/rest/test-sessions.js.map +1 -0
  187. package/dist/rest/users.d.ts +12 -0
  188. package/dist/rest/users.js +12 -0
  189. package/dist/rest/users.js.map +1 -0
  190. package/dist/services/abstract-check-runner.d.ts +55 -0
  191. package/dist/services/abstract-check-runner.js +154 -0
  192. package/dist/services/abstract-check-runner.js.map +1 -0
  193. package/dist/services/check-parser/collector.d.ts +33 -0
  194. package/dist/services/check-parser/collector.js +48 -0
  195. package/dist/services/check-parser/collector.js.map +1 -0
  196. package/dist/services/check-parser/errors.d.ts +8 -0
  197. package/dist/services/check-parser/errors.js +45 -0
  198. package/dist/services/check-parser/errors.js.map +1 -0
  199. package/dist/services/check-parser/parser.d.ts +39 -0
  200. package/dist/services/check-parser/parser.js +296 -0
  201. package/dist/services/check-parser/parser.js.map +1 -0
  202. package/dist/services/checkly-config-loader.d.ts +54 -0
  203. package/dist/services/checkly-config-loader.js +55 -0
  204. package/dist/services/checkly-config-loader.js.map +1 -0
  205. package/dist/services/config.d.ts +24 -0
  206. package/dist/services/config.js +75 -0
  207. package/dist/services/config.js.map +1 -0
  208. package/dist/services/project-parser.d.ts +19 -0
  209. package/dist/services/project-parser.js +87 -0
  210. package/dist/services/project-parser.js.map +1 -0
  211. package/dist/services/socket-client.d.ts +4 -0
  212. package/dist/services/socket-client.js +20 -0
  213. package/dist/services/socket-client.js.map +1 -0
  214. package/dist/services/test-filters.d.ts +2 -0
  215. package/dist/services/test-filters.js +16 -0
  216. package/dist/services/test-filters.js.map +1 -0
  217. package/dist/services/test-runner.d.ts +21 -0
  218. package/dist/services/test-runner.js +50 -0
  219. package/dist/services/test-runner.js.map +1 -0
  220. package/dist/services/trigger-runner.d.ts +26 -0
  221. package/dist/services/trigger-runner.js +47 -0
  222. package/dist/services/trigger-runner.js.map +1 -0
  223. package/dist/services/util.d.ts +30 -0
  224. package/dist/services/util.js +157 -0
  225. package/dist/services/util.js.map +1 -0
  226. package/dist/tsconfig.tsbuildinfo +1 -0
  227. package/oclif.manifest.json +527 -0
  228. package/package.json +174 -0
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const api = require("../rest/api");
4
+ const baseCommand_1 = require("./baseCommand");
5
+ class Runtimes extends baseCommand_1.BaseCommand {
6
+ async run() {
7
+ const { data: runtimes } = await api.runtimes.getAll();
8
+ const output = runtimes
9
+ .sort((a, b) => b.name.localeCompare(a.name))
10
+ .map(r => {
11
+ const { node, ...dependencies } = r.dependencies;
12
+ return {
13
+ name: r.name,
14
+ description: r.description,
15
+ stage: r.stage,
16
+ nodeVersion: node,
17
+ dependencies,
18
+ };
19
+ });
20
+ this.log(JSON.stringify(output, null, 2));
21
+ }
22
+ }
23
+ exports.default = Runtimes;
24
+ Runtimes.hidden = false;
25
+ Runtimes.description = 'List all supported runtimes and dependencies.';
26
+ //# sourceMappingURL=runtimes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimes.js","sourceRoot":"","sources":["../../src/commands/runtimes.ts"],"names":[],"mappings":";;AAAA,mCAAkC;AAClC,+CAA2C;AAE3C,MAAqB,QAAS,SAAQ,yBAAW;IAG/C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QACtD,MAAM,MAAM,GAAG,QAAQ;aACpB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,CAAA;YAChD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,IAAI;gBACjB,YAAY;aACb,CAAA;QACH,CAAC,CAAC,CAAA;QACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;;AAlBH,2BAmBC;AAlBQ,eAAM,GAAG,KAAK,CAAA;AACd,oBAAW,GAAG,+CAA+C,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { AuthCommand } from './authCommand';
2
+ export default class Switch extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ 'account-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chalk = require("chalk");
4
+ const core_1 = require("@oclif/core");
5
+ const inquirer = require("inquirer");
6
+ const config_1 = require("../services/config");
7
+ const api = require("../rest/api");
8
+ const authCommand_1 = require("./authCommand");
9
+ class Switch extends authCommand_1.AuthCommand {
10
+ async run() {
11
+ const { flags } = await this.parse(Switch);
12
+ const { 'account-id': accountId } = flags;
13
+ if (accountId) {
14
+ try {
15
+ const { data: account } = await api.accounts.get(accountId);
16
+ config_1.default.data.set('accountId', account.id);
17
+ this.log(`Account switched to ${chalk.bold.cyan(accountId)}`);
18
+ }
19
+ catch (e) {
20
+ throw new Error(`Failed to find an account corresponding to account id ${accountId}`);
21
+ }
22
+ this.exit(0);
23
+ }
24
+ try {
25
+ const { data: accounts } = await api.accounts.getAll();
26
+ if (accounts.length === 1) {
27
+ console.warn('Your user is only a member of one account: ' +
28
+ chalk.bold.cyan(accounts[0].name));
29
+ this.exit(0);
30
+ }
31
+ const { selectedAccountName } = await inquirer.prompt([
32
+ {
33
+ name: 'selectedAccountName',
34
+ type: 'list',
35
+ choices: accounts.map((account) => account.name),
36
+ message: 'Select a new Checkly account',
37
+ },
38
+ ]);
39
+ const { id, name } = accounts.find((account) => account.name === selectedAccountName);
40
+ config_1.default.data.set('accountId', id);
41
+ config_1.default.data.set('accountName', name);
42
+ this.log(`Account switched to ${chalk.bold.cyan(name)}`);
43
+ }
44
+ catch (err) {
45
+ throw new Error(`Failed to switch account. ${err.message}`);
46
+ }
47
+ }
48
+ }
49
+ exports.default = Switch;
50
+ Switch.hidden = false;
51
+ Switch.description = 'Switch user account.';
52
+ Switch.flags = {
53
+ 'account-id': core_1.Flags.string({
54
+ char: 'a',
55
+ name: 'accountId',
56
+ description: 'The id of the account you want to switch to.',
57
+ }),
58
+ };
59
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/commands/switch.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,sCAAmC;AACnC,qCAAoC;AACpC,+CAAuC;AACvC,mCAAkC;AAClC,+CAA2C;AAE3C,MAAqB,MAAO,SAAQ,yBAAW;IAW7C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1C,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;QAEzC,IAAI,SAAS,EAAE;YACb,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC3D,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;gBACxC,IAAI,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;aAC9D;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,yDAAyD,SAAS,EAAE,CAAC,CAAA;aACtF;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACb;QAED,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;YAEtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,IAAI,CACV,6CAA6C;oBAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACb;YAED,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpD;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;oBAChD,OAAO,EAAE,8BAA8B;iBACxC;aACF,CAAC,CAAA;YAEF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,mBAAmB,CAAE,CAAA;YAEtF,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAChC,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;YAEpC,IAAI,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACzD;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;SAC5D;IACH,CAAC;;AAvDH,yBAwDC;AAvDQ,aAAM,GAAG,KAAK,CAAA;AACd,kBAAW,GAAG,sBAAsB,CAAA;AACpC,YAAK,GAAG;IACb,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,8CAA8C;KAC5D,CAAC;CACH,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { RunLocation, PrivateRunLocation } from '../services/abstract-check-runner';
2
+ import { AuthCommand } from './authCommand';
3
+ import type { Region } from '..';
4
+ import { ReporterType } from '../reporters/reporter';
5
+ export default class Test extends AuthCommand {
6
+ static hidden: boolean;
7
+ static description: string;
8
+ static flags: {
9
+ location: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ 'private-location': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ grep: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
+ env: import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces/parser").CustomOptions>;
13
+ 'env-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
14
+ list: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ timeout: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
16
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
17
+ reporter: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
18
+ config: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
19
+ record: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
20
+ };
21
+ static args: {
22
+ fileArgs: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
23
+ };
24
+ static strict: boolean;
25
+ run(): Promise<void>;
26
+ prepareVerboseFlag(verboseFlag?: boolean, cliVerboseFlag?: boolean): boolean;
27
+ prepareReportersTypes(reporterFlag: ReporterType, cliReporters?: ReporterType[]): ReporterType[];
28
+ prepareRunLocation(configOptions?: {
29
+ runLocation?: keyof Region;
30
+ privateRunLocation?: string;
31
+ }, cliFlags?: {
32
+ runLocation?: keyof Region;
33
+ privateRunLocation?: string;
34
+ }): Promise<RunLocation>;
35
+ preparePrivateRunLocation(privateLocationSlugName: string): Promise<PrivateRunLocation>;
36
+ }
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const ci_info_1 = require("ci-info");
5
+ const api = require("../rest/api");
6
+ const config_1 = require("../services/config");
7
+ const project_parser_1 = require("../services/project-parser");
8
+ const abstract_check_runner_1 = require("../services/abstract-check-runner");
9
+ const test_runner_1 = require("../services/test-runner");
10
+ const checkly_config_loader_1 = require("../services/checkly-config-loader");
11
+ const test_filters_1 = require("../services/test-filters");
12
+ const authCommand_1 = require("./authCommand");
13
+ const constructs_1 = require("../constructs");
14
+ const util_1 = require("../services/util");
15
+ const reporter_1 = require("../reporters/reporter");
16
+ const common_messages_1 = require("../messages/common-messages");
17
+ const DEFAULT_REGION = 'eu-central-1';
18
+ class Test extends authCommand_1.AuthCommand {
19
+ async run() {
20
+ var _a, _b, _c, _d, _e, _f, _g;
21
+ core_1.ux.action.start('Parsing your project', undefined, { stdout: true });
22
+ const { flags, argv } = await this.parse(Test);
23
+ const { location: runLocation, 'private-location': privateRunLocation, grep, env, 'env-file': envFile, list, timeout, verbose: verboseFlag, reporter: reporterFlag, config: configFilename, record: shouldRecord, } = flags;
24
+ const filePatterns = argv;
25
+ const testEnvVars = await (0, util_1.getEnvs)(envFile, env);
26
+ const { configDirectory, configFilenames } = (0, util_1.splitConfigFilePath)(configFilename);
27
+ const { config: checklyConfig, constructs: checklyConfigConstructs, } = await (0, checkly_config_loader_1.loadChecklyConfig)(configDirectory, configFilenames);
28
+ const location = await this.prepareRunLocation(checklyConfig.cli, {
29
+ runLocation: runLocation,
30
+ privateRunLocation,
31
+ });
32
+ const verbose = this.prepareVerboseFlag(verboseFlag, (_a = checklyConfig.cli) === null || _a === void 0 ? void 0 : _a.verbose);
33
+ const reporterTypes = this.prepareReportersTypes(reporterFlag, (_b = checklyConfig.cli) === null || _b === void 0 ? void 0 : _b.reporters);
34
+ const { data: availableRuntimes } = await api.runtimes.getAll();
35
+ const project = await (0, project_parser_1.parseProject)({
36
+ directory: configDirectory,
37
+ projectLogicalId: checklyConfig.logicalId,
38
+ projectName: checklyConfig.projectName,
39
+ repoUrl: checklyConfig.repoUrl,
40
+ checkMatch: (_c = checklyConfig.checks) === null || _c === void 0 ? void 0 : _c.checkMatch,
41
+ browserCheckMatch: (_e = (_d = checklyConfig.checks) === null || _d === void 0 ? void 0 : _d.browserChecks) === null || _e === void 0 ? void 0 : _e.testMatch,
42
+ ignoreDirectoriesMatch: (_f = checklyConfig.checks) === null || _f === void 0 ? void 0 : _f.ignoreDirectoriesMatch,
43
+ checkDefaults: checklyConfig.checks,
44
+ browserCheckDefaults: (_g = checklyConfig.checks) === null || _g === void 0 ? void 0 : _g.browserChecks,
45
+ availableRuntimes: availableRuntimes.reduce((acc, runtime) => {
46
+ acc[runtime.name] = runtime;
47
+ return acc;
48
+ }, {}),
49
+ checklyConfigConstructs,
50
+ });
51
+ const checks = Object.entries(project.data.check)
52
+ .filter(([, check]) => {
53
+ if (check instanceof constructs_1.BrowserCheck) {
54
+ return (0, test_filters_1.filterByFileNamePattern)(filePatterns, check.scriptPath) ||
55
+ (0, test_filters_1.filterByFileNamePattern)(filePatterns, check.__checkFilePath);
56
+ }
57
+ else {
58
+ return (0, test_filters_1.filterByFileNamePattern)(filePatterns, check.__checkFilePath);
59
+ }
60
+ })
61
+ .filter(([, check]) => {
62
+ return (0, test_filters_1.filterByCheckNamePattern)(grep, check.name);
63
+ })
64
+ .map(([key, check]) => {
65
+ var _a;
66
+ check.logicalId = key;
67
+ if (Object.keys(testEnvVars).length) {
68
+ check.environmentVariables = ((_a = check.environmentVariables) === null || _a === void 0 ? void 0 : _a.filter((envVar) => !testEnvVars[envVar.key])) || [];
69
+ for (const [key, value] of Object.entries(testEnvVars)) {
70
+ check.environmentVariables.push({
71
+ key,
72
+ value,
73
+ locked: true,
74
+ });
75
+ }
76
+ }
77
+ return check;
78
+ });
79
+ core_1.ux.action.stop();
80
+ if (!checks.length) {
81
+ this.log(`Unable to find checks to run${filePatterns[0] !== '.*' ? ' using [FILEARGS]=\'' + filePatterns + '\'' : ''}.`);
82
+ return;
83
+ }
84
+ const reporters = (0, reporter_1.createReporters)(reporterTypes, location, verbose);
85
+ if (list) {
86
+ reporters.forEach(r => r.onBeginStatic());
87
+ return;
88
+ }
89
+ const repoInfo = (0, util_1.getGitInformation)(project.repoUrl);
90
+ const ciInfo = (0, util_1.getCiInformation)();
91
+ const runner = new test_runner_1.default(config_1.default.getAccountId(), project, checks, location, timeout, verbose, shouldRecord, repoInfo, ciInfo.environment);
92
+ runner.on(abstract_check_runner_1.Events.RUN_STARTED, (checks, testSessionId) => reporters.forEach(r => r.onBegin(checks, testSessionId)));
93
+ runner.on(abstract_check_runner_1.Events.CHECK_SUCCESSFUL, (checkRunId, check, result, links) => {
94
+ if (result.hasFailures) {
95
+ process.exitCode = 1;
96
+ }
97
+ reporters.forEach(r => r.onCheckEnd(checkRunId, {
98
+ logicalId: check.logicalId,
99
+ sourceFile: check.getSourceFile(),
100
+ ...result,
101
+ }, links));
102
+ });
103
+ runner.on(abstract_check_runner_1.Events.CHECK_FAILED, (checkRunId, check, message) => {
104
+ reporters.forEach(r => r.onCheckEnd(checkRunId, {
105
+ ...check,
106
+ logicalId: check.logicalId,
107
+ sourceFile: check.getSourceFile(),
108
+ hasFailures: true,
109
+ runError: message,
110
+ }));
111
+ process.exitCode = 1;
112
+ });
113
+ runner.on(abstract_check_runner_1.Events.RUN_FINISHED, () => reporters.forEach(r => r.onEnd()));
114
+ runner.on(abstract_check_runner_1.Events.ERROR, (err) => {
115
+ reporters.forEach(r => r.onError(err));
116
+ process.exitCode = 1;
117
+ });
118
+ await runner.run();
119
+ }
120
+ prepareVerboseFlag(verboseFlag, cliVerboseFlag) {
121
+ var _a;
122
+ return (_a = verboseFlag !== null && verboseFlag !== void 0 ? verboseFlag : cliVerboseFlag) !== null && _a !== void 0 ? _a : false;
123
+ }
124
+ prepareReportersTypes(reporterFlag, cliReporters = []) {
125
+ if (!reporterFlag && !cliReporters.length) {
126
+ return [ci_info_1.isCI ? 'ci' : 'list'];
127
+ }
128
+ return reporterFlag ? [reporterFlag] : cliReporters;
129
+ }
130
+ async prepareRunLocation(configOptions = {}, cliFlags = {}) {
131
+ // Command line options take precedence
132
+ if (cliFlags.runLocation) {
133
+ const { data: availableLocations } = await api.locations.getAll();
134
+ if (availableLocations.some(l => l.region === cliFlags.runLocation)) {
135
+ return { type: 'PUBLIC', region: cliFlags.runLocation };
136
+ }
137
+ throw new Error(`Unable to run checks on unsupported location "${cliFlags.runLocation}". ` +
138
+ `Supported locations are:\n${availableLocations.map(l => `${l.region}`).join('\n')}`);
139
+ }
140
+ else if (cliFlags.privateRunLocation) {
141
+ return this.preparePrivateRunLocation(cliFlags.privateRunLocation);
142
+ }
143
+ else if (configOptions.runLocation && configOptions.privateRunLocation) {
144
+ throw new Error('Both runLocation and privateRunLocation fields were set in your Checkly config file.' +
145
+ ` Please only specify one run location. The configured locations were' +
146
+ ' "${configOptions.runLocation}" and "${configOptions.privateRunLocation}"`);
147
+ }
148
+ else if (configOptions.runLocation) {
149
+ return { type: 'PUBLIC', region: configOptions.runLocation };
150
+ }
151
+ else if (configOptions.privateRunLocation) {
152
+ return this.preparePrivateRunLocation(configOptions.privateRunLocation);
153
+ }
154
+ else {
155
+ return { type: 'PUBLIC', region: DEFAULT_REGION };
156
+ }
157
+ }
158
+ async preparePrivateRunLocation(privateLocationSlugName) {
159
+ try {
160
+ const { data: privateLocations } = await api.privateLocations.getAll();
161
+ const privateLocation = privateLocations.find(({ slugName }) => slugName === privateLocationSlugName);
162
+ if (privateLocation) {
163
+ return { type: 'PRIVATE', id: privateLocation.id, slugName: privateLocationSlugName };
164
+ }
165
+ const { data: account } = await api.accounts.get(config_1.default.getAccountId());
166
+ throw new Error(`The specified private location "${privateLocationSlugName}" was not found on account "${account.name}".`);
167
+ }
168
+ catch (err) {
169
+ throw new Error(`Failed to get private locations. ${err.message}.`);
170
+ }
171
+ }
172
+ }
173
+ exports.default = Test;
174
+ Test.hidden = false;
175
+ Test.description = 'Test your checks on Checkly.';
176
+ Test.flags = {
177
+ location: core_1.Flags.string({
178
+ char: 'l',
179
+ description: 'The location to run the checks at.',
180
+ }),
181
+ 'private-location': core_1.Flags.string({
182
+ description: 'The private location to run checks at.',
183
+ exclusive: ['location'],
184
+ }),
185
+ grep: core_1.Flags.string({
186
+ char: 'g',
187
+ description: 'Only run checks where the check name matches a regular expression.',
188
+ default: '.*',
189
+ }),
190
+ env: core_1.Flags.string({
191
+ char: 'e',
192
+ description: 'Env vars to be passed to the test run.',
193
+ exclusive: ['env-file'],
194
+ multiple: true,
195
+ default: [],
196
+ }),
197
+ 'env-file': core_1.Flags.string({
198
+ description: 'dotenv file path to be passed. For example --env-file="./.env"',
199
+ exclusive: ['env'],
200
+ }),
201
+ list: core_1.Flags.boolean({
202
+ default: false,
203
+ description: 'list all checks but don\'t run them.',
204
+ }),
205
+ timeout: core_1.Flags.integer({
206
+ default: 240,
207
+ description: 'A timeout (in seconds) to wait for checks to complete.',
208
+ }),
209
+ verbose: core_1.Flags.boolean({
210
+ char: 'v',
211
+ description: 'Always show the full logs of the checks.',
212
+ allowNo: true,
213
+ }),
214
+ reporter: core_1.Flags.string({
215
+ char: 'r',
216
+ description: 'A list of custom reporters for the test output.',
217
+ options: ['list', 'dot', 'ci', 'github'],
218
+ }),
219
+ config: core_1.Flags.string({
220
+ char: 'c',
221
+ description: common_messages_1.default.configFile,
222
+ }),
223
+ record: core_1.Flags.boolean({
224
+ description: 'Record test results in Checkly as a test session with full logs, traces and videos.',
225
+ default: false,
226
+ }),
227
+ };
228
+ Test.args = {
229
+ fileArgs: core_1.Args.string({
230
+ name: 'files',
231
+ required: false,
232
+ description: 'Only run checks where the file name matches a regular expression',
233
+ default: '.*',
234
+ }),
235
+ };
236
+ Test.strict = false;
237
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { AuthCommand } from './authCommand';
2
+ import type { Region } from '..';
3
+ import { RunLocation, PrivateRunLocation } from '../services/abstract-check-runner';
4
+ import { ReporterType } from '../reporters/reporter';
5
+ export default class Trigger extends AuthCommand {
6
+ static hidden: boolean;
7
+ static description: string;
8
+ static flags: {
9
+ location: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ 'private-location': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ tags: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
+ config: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
13
+ timeout: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
14
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ reporter: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
16
+ env: import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces/parser").CustomOptions>;
17
+ 'env-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
18
+ record: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
19
+ 'test-session-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
20
+ };
21
+ run(): Promise<void>;
22
+ prepareRunLocation(configOptions?: {
23
+ runLocation?: keyof Region;
24
+ privateRunLocation?: string;
25
+ }, cliFlags?: {
26
+ runLocation?: keyof Region;
27
+ privateRunLocation?: string;
28
+ }): Promise<RunLocation>;
29
+ preparePrivateRunLocation(privateLocationSlugName: string): Promise<PrivateRunLocation>;
30
+ prepareVerboseFlag(verboseFlag?: boolean, cliVerboseFlag?: boolean): boolean;
31
+ prepareReportersTypes(reporterFlag: ReporterType, cliReporters?: ReporterType[]): ReporterType[];
32
+ }
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const ci_info_1 = require("ci-info");
5
+ const api = require("../rest/api");
6
+ const authCommand_1 = require("./authCommand");
7
+ const checkly_config_loader_1 = require("../services/checkly-config-loader");
8
+ const util_1 = require("../services/util");
9
+ const trigger_runner_1 = require("../services/trigger-runner");
10
+ const abstract_check_runner_1 = require("../services/abstract-check-runner");
11
+ const config_1 = require("../services/config");
12
+ const reporter_1 = require("../reporters/reporter");
13
+ const DEFAULT_REGION = 'eu-central-1';
14
+ class Trigger extends authCommand_1.AuthCommand {
15
+ async run() {
16
+ var _a, _b, _c;
17
+ const { flags } = await this.parse(Trigger);
18
+ const { location: runLocation, 'private-location': privateRunLocation, config: configFilename, tags: targetTags, timeout, verbose: verboseFlag, record: shouldRecord, reporter: reporterFlag, env, 'env-file': envFile, 'test-session-name': testSessionName, } = flags;
19
+ const envVars = await (0, util_1.getEnvs)(envFile, env);
20
+ const { configDirectory, configFilenames } = (0, util_1.splitConfigFilePath)(configFilename);
21
+ let checklyConfig;
22
+ try {
23
+ const { config } = await (0, checkly_config_loader_1.loadChecklyConfig)(configDirectory, configFilenames);
24
+ checklyConfig = config;
25
+ }
26
+ catch (err) { } // Don't throw an error if the config file is missing
27
+ const location = await this.prepareRunLocation(checklyConfig === null || checklyConfig === void 0 ? void 0 : checklyConfig.cli, {
28
+ runLocation: runLocation,
29
+ privateRunLocation,
30
+ });
31
+ const verbose = this.prepareVerboseFlag(verboseFlag, (_a = checklyConfig === null || checklyConfig === void 0 ? void 0 : checklyConfig.cli) === null || _a === void 0 ? void 0 : _a.verbose);
32
+ const reporterTypes = this.prepareReportersTypes(reporterFlag, (_b = checklyConfig === null || checklyConfig === void 0 ? void 0 : checklyConfig.cli) === null || _b === void 0 ? void 0 : _b.reporters);
33
+ const reporters = (0, reporter_1.createReporters)(reporterTypes, location, verbose);
34
+ const repoInfo = (0, util_1.getGitInformation)();
35
+ const ciInfo = (0, util_1.getCiInformation)();
36
+ const runner = new trigger_runner_1.default(config_1.default.getAccountId(), timeout, verbose, shouldRecord, location, (_c = targetTags === null || targetTags === void 0 ? void 0 : targetTags.map((tags) => tags.split(','))) !== null && _c !== void 0 ? _c : [], Object.entries(envVars).map(([key, value]) => ({ key, value })), repoInfo, ciInfo.environment, testSessionName);
37
+ // TODO: This is essentially the same for `checkly test`. Maybe reuse code.
38
+ runner.on(abstract_check_runner_1.Events.RUN_STARTED, (checks, testSessionId) => reporters.forEach(r => r.onBegin(checks, testSessionId)));
39
+ runner.on(abstract_check_runner_1.Events.CHECK_SUCCESSFUL, (checkRunId, _, result, links) => {
40
+ if (result.hasFailures) {
41
+ process.exitCode = 1;
42
+ }
43
+ reporters.forEach(r => r.onCheckEnd(checkRunId, result, links));
44
+ });
45
+ runner.on(abstract_check_runner_1.Events.CHECK_FAILED, (checkRunId, check, message) => {
46
+ reporters.forEach(r => r.onCheckEnd(checkRunId, {
47
+ ...check,
48
+ hasFailures: true,
49
+ runError: message,
50
+ }));
51
+ process.exitCode = 1;
52
+ });
53
+ runner.on(abstract_check_runner_1.Events.RUN_FINISHED, () => reporters.forEach(r => r.onEnd()));
54
+ runner.on(abstract_check_runner_1.Events.ERROR, (err) => {
55
+ reporters.forEach(r => r.onError(err));
56
+ process.exitCode = 1;
57
+ });
58
+ await runner.run();
59
+ }
60
+ // TODO: Reuse prepare* methods from the `checkly test command`
61
+ async prepareRunLocation(configOptions = {}, cliFlags = {}) {
62
+ // Command line options take precedence
63
+ if (cliFlags.runLocation) {
64
+ const { data: availableLocations } = await api.locations.getAll();
65
+ if (availableLocations.some(l => l.region === cliFlags.runLocation)) {
66
+ return { type: 'PUBLIC', region: cliFlags.runLocation };
67
+ }
68
+ throw new Error(`Unable to run checks on unsupported location "${cliFlags.runLocation}". ` +
69
+ `Supported locations are:\n${availableLocations.map(l => `${l.region}`).join('\n')}`);
70
+ }
71
+ else if (cliFlags.privateRunLocation) {
72
+ return this.preparePrivateRunLocation(cliFlags.privateRunLocation);
73
+ }
74
+ else if (configOptions.runLocation && configOptions.privateRunLocation) {
75
+ throw new Error('Both runLocation and privateRunLocation fields were set in the Checkly config file.' +
76
+ ` Please only specify one run location. The configured locations were' +
77
+ ' "${configOptions.runLocation}" and "${configOptions.privateRunLocation}"`);
78
+ }
79
+ else if (configOptions.runLocation) {
80
+ return { type: 'PUBLIC', region: configOptions.runLocation };
81
+ }
82
+ else if (configOptions.privateRunLocation) {
83
+ return this.preparePrivateRunLocation(configOptions.privateRunLocation);
84
+ }
85
+ else {
86
+ return { type: 'PUBLIC', region: DEFAULT_REGION };
87
+ }
88
+ }
89
+ async preparePrivateRunLocation(privateLocationSlugName) {
90
+ try {
91
+ const { data: privateLocations } = await api.privateLocations.getAll();
92
+ const privateLocation = privateLocations.find(({ slugName }) => slugName === privateLocationSlugName);
93
+ if (privateLocation) {
94
+ return { type: 'PRIVATE', id: privateLocation.id, slugName: privateLocationSlugName };
95
+ }
96
+ const { data: account } = await api.accounts.get(config_1.default.getAccountId());
97
+ throw new Error(`The specified private location "${privateLocationSlugName}" was not found on account "${account.name}".`);
98
+ }
99
+ catch (err) {
100
+ throw new Error(`Failed to get private locations. ${err.message}.`);
101
+ }
102
+ }
103
+ prepareVerboseFlag(verboseFlag, cliVerboseFlag) {
104
+ var _a;
105
+ return (_a = verboseFlag !== null && verboseFlag !== void 0 ? verboseFlag : cliVerboseFlag) !== null && _a !== void 0 ? _a : false;
106
+ }
107
+ prepareReportersTypes(reporterFlag, cliReporters = []) {
108
+ if (!reporterFlag && !cliReporters.length) {
109
+ return [ci_info_1.isCI ? 'ci' : 'list'];
110
+ }
111
+ return reporterFlag ? [reporterFlag] : cliReporters;
112
+ }
113
+ }
114
+ exports.default = Trigger;
115
+ Trigger.hidden = false;
116
+ Trigger.description = 'Trigger checks on Checkly';
117
+ Trigger.flags = {
118
+ location: core_1.Flags.string({
119
+ char: 'l',
120
+ description: 'The location to run the checks at.',
121
+ }),
122
+ 'private-location': core_1.Flags.string({
123
+ description: 'The private location to run checks at.',
124
+ exclusive: ['location'],
125
+ }),
126
+ tags: core_1.Flags.string({
127
+ char: 't',
128
+ description: 'Filter the checks to be run using a comma separated list of tags.' +
129
+ ' Checks will only be run if they contain all of the specified tags.' +
130
+ ' Multiple --tags flags can be passed, in which case checks will be run if they match any of the --tags filters.' +
131
+ ' F.ex. `--tags production,webapp --tags production,backend` will run checks with tags (production AND webapp) OR (production AND backend).',
132
+ multiple: true,
133
+ required: false,
134
+ }),
135
+ config: core_1.Flags.string({
136
+ char: 'c',
137
+ description: 'The Checkly CLI config filename.',
138
+ }),
139
+ timeout: core_1.Flags.integer({
140
+ default: 240,
141
+ description: 'A timeout (in seconds) to wait for checks to complete.',
142
+ }),
143
+ verbose: core_1.Flags.boolean({
144
+ char: 'v',
145
+ description: 'Always show the full logs of the checks.',
146
+ allowNo: true,
147
+ }),
148
+ reporter: core_1.Flags.string({
149
+ char: 'r',
150
+ description: 'A list of custom reporters for the test output.',
151
+ options: ['list', 'dot', 'ci', 'github'],
152
+ }),
153
+ env: core_1.Flags.string({
154
+ char: 'e',
155
+ description: 'Env vars to be passed to the check run.',
156
+ exclusive: ['env-file'],
157
+ multiple: true,
158
+ default: [],
159
+ }),
160
+ 'env-file': core_1.Flags.string({
161
+ description: 'dotenv file path to be passed. For example --env-file="./.env"',
162
+ exclusive: ['env'],
163
+ }),
164
+ record: core_1.Flags.boolean({
165
+ description: 'Record check results in Checkly as a test session with full logs, traces and videos.',
166
+ default: false,
167
+ }),
168
+ 'test-session-name': core_1.Flags.string({
169
+ char: 'n',
170
+ description: 'A name to use when storing results in Checkly with --record.',
171
+ }),
172
+ };
173
+ //# sourceMappingURL=trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/commands/trigger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { AuthCommand } from './authCommand';
2
+ export default class Whoami extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ run(): Promise<void>;
6
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("../services/config");
4
+ const api = require("../rest/api");
5
+ const authCommand_1 = require("./authCommand");
6
+ class Whoami extends authCommand_1.AuthCommand {
7
+ async run() {
8
+ const { data: account } = await api.accounts.get(config_1.default.getAccountId());
9
+ const { data: user } = await api.user.get();
10
+ this.log(`You are currently on account "${account.name}" (${account.id}) as ${user.name}.`);
11
+ }
12
+ }
13
+ exports.default = Whoami;
14
+ Whoami.hidden = false;
15
+ Whoami.description = 'See your currently logged in account and user.';
16
+ //# sourceMappingURL=whoami.js.map