checkly 3.1.0 → 4.0.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 (227) hide show
  1. package/README.md +42 -108
  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 +247 -0
  51. package/dist/commands/test.js.map +1 -0
  52. package/dist/commands/whoami.d.ts +6 -0
  53. package/dist/commands/whoami.js +16 -0
  54. package/dist/commands/whoami.js.map +1 -0
  55. package/dist/config.d.ts +31 -0
  56. package/dist/config.js +8 -0
  57. package/dist/config.js.map +1 -0
  58. package/dist/constructs/alert-channel-subscription.d.ts +44 -0
  59. package/dist/constructs/alert-channel-subscription.js +39 -0
  60. package/dist/constructs/alert-channel-subscription.js.map +1 -0
  61. package/dist/constructs/alert-channel.d.ts +53 -0
  62. package/dist/constructs/alert-channel.js +55 -0
  63. package/dist/constructs/alert-channel.js.map +1 -0
  64. package/dist/constructs/api-check.d.ts +179 -0
  65. package/dist/constructs/api-check.js +248 -0
  66. package/dist/constructs/api-check.js.map +1 -0
  67. package/dist/constructs/browser-check.d.ts +59 -0
  68. package/dist/constructs/browser-check.js +102 -0
  69. package/dist/constructs/browser-check.js.map +1 -0
  70. package/dist/constructs/check-group.d.ts +116 -0
  71. package/dist/constructs/check-group.js +113 -0
  72. package/dist/constructs/check-group.js.map +1 -0
  73. package/dist/constructs/check.d.ts +111 -0
  74. package/dist/constructs/check.js +88 -0
  75. package/dist/constructs/check.js.map +1 -0
  76. package/dist/constructs/construct.d.ts +17 -0
  77. package/dist/constructs/construct.js +22 -0
  78. package/dist/constructs/construct.js.map +1 -0
  79. package/dist/constructs/email-alert-channel.d.ts +26 -0
  80. package/dist/constructs/email-alert-channel.js +37 -0
  81. package/dist/constructs/email-alert-channel.js.map +1 -0
  82. package/dist/constructs/environment-variable.d.ts +2 -0
  83. package/dist/constructs/environment-variable.js +3 -0
  84. package/dist/constructs/environment-variable.js.map +1 -0
  85. package/dist/constructs/frequency.d.ts +20 -0
  86. package/dist/constructs/frequency.js +26 -0
  87. package/dist/constructs/frequency.js.map +1 -0
  88. package/dist/constructs/http-header.d.ts +2 -0
  89. package/dist/constructs/http-header.js +3 -0
  90. package/dist/constructs/http-header.js.map +1 -0
  91. package/dist/constructs/index.d.ts +15 -0
  92. package/dist/constructs/index.js +32 -0
  93. package/dist/constructs/index.js.map +1 -0
  94. package/dist/constructs/key-value-pair.d.ts +5 -0
  95. package/dist/constructs/key-value-pair.js +3 -0
  96. package/dist/constructs/key-value-pair.js.map +1 -0
  97. package/dist/constructs/opsgenie-alert-channel.d.ts +45 -0
  98. package/dist/constructs/opsgenie-alert-channel.js +44 -0
  99. package/dist/constructs/opsgenie-alert-channel.js.map +1 -0
  100. package/dist/constructs/pagerduty-alert-channel.d.ts +39 -0
  101. package/dist/constructs/pagerduty-alert-channel.js +42 -0
  102. package/dist/constructs/pagerduty-alert-channel.js.map +1 -0
  103. package/dist/constructs/project.d.ts +57 -0
  104. package/dist/constructs/project.js +100 -0
  105. package/dist/constructs/project.js.map +1 -0
  106. package/dist/constructs/query-param.d.ts +2 -0
  107. package/dist/constructs/query-param.js +3 -0
  108. package/dist/constructs/query-param.js.map +1 -0
  109. package/dist/constructs/ref.d.ts +5 -0
  110. package/dist/constructs/ref.js +13 -0
  111. package/dist/constructs/ref.js.map +1 -0
  112. package/dist/constructs/slack-alert-channel.d.ts +26 -0
  113. package/dist/constructs/slack-alert-channel.js +40 -0
  114. package/dist/constructs/slack-alert-channel.js.map +1 -0
  115. package/dist/constructs/sms-alert-channel.d.ts +27 -0
  116. package/dist/constructs/sms-alert-channel.js +38 -0
  117. package/dist/constructs/sms-alert-channel.js.map +1 -0
  118. package/dist/constructs/validator-error.d.ts +2 -0
  119. package/dist/constructs/validator-error.js +7 -0
  120. package/dist/constructs/validator-error.js.map +1 -0
  121. package/dist/constructs/webhook-alert-channel.d.ts +59 -0
  122. package/dist/constructs/webhook-alert-channel.js +50 -0
  123. package/dist/constructs/webhook-alert-channel.js.map +1 -0
  124. package/dist/help/examples.d.ts +6 -0
  125. package/dist/help/examples.js +22 -0
  126. package/dist/help/examples.js.map +1 -0
  127. package/dist/help/help-extension.d.ts +4 -0
  128. package/dist/help/help-extension.js +41 -0
  129. package/dist/help/help-extension.js.map +1 -0
  130. package/dist/index.d.ts +3 -0
  131. package/dist/index.js +7 -0
  132. package/dist/index.js.map +1 -0
  133. package/dist/messages/common-messages.d.ts +5 -0
  134. package/dist/messages/common-messages.js +9 -0
  135. package/dist/messages/common-messages.js.map +1 -0
  136. package/dist/reporters/abstract-list.d.ts +34 -0
  137. package/dist/reporters/abstract-list.js +122 -0
  138. package/dist/reporters/abstract-list.js.map +1 -0
  139. package/dist/reporters/ci.d.ts +12 -0
  140. package/dist/reporters/ci.js +29 -0
  141. package/dist/reporters/ci.js.map +1 -0
  142. package/dist/reporters/dot.d.ts +12 -0
  143. package/dist/reporters/dot.js +28 -0
  144. package/dist/reporters/dot.js.map +1 -0
  145. package/dist/reporters/github.d.ts +33 -0
  146. package/dist/reporters/github.js +93 -0
  147. package/dist/reporters/github.js.map +1 -0
  148. package/dist/reporters/list.d.ts +13 -0
  149. package/dist/reporters/list.js +57 -0
  150. package/dist/reporters/list.js.map +1 -0
  151. package/dist/reporters/reporter.d.ts +14 -0
  152. package/dist/reporters/reporter.js +23 -0
  153. package/dist/reporters/reporter.js.map +1 -0
  154. package/dist/reporters/util.d.ts +15 -0
  155. package/dist/reporters/util.js +283 -0
  156. package/dist/reporters/util.js.map +1 -0
  157. package/dist/rest/accounts.d.ts +12 -0
  158. package/dist/rest/accounts.js +15 -0
  159. package/dist/rest/accounts.js.map +1 -0
  160. package/dist/rest/api.d.ts +27 -0
  161. package/dist/rest/api.js +90 -0
  162. package/dist/rest/api.js.map +1 -0
  163. package/dist/rest/assets.d.ts +13 -0
  164. package/dist/rest/assets.js +30 -0
  165. package/dist/rest/assets.js.map +1 -0
  166. package/dist/rest/environment-variables.d.ts +16 -0
  167. package/dist/rest/environment-variables.js +25 -0
  168. package/dist/rest/environment-variables.js.map +1 -0
  169. package/dist/rest/locations.d.ts +11 -0
  170. package/dist/rest/locations.js +12 -0
  171. package/dist/rest/locations.js.map +1 -0
  172. package/dist/rest/private-locations.d.ts +11 -0
  173. package/dist/rest/private-locations.js +12 -0
  174. package/dist/rest/private-locations.js.map +1 -0
  175. package/dist/rest/projects.d.ts +43 -0
  176. package/dist/rest/projects.js +24 -0
  177. package/dist/rest/projects.js.map +1 -0
  178. package/dist/rest/runtimes.d.ts +15 -0
  179. package/dist/rest/runtimes.js +15 -0
  180. package/dist/rest/runtimes.js.map +1 -0
  181. package/dist/rest/test-sessions.d.ts +26 -0
  182. package/dist/rest/test-sessions.js +12 -0
  183. package/dist/rest/test-sessions.js.map +1 -0
  184. package/dist/rest/users.d.ts +12 -0
  185. package/dist/rest/users.js +12 -0
  186. package/dist/rest/users.js.map +1 -0
  187. package/dist/services/abstract-check-runner.d.ts +50 -0
  188. package/dist/services/abstract-check-runner.js +151 -0
  189. package/dist/services/abstract-check-runner.js.map +1 -0
  190. package/dist/services/check-parser/collector.d.ts +33 -0
  191. package/dist/services/check-parser/collector.js +48 -0
  192. package/dist/services/check-parser/collector.js.map +1 -0
  193. package/dist/services/check-parser/errors.d.ts +8 -0
  194. package/dist/services/check-parser/errors.js +45 -0
  195. package/dist/services/check-parser/errors.js.map +1 -0
  196. package/dist/services/check-parser/parser.d.ts +39 -0
  197. package/dist/services/check-parser/parser.js +296 -0
  198. package/dist/services/check-parser/parser.js.map +1 -0
  199. package/dist/services/checkly-config-loader.d.ts +54 -0
  200. package/dist/services/checkly-config-loader.js +55 -0
  201. package/dist/services/checkly-config-loader.js.map +1 -0
  202. package/dist/services/config.d.ts +24 -0
  203. package/dist/services/config.js +73 -0
  204. package/dist/services/config.js.map +1 -0
  205. package/dist/services/project-parser.d.ts +19 -0
  206. package/dist/services/project-parser.js +87 -0
  207. package/dist/services/project-parser.js.map +1 -0
  208. package/dist/services/socket-client.d.ts +4 -0
  209. package/dist/services/socket-client.js +20 -0
  210. package/dist/services/socket-client.js.map +1 -0
  211. package/dist/services/test-filters.d.ts +2 -0
  212. package/dist/services/test-filters.js +16 -0
  213. package/dist/services/test-filters.js.map +1 -0
  214. package/dist/services/test-runner.d.ts +21 -0
  215. package/dist/services/test-runner.js +50 -0
  216. package/dist/services/test-runner.js.map +1 -0
  217. package/dist/services/util.d.ts +29 -0
  218. package/dist/services/util.js +147 -0
  219. package/dist/services/util.js.map +1 -0
  220. package/dist/tsconfig.tsbuildinfo +1 -0
  221. package/oclif.manifest.json +423 -0
  222. package/package.json +163 -18
  223. package/LICENSE +0 -121
  224. package/dist/checkly.min.js +0 -1
  225. package/index.js +0 -285
  226. package/logo.png +0 -0
  227. package/test.js +0 -183
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _Login_instances, _Login_promptForLoginOrSignUp;
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const open = require("open");
10
+ const chalk = require("chalk");
11
+ const core_1 = require("@oclif/core");
12
+ const baseCommand_1 = require("./baseCommand");
13
+ const inquirer = require("inquirer");
14
+ const config_1 = require("../services/config");
15
+ const api = require("../rest/api");
16
+ const auth_1 = require("../auth");
17
+ const selectAccount = async (accounts) => {
18
+ if (accounts.length === 1) {
19
+ return accounts[0];
20
+ }
21
+ const { accountName } = await inquirer.prompt([
22
+ {
23
+ name: 'accountName',
24
+ type: 'list',
25
+ choices: accounts,
26
+ message: 'Which account do you want to use?',
27
+ },
28
+ ]);
29
+ return accounts.find(({ name }) => name === accountName);
30
+ };
31
+ class Login extends baseCommand_1.BaseCommand {
32
+ constructor() {
33
+ super(...arguments);
34
+ _Login_instances.add(this);
35
+ this._checkExistingCredentials = async () => {
36
+ if (config_1.default.hasEnvVarsConfigured()) {
37
+ this.warn('`CHECKLY_API_KEY` ' +
38
+ 'or `CHECKLY_ACCOUNT_ID` environment variables are configured. You must delete them to use `npx checkly login`.');
39
+ this.exit(0);
40
+ }
41
+ const hasValidCredentials = config_1.default.hasValidCredentials();
42
+ if (hasValidCredentials) {
43
+ const { setNewkey } = await inquirer.prompt([
44
+ {
45
+ name: 'setNewkey',
46
+ type: 'confirm',
47
+ message: `You are currently logged in to "${config_1.default.data.get('accountName')}". Do you want to log out and log in to a different account?`,
48
+ },
49
+ ]);
50
+ !setNewkey && this.exit(0);
51
+ }
52
+ };
53
+ this._isLoginSuccess = async () => {
54
+ await api.validateAuthentication();
55
+ this.log('Welcome to the Checkly CLI');
56
+ };
57
+ }
58
+ async run() {
59
+ const { flags } = await this.parse(Login);
60
+ const { 'api-key': apiKey, 'account-id': accountId } = flags;
61
+ await this._checkExistingCredentials();
62
+ if (apiKey) {
63
+ if (!accountId) {
64
+ throw new Error('The flag --account-id (-i) is required when using --api-key (-k)');
65
+ }
66
+ config_1.default.auth.set('apiKey', apiKey);
67
+ config_1.default.data.set('accountId', accountId);
68
+ await this._isLoginSuccess();
69
+ this.exit(0);
70
+ }
71
+ const mode = await __classPrivateFieldGet(this, _Login_instances, "m", _Login_promptForLoginOrSignUp).call(this);
72
+ const authContext = new auth_1.AuthContext(mode);
73
+ const { openUrl } = await inquirer.prompt([
74
+ {
75
+ name: 'openUrl',
76
+ type: 'confirm',
77
+ message: `Do you want to open a browser window to continue with ${mode === 'login' ? 'login' : 'sign up'}?`,
78
+ },
79
+ ]);
80
+ if (!openUrl) {
81
+ this.log(`Please open the following URL in your browser: \n\n${chalk.cyan(authContext.authenticationUrl)}`);
82
+ }
83
+ else {
84
+ await open(authContext.authenticationUrl);
85
+ }
86
+ const { key, name } = await authContext.getAuth0Credentials();
87
+ config_1.default.auth.set('apiKey', key);
88
+ const { data } = await api.accounts.getAll();
89
+ const selectedAccount = await selectAccount(data);
90
+ config_1.default.data.set('accountId', selectedAccount.id);
91
+ config_1.default.data.set('accountName', selectedAccount.name);
92
+ this.log(`Successfully logged in as ${chalk.cyan.bold(name)}`);
93
+ await this._isLoginSuccess();
94
+ process.exit(0);
95
+ }
96
+ }
97
+ exports.default = Login;
98
+ _Login_instances = new WeakSet(), _Login_promptForLoginOrSignUp = async function _Login_promptForLoginOrSignUp() {
99
+ const { mode } = await inquirer.prompt([
100
+ {
101
+ name: 'mode',
102
+ type: 'list',
103
+ message: 'Do you want to log in or sign up to Checkly?',
104
+ choices: [{
105
+ name: 'I want to log in with an existing Checkly account',
106
+ value: 'login',
107
+ }, {
108
+ name: 'I want to sign up for a new Checkly account',
109
+ value: 'signup',
110
+ }],
111
+ },
112
+ ]);
113
+ return mode;
114
+ };
115
+ Login.hidden = false;
116
+ Login.description = 'Login to your Checkly account or create a new one.';
117
+ Login.flags = {
118
+ 'api-key': core_1.Flags.string({
119
+ char: 'k',
120
+ name: 'apiKey',
121
+ description: 'Checkly User API Key. \nIf you did not have one, create it at: https://app.checklyhq.com/settings/user/api-keys.',
122
+ }),
123
+ 'account-id': core_1.Flags.string({
124
+ char: 'i',
125
+ name: 'accountId',
126
+ description: 'Checkly account ID. (This flag is required if you are using -k (--api-key) flag.',
127
+ }),
128
+ };
129
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { BaseCommand } from './baseCommand';
2
+ export default class Logout extends BaseCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const inquirer_1 = require("inquirer");
4
+ const core_1 = require("@oclif/core");
5
+ const config_1 = require("../services/config");
6
+ const baseCommand_1 = require("./baseCommand");
7
+ const common_messages_1 = require("../messages/common-messages");
8
+ class Logout extends baseCommand_1.BaseCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(Logout);
11
+ const { force } = flags;
12
+ const accountName = config_1.default.data.get('accountName');
13
+ if (!force) {
14
+ const message = `You are about to clear your local session ${accountName
15
+ ? ' of "' + accountName + '"'
16
+ : ''}, do you want to continue?`;
17
+ const { confirm } = await (0, inquirer_1.prompt)([{
18
+ name: 'confirm',
19
+ type: 'confirm',
20
+ message,
21
+ }]);
22
+ if (!confirm) {
23
+ this.exit(0);
24
+ }
25
+ }
26
+ config_1.default.clear();
27
+ this.log('See you soon! 👋');
28
+ }
29
+ }
30
+ exports.default = Logout;
31
+ Logout.hidden = false;
32
+ Logout.description = 'Log out and clear any local credentials.';
33
+ Logout.flags = {
34
+ force: core_1.Flags.boolean({
35
+ char: 'f',
36
+ description: common_messages_1.default.forceMode,
37
+ default: false,
38
+ }),
39
+ };
40
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":";;AAAA,uCAAiC;AACjC,sCAAmC;AACnC,+CAAuC;AACvC,+CAA2C;AAC3C,iEAAwD;AAExD,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,KAAK,EAAE,GAAG,KAAK,CAAA;QACvB,MAAM,WAAW,GAAG,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAElD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,OAAO,GAAG,6CAA6C,WAAW;gBACtE,CAAC,CAAC,OAAO,GAAG,WAAW,GAAG,GAAG;gBAC7B,CAAC,CAAC,EAAE,4BAA4B,CAAA;YAElC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,iBAAM,EAAC,CAAC;oBAChC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO;iBACR,CAAC,CAAC,CAAA;YAEH,IAAI,CAAC,OAAO,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACb;SACF;QAED,gBAAM,CAAC,KAAK,EAAE,CAAA;QACd,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAC9B,CAAC;;AAlCH,yBAmCC;AAlCQ,aAAM,GAAG,KAAK,CAAA;AACd,kBAAW,GAAG,0CAA0C,CAAA;AACxD,YAAK,GAAG;IACb,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,yBAAc,CAAC,SAAS;QACrC,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { BaseCommand } from './baseCommand';
2
+ export default class Runtimes extends BaseCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ run(): Promise<void>;
6
+ }
@@ -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,247 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("node:fs/promises");
4
+ const core_1 = require("@oclif/core");
5
+ const dotenv_1 = require("dotenv");
6
+ const ci_info_1 = require("ci-info");
7
+ const api = require("../rest/api");
8
+ const config_1 = require("../services/config");
9
+ const project_parser_1 = require("../services/project-parser");
10
+ const abstract_check_runner_1 = require("../services/abstract-check-runner");
11
+ const test_runner_1 = require("../services/test-runner");
12
+ const checkly_config_loader_1 = require("../services/checkly-config-loader");
13
+ const test_filters_1 = require("../services/test-filters");
14
+ const authCommand_1 = require("./authCommand");
15
+ const constructs_1 = require("../constructs");
16
+ const util_1 = require("../services/util");
17
+ const reporter_1 = require("../reporters/reporter");
18
+ const common_messages_1 = require("../messages/common-messages");
19
+ const DEFAULT_REGION = 'eu-central-1';
20
+ async function getEnvs(envFile, envArgs) {
21
+ if (envFile) {
22
+ const envsString = await fs.readFile(envFile, { encoding: 'utf8' });
23
+ return (0, dotenv_1.parse)(envsString);
24
+ }
25
+ const envsString = `${envArgs.join('\n')}`;
26
+ return (0, dotenv_1.parse)(envsString);
27
+ }
28
+ class Test extends authCommand_1.AuthCommand {
29
+ async run() {
30
+ var _a, _b, _c, _d, _e, _f, _g;
31
+ core_1.ux.action.start('Parsing your project', undefined, { stdout: true });
32
+ const { flags, argv } = await this.parse(Test);
33
+ const { location: runLocation, 'private-location': privateRunLocation, grep, env, 'env-file': envFile, list, timeout, verbose: verboseFlag, reporter: reporterFlag, config: configFilename, record: shouldRecord, } = flags;
34
+ const filePatterns = argv;
35
+ const testEnvVars = await getEnvs(envFile, env);
36
+ const { configDirectory, configFilenames } = (0, util_1.splitConfigFilePath)(configFilename);
37
+ const { config: checklyConfig, constructs: checklyConfigConstructs, } = await (0, checkly_config_loader_1.loadChecklyConfig)(configDirectory, configFilenames);
38
+ const location = await this.prepareRunLocation(checklyConfig.cli, {
39
+ runLocation: runLocation,
40
+ privateRunLocation,
41
+ });
42
+ const verbose = this.prepareVerboseFlag(verboseFlag, (_a = checklyConfig.cli) === null || _a === void 0 ? void 0 : _a.verbose);
43
+ const reporterTypes = this.prepareReportersTypes(reporterFlag, (_b = checklyConfig.cli) === null || _b === void 0 ? void 0 : _b.reporters);
44
+ const { data: availableRuntimes } = await api.runtimes.getAll();
45
+ const project = await (0, project_parser_1.parseProject)({
46
+ directory: configDirectory,
47
+ projectLogicalId: checklyConfig.logicalId,
48
+ projectName: checklyConfig.projectName,
49
+ repoUrl: checklyConfig.repoUrl,
50
+ checkMatch: (_c = checklyConfig.checks) === null || _c === void 0 ? void 0 : _c.checkMatch,
51
+ browserCheckMatch: (_e = (_d = checklyConfig.checks) === null || _d === void 0 ? void 0 : _d.browserChecks) === null || _e === void 0 ? void 0 : _e.testMatch,
52
+ ignoreDirectoriesMatch: (_f = checklyConfig.checks) === null || _f === void 0 ? void 0 : _f.ignoreDirectoriesMatch,
53
+ checkDefaults: checklyConfig.checks,
54
+ browserCheckDefaults: (_g = checklyConfig.checks) === null || _g === void 0 ? void 0 : _g.browserChecks,
55
+ availableRuntimes: availableRuntimes.reduce((acc, runtime) => {
56
+ acc[runtime.name] = runtime;
57
+ return acc;
58
+ }, {}),
59
+ checklyConfigConstructs,
60
+ });
61
+ const checks = Object.entries(project.data.check)
62
+ .filter(([, check]) => {
63
+ if (check instanceof constructs_1.BrowserCheck) {
64
+ return (0, test_filters_1.filterByFileNamePattern)(filePatterns, check.scriptPath) ||
65
+ (0, test_filters_1.filterByFileNamePattern)(filePatterns, check.__checkFilePath);
66
+ }
67
+ else {
68
+ return (0, test_filters_1.filterByFileNamePattern)(filePatterns, check.__checkFilePath);
69
+ }
70
+ })
71
+ .filter(([, check]) => {
72
+ return (0, test_filters_1.filterByCheckNamePattern)(grep, check.name);
73
+ })
74
+ .map(([key, check]) => {
75
+ var _a;
76
+ check.logicalId = key;
77
+ if (Object.keys(testEnvVars).length) {
78
+ check.environmentVariables = ((_a = check.environmentVariables) === null || _a === void 0 ? void 0 : _a.filter((envVar) => !testEnvVars[envVar.key])) || [];
79
+ for (const [key, value] of Object.entries(testEnvVars)) {
80
+ check.environmentVariables.push({
81
+ key,
82
+ value,
83
+ locked: true,
84
+ });
85
+ }
86
+ }
87
+ return check;
88
+ });
89
+ core_1.ux.action.stop();
90
+ if (!checks.length) {
91
+ this.log(`Unable to find checks to run${filePatterns[0] !== '.*' ? ' using [FILEARGS]=\'' + filePatterns + '\'' : ''}.`);
92
+ return;
93
+ }
94
+ const reporters = (0, reporter_1.createReporters)(reporterTypes, location, verbose);
95
+ if (list) {
96
+ reporters.forEach(r => r.onBeginStatic());
97
+ return;
98
+ }
99
+ const repoInfo = (0, util_1.getGitInformation)(project.repoUrl);
100
+ const ciInfo = (0, util_1.getCiInformation)();
101
+ const runner = new test_runner_1.default(config_1.default.getAccountId(), project, checks, location, timeout, verbose, shouldRecord, repoInfo, ciInfo.environment);
102
+ runner.on(abstract_check_runner_1.Events.RUN_STARTED, (checks, testSessionId) => reporters.forEach(r => r.onBegin(checks, testSessionId)));
103
+ runner.on(abstract_check_runner_1.Events.CHECK_SUCCESSFUL, (checkRunId, check, result) => {
104
+ if (result.hasFailures) {
105
+ process.exitCode = 1;
106
+ }
107
+ reporters.forEach(r => r.onCheckEnd(checkRunId, {
108
+ logicalId: check.logicalId,
109
+ sourceFile: check.getSourceFile(),
110
+ ...result,
111
+ }));
112
+ });
113
+ runner.on(abstract_check_runner_1.Events.CHECK_FAILED, (checkRunId, check, message) => {
114
+ reporters.forEach(r => r.onCheckEnd(checkRunId, {
115
+ ...check,
116
+ logicalId: check.logicalId,
117
+ sourceFile: check.getSourceFile(),
118
+ hasFailures: true,
119
+ runError: message,
120
+ }));
121
+ process.exitCode = 1;
122
+ });
123
+ runner.on(abstract_check_runner_1.Events.RUN_FINISHED, () => reporters.forEach(r => r.onEnd()));
124
+ runner.on(abstract_check_runner_1.Events.ERROR, (err) => {
125
+ reporters.forEach(r => r.onError(err));
126
+ process.exitCode = 1;
127
+ });
128
+ await runner.run();
129
+ }
130
+ prepareVerboseFlag(verboseFlag, cliVerboseFlag) {
131
+ var _a;
132
+ return (_a = verboseFlag !== null && verboseFlag !== void 0 ? verboseFlag : cliVerboseFlag) !== null && _a !== void 0 ? _a : false;
133
+ }
134
+ prepareReportersTypes(reporterFlag, cliReporters = []) {
135
+ if (!reporterFlag && !cliReporters.length) {
136
+ return [ci_info_1.isCI ? 'ci' : 'list'];
137
+ }
138
+ return reporterFlag ? [reporterFlag] : cliReporters;
139
+ }
140
+ async prepareRunLocation(configOptions = {}, cliFlags = {}) {
141
+ // Command line options take precedence
142
+ if (cliFlags.runLocation) {
143
+ const { data: availableLocations } = await api.locations.getAll();
144
+ if (availableLocations.some(l => l.region === cliFlags.runLocation)) {
145
+ return { type: 'PUBLIC', region: cliFlags.runLocation };
146
+ }
147
+ throw new Error(`Unable to run checks on unsupported location "${cliFlags.runLocation}". ` +
148
+ `Supported locations are:\n${availableLocations.map(l => `${l.region}`).join('\n')}`);
149
+ }
150
+ else if (cliFlags.privateRunLocation) {
151
+ return this.preparePrivateRunLocation(cliFlags.privateRunLocation);
152
+ }
153
+ else if (configOptions.runLocation && configOptions.privateRunLocation) {
154
+ throw new Error('Both runLocation and privateRunLocation fields were set in your Checkly config file.' +
155
+ ` Please only specify one run location. The configured locations were' +
156
+ ' "${configOptions.runLocation}" and "${configOptions.privateRunLocation}"`);
157
+ }
158
+ else if (configOptions.runLocation) {
159
+ return { type: 'PUBLIC', region: configOptions.runLocation };
160
+ }
161
+ else if (configOptions.privateRunLocation) {
162
+ return this.preparePrivateRunLocation(configOptions.privateRunLocation);
163
+ }
164
+ else {
165
+ return { type: 'PUBLIC', region: DEFAULT_REGION };
166
+ }
167
+ }
168
+ async preparePrivateRunLocation(privateLocationSlugName) {
169
+ try {
170
+ const { data: privateLocations } = await api.privateLocations.getAll();
171
+ const privateLocation = privateLocations.find(({ slugName }) => slugName === privateLocationSlugName);
172
+ if (privateLocation) {
173
+ return { type: 'PRIVATE', id: privateLocation.id, slugName: privateLocationSlugName };
174
+ }
175
+ const { data: account } = await api.accounts.get(config_1.default.getAccountId());
176
+ throw new Error(`The specified private location "${privateLocationSlugName}" was not found on account "${account.name}".`);
177
+ }
178
+ catch (err) {
179
+ throw new Error(`Failed to get private locations. ${err.message}.`);
180
+ }
181
+ }
182
+ }
183
+ exports.default = Test;
184
+ Test.hidden = false;
185
+ Test.description = 'Test your checks on Checkly.';
186
+ Test.flags = {
187
+ location: core_1.Flags.string({
188
+ char: 'l',
189
+ description: 'The location to run the checks at.',
190
+ }),
191
+ 'private-location': core_1.Flags.string({
192
+ description: 'The private location to run checks at.',
193
+ exclusive: ['location'],
194
+ }),
195
+ grep: core_1.Flags.string({
196
+ char: 'g',
197
+ description: 'Only run checks where the check name matches a regular expression.',
198
+ default: '.*',
199
+ }),
200
+ env: core_1.Flags.string({
201
+ char: 'e',
202
+ description: 'Env vars to be passed to the test run.',
203
+ exclusive: ['env-file'],
204
+ multiple: true,
205
+ default: [],
206
+ }),
207
+ 'env-file': core_1.Flags.string({
208
+ description: 'dotenv file path to be passed. For example --env-file="./.env"',
209
+ exclusive: ['env'],
210
+ }),
211
+ list: core_1.Flags.boolean({
212
+ default: false,
213
+ description: 'list all checks but don\'t run them.',
214
+ }),
215
+ timeout: core_1.Flags.integer({
216
+ default: 240,
217
+ description: 'A timeout (in seconds) to wait for checks to complete.',
218
+ }),
219
+ verbose: core_1.Flags.boolean({
220
+ char: 'v',
221
+ description: 'Always show the full logs of the checks.',
222
+ allowNo: true,
223
+ }),
224
+ reporter: core_1.Flags.string({
225
+ char: 'r',
226
+ description: 'A list of custom reporters for the test output.',
227
+ options: ['list', 'dot', 'ci', 'github'],
228
+ }),
229
+ config: core_1.Flags.string({
230
+ char: 'c',
231
+ description: common_messages_1.default.configFile,
232
+ }),
233
+ record: core_1.Flags.boolean({
234
+ description: 'Record test results in Checkly as a test session with full logs, traces and videos.',
235
+ default: false,
236
+ }),
237
+ };
238
+ Test.args = {
239
+ fileArgs: core_1.Args.string({
240
+ name: 'files',
241
+ required: false,
242
+ description: 'Only run checks where the file name matches a regular expression',
243
+ default: '.*',
244
+ }),
245
+ };
246
+ Test.strict = false;
247
+ //# 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,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":";;AAAA,+CAAuC;AACvC,mCAAkC;AAClC,+CAA2C;AAE3C,MAAqB,MAAO,SAAQ,yBAAW;IAG7C,KAAK,CAAC,GAAG;QACP,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,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3C,IAAI,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IAC7F,CAAC;;AAPH,yBAQC;AAPQ,aAAM,GAAG,KAAK,CAAA;AACd,kBAAW,GAAG,gDAAgD,CAAA"}