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,10 @@
1
+ import { AuthCommand } from './authCommand';
2
+ export default class Destroy extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ config: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const api = require("../rest/api");
5
+ const checkly_config_loader_1 = require("../services/checkly-config-loader");
6
+ const authCommand_1 = require("./authCommand");
7
+ const inquirer_1 = require("inquirer");
8
+ const config_1 = require("../services/config");
9
+ const util_1 = require("../services/util");
10
+ const common_messages_1 = require("../messages/common-messages");
11
+ class Destroy extends authCommand_1.AuthCommand {
12
+ async run() {
13
+ const { flags } = await this.parse(Destroy);
14
+ const { force, config: configFilename } = flags;
15
+ const { configDirectory, configFilenames } = (0, util_1.splitConfigFilePath)(configFilename);
16
+ const { config: checklyConfig } = await (0, checkly_config_loader_1.loadChecklyConfig)(configDirectory, configFilenames);
17
+ const { data: account } = await api.accounts.get(config_1.default.getAccountId());
18
+ if (!force) {
19
+ const { projectName } = await (0, inquirer_1.prompt)([{
20
+ name: 'projectName',
21
+ type: 'test',
22
+ message: `Are you sure you want to delete all resources in project "${checklyConfig.projectName}" for account "${account.name}"?\n Please confirm by typing the project name "${checklyConfig.projectName}":`,
23
+ }]);
24
+ if (projectName !== checklyConfig.projectName) {
25
+ this.log(`The entered project name "${projectName}" doesn't match the expected project name "${checklyConfig.projectName}".`);
26
+ return;
27
+ }
28
+ }
29
+ await api.projects.deleteProject(checklyConfig.logicalId);
30
+ this.log(`All resources associated with project "${checklyConfig.projectName}" have been successfully deleted.`);
31
+ }
32
+ }
33
+ exports.default = Destroy;
34
+ Destroy.hidden = false;
35
+ Destroy.description = 'Destroy your project with all its related resources.';
36
+ Destroy.flags = {
37
+ force: core_1.Flags.boolean({
38
+ char: 'f',
39
+ description: common_messages_1.default.forceMode,
40
+ default: false,
41
+ }),
42
+ config: core_1.Flags.string({
43
+ char: 'c',
44
+ description: common_messages_1.default.configFile,
45
+ }),
46
+ };
47
+ //# sourceMappingURL=destroy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../src/commands/destroy.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,mCAAkC;AAClC,6EAAqE;AACrE,+CAA2C;AAC3C,uCAAiC;AACjC,+CAAuC;AACvC,2CAAsD;AACtD,iEAAwD;AAExD,MAAqB,OAAQ,SAAQ,yBAAW;IAgB9C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;QAC/C,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,IAAA,0BAAmB,EAAC,cAAc,CAAC,CAAA;QAChF,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,yCAAiB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAA;QAC3F,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,iBAAM,EAAC,CAAC;oBACpC,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,6DAA6D,aAAa,CAAC,WAAW,kBAAkB,OAAO,CAAC,IAAI,oDAAoD,aAAa,CAAC,WAAW,IAAI;iBAC/M,CAAC,CAAC,CAAA;YACH,IAAI,WAAW,KAAK,aAAa,CAAC,WAAW,EAAE;gBAC7C,IAAI,CAAC,GAAG,CAAC,6BAA6B,WAAW,8CAA8C,aAAa,CAAC,WAAW,IAAI,CAAC,CAAA;gBAC7H,OAAM;aACP;SACF;QACD,MAAM,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QACzD,IAAI,CAAC,GAAG,CAAC,0CAA0C,aAAa,CAAC,WAAW,mCAAmC,CAAC,CAAA;IAClH,CAAC;;AAnCH,0BAoCC;AAnCQ,cAAM,GAAG,KAAK,CAAA;AACd,mBAAW,GAAG,sDAAsD,CAAA;AAEpE,aAAK,GAAG;IACb,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,yBAAc,CAAC,SAAS;QACrC,OAAO,EAAE,KAAK;KACf,CAAC;IACF,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,yBAAc,CAAC,UAAU;KACvC,CAAC;CACH,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class EnvAdd extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ locked: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ static args: {
9
+ key: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
10
+ value: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const api = require("../../rest/api");
4
+ const core_1 = require("@oclif/core");
5
+ const authCommand_1 = require("../authCommand");
6
+ class EnvAdd extends authCommand_1.AuthCommand {
7
+ async run() {
8
+ var _a;
9
+ const { flags, args } = await this.parse(EnvAdd);
10
+ const { locked } = flags;
11
+ const envVariableName = args.key;
12
+ let envValue = '';
13
+ // check if env variable exists
14
+ if (args.value) {
15
+ envValue = args.value;
16
+ }
17
+ else {
18
+ envValue = await core_1.ux.prompt(`What is the value of ${envVariableName}?`, { type: 'mask' });
19
+ }
20
+ try {
21
+ await api.environmentVariables.add(envVariableName, envValue, locked);
22
+ this.log(`Environment variable ${envVariableName} added.`);
23
+ }
24
+ catch (err) {
25
+ if (((_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.status) === 409) {
26
+ throw new Error(`Environment variable ${envVariableName} already exists.`);
27
+ }
28
+ throw err;
29
+ }
30
+ }
31
+ }
32
+ exports.default = EnvAdd;
33
+ EnvAdd.hidden = false;
34
+ EnvAdd.description = 'Add environment variable via "checkly env add <key> <value>".';
35
+ EnvAdd.flags = {
36
+ locked: core_1.Flags.boolean({
37
+ char: 'l',
38
+ description: 'Indicate that the environment variable will be locked.',
39
+ default: false,
40
+ }),
41
+ };
42
+ EnvAdd.args = {
43
+ key: core_1.Args.string({
44
+ name: 'arguments',
45
+ required: true,
46
+ description: 'Environment variable key.',
47
+ }),
48
+ value: core_1.Args.string({
49
+ name: 'arguments',
50
+ required: false,
51
+ description: 'Environment variable value.',
52
+ }),
53
+ };
54
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/env/add.ts"],"names":[],"mappings":";;AAAA,sCAAqC;AACrC,sCAA6C;AAC7C,gDAA4C;AAE5C,MAAqB,MAAO,SAAQ,yBAAW;IAyB7C,KAAK,CAAC,GAAG;;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;QAExB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAA;QAChC,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAA;SACtB;aAAM;YACL,QAAQ,GAAG,MAAM,SAAE,CAAC,MAAM,CAAC,wBAAwB,eAAe,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;SACzF;QACD,IAAI;YACF,MAAM,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YACrE,IAAI,CAAC,GAAG,CAAC,wBAAwB,eAAe,SAAS,CAAC,CAAA;SAC3D;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,eAAe,kBAAkB,CAAC,CAAA;aAC3E;YACD,MAAM,GAAG,CAAA;SACV;IACH,CAAC;;AA9CH,yBA+CC;AA9CQ,aAAM,GAAG,KAAK,CAAA;AACd,kBAAW,GAAG,+DAA+D,CAAA;AAE7E,YAAK,GAAG;IACb,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAA;AAEM,WAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2BAA2B;KACzC,CAAC;IACF,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,6BAA6B;KAC3C,CAAC;CACH,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class EnvLs extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ run(): Promise<void>;
6
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const api = require("../../rest/api");
4
+ const authCommand_1 = require("../authCommand");
5
+ const util_1 = require("../../services/util");
6
+ class EnvLs extends authCommand_1.AuthCommand {
7
+ async run() {
8
+ const { data: environmentVariables } = await api.environmentVariables.getAll();
9
+ if (environmentVariables.length === 0) {
10
+ this.log('No environment variables found.');
11
+ return;
12
+ }
13
+ this.log('Environment variables:');
14
+ const env = environmentVariables.map(({ key, value }) => `${key}=${(0, util_1.escapeValue)(value)}`).join('\n');
15
+ this.log(`${env}`);
16
+ }
17
+ }
18
+ exports.default = EnvLs;
19
+ EnvLs.hidden = false;
20
+ EnvLs.description = 'List all Checkly environment variables via "checkly env ls".';
21
+ //# sourceMappingURL=ls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/env/ls.ts"],"names":[],"mappings":";;AAAA,sCAAqC;AACrC,gDAA4C;AAC5C,8CAAiD;AAEjD,MAAqB,KAAM,SAAQ,yBAAW;IAI5C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAA;QAE9E,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;YAC3C,OAAM;SACP;QACD,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAA,kBAAW,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;IACpB,CAAC;;AAdH,wBAeC;AAdQ,YAAM,GAAG,KAAK,CAAA;AACd,iBAAW,GAAG,8DAA8D,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class EnvPull extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ static args: {
9
+ filename: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const inquirer_1 = require("inquirer");
4
+ const path = require("path");
5
+ const api = require("../../rest/api");
6
+ const core_1 = require("@oclif/core");
7
+ const authCommand_1 = require("../authCommand");
8
+ const util_1 = require("../../services/util");
9
+ const fs = require("fs/promises");
10
+ const CONTENTS_PREFIX = '# Created by Checkly CLI\n';
11
+ class EnvPull extends authCommand_1.AuthCommand {
12
+ async run() {
13
+ const { flags, args } = await this.parse(EnvPull);
14
+ const { force } = flags;
15
+ const filepath = path.resolve(args.filename);
16
+ const filename = path.basename(filepath);
17
+ const { data: environmentVariables } = await api.environmentVariables.getAll();
18
+ // create an file in current directory and save the env vars there
19
+ const env = CONTENTS_PREFIX + environmentVariables.map(({ key, value }) => `${key}=${(0, util_1.escapeValue)(value)}`).join('\n') + '\n';
20
+ // wx will cause the write to fail if the file already exists
21
+ // https://nodejs.org/api/fs.html#file-system-flags
22
+ const flag = force ? 'w' : 'wx';
23
+ try {
24
+ await fs.writeFile(filepath, env, { flag });
25
+ }
26
+ catch (err) {
27
+ // By catching EEXIST rather than checking fs.existsSync,
28
+ // we avoid a race condition when a file is created between writing and checking
29
+ if (err.code === 'EEXIST') {
30
+ const { confirm } = await (0, inquirer_1.prompt)([{
31
+ name: 'confirm',
32
+ type: 'confirm',
33
+ message: `Found existing file ${filename}. Do you want to overwrite?`,
34
+ }]);
35
+ if (!confirm) {
36
+ this.log('Cancelled. No changes made.');
37
+ return;
38
+ }
39
+ await fs.writeFile(filepath, env);
40
+ }
41
+ }
42
+ this.log(`Success! Environment variables written to ${filename}.`);
43
+ }
44
+ }
45
+ exports.default = EnvPull;
46
+ EnvPull.hidden = false;
47
+ EnvPull.description = 'Pull Checkly environment variables via "checkly env pull <filename>".';
48
+ EnvPull.flags = {
49
+ force: core_1.Flags.boolean({
50
+ char: 'f',
51
+ description: 'Force to overwrite existing file.',
52
+ default: false,
53
+ }),
54
+ };
55
+ EnvPull.args = {
56
+ filename: core_1.Args.string({
57
+ name: 'filename',
58
+ required: false,
59
+ description: 'Filename of the generated file.',
60
+ default: '.env',
61
+ }),
62
+ };
63
+ //# sourceMappingURL=pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/env/pull.ts"],"names":[],"mappings":";;AAAA,uCAAiC;AACjC,6BAA4B;AAC5B,sCAAqC;AACrC,sCAAyC;AACzC,gDAA4C;AAC5C,8CAAiD;AACjD,kCAAiC;AAEjC,MAAM,eAAe,GAAG,4BAA4B,CAAA;AAEpD,MAAqB,OAAQ,SAAQ,yBAAW;IAqB9C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxC,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAA;QAC9E,kEAAkE;QAClE,MAAM,GAAG,GAAG,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAA,kBAAW,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;QAE5H,6DAA6D;QAC7D,mDAAmD;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/B,IAAI;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;SAC5C;QAAC,OAAO,GAAQ,EAAE;YACjB,yDAAyD;YACzD,gFAAgF;YAChF,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,iBAAM,EAAC,CAAC;wBAChC,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,uBAAuB,QAAQ,6BAA6B;qBACtE,CAAC,CAAC,CAAA;gBACH,IAAI,CAAC,OAAO,EAAE;oBACZ,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;oBACvC,OAAM;iBACP;gBACD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;aAClC;SACF;QACD,IAAI,CAAC,GAAG,CAAC,6CAA6C,QAAQ,GAAG,CAAC,CAAA;IACpE,CAAC;;AArDH,0BAsDC;AArDQ,cAAM,GAAG,KAAK,CAAA;AACd,mBAAW,GAAG,uEAAuE,CAAA;AAErF,aAAK,GAAG;IACb,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAA;AAEM,YAAI,GAAG;IACZ,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,MAAM;KAChB,CAAC;CACH,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class EnvRm extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ static args: {
9
+ key: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const inquirer_1 = require("inquirer");
4
+ const api = require("../../rest/api");
5
+ const core_1 = require("@oclif/core");
6
+ const authCommand_1 = require("../authCommand");
7
+ class EnvRm extends authCommand_1.AuthCommand {
8
+ async run() {
9
+ var _a;
10
+ const { flags, args } = await this.parse(EnvRm);
11
+ const { force } = flags;
12
+ const envVariableKey = args.key;
13
+ if (!force) {
14
+ const { confirm } = await (0, inquirer_1.prompt)([{
15
+ name: 'confirm',
16
+ type: 'confirm',
17
+ message: `Are you sure you want to delete environment variable ${envVariableKey}?`,
18
+ }]);
19
+ if (!confirm) {
20
+ this.log('Cancelled. No changes made.');
21
+ return;
22
+ }
23
+ }
24
+ // try to delete env variable catch 404 if env variable does not exist
25
+ try {
26
+ await api.environmentVariables.delete(envVariableKey);
27
+ this.log(`Environment variable ${envVariableKey} deleted.`);
28
+ }
29
+ catch (err) {
30
+ if (((_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
31
+ throw new Error(`Environment variable ${envVariableKey} does not exist.`);
32
+ }
33
+ else {
34
+ throw new Error(`Failed to delete environment variable. ${err.message}`);
35
+ }
36
+ }
37
+ }
38
+ }
39
+ exports.default = EnvRm;
40
+ EnvRm.hidden = false;
41
+ EnvRm.description = 'Remove environment variable via "checkly env rm <key>".';
42
+ EnvRm.flags = {
43
+ force: core_1.Flags.boolean({
44
+ char: 'f',
45
+ description: 'Force to skip the confirmation prompt.',
46
+ default: false,
47
+ }),
48
+ };
49
+ EnvRm.args = {
50
+ key: core_1.Args.string({
51
+ name: 'key',
52
+ required: true,
53
+ description: 'Environment variable key to remove.',
54
+ }),
55
+ };
56
+ //# sourceMappingURL=rm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/env/rm.ts"],"names":[],"mappings":";;AAAA,uCAAiC;AACjC,sCAAqC;AACrC,sCAAyC;AACzC,gDAA4C;AAE5C,MAAqB,KAAM,SAAQ,yBAAW;IAoB5C,KAAK,CAAC,GAAG;;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QACvB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAA;QAE/B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,iBAAM,EAAC,CAAC;oBAChC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,wDAAwD,cAAc,GAAG;iBACnF,CAAC,CAAC,CAAA;YACH,IAAI,CAAC,OAAO,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;gBACvC,OAAM;aACP;SACF;QAED,sEAAsE;QACtE,IAAI;YACF,MAAM,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;YACrD,IAAI,CAAC,GAAG,CAAC,wBAAwB,cAAc,WAAW,CAAC,CAAA;SAC5D;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,kBAAkB,CAAC,CAAA;aAC1E;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;aACzE;SACF;IACH,CAAC;;AAhDH,wBAiDC;AAhDQ,YAAM,GAAG,KAAK,CAAA;AACd,iBAAW,GAAG,yDAAyD,CAAA;AAEvE,WAAK,GAAG;IACb,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAA;AAEM,UAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,qCAAqC;KACnD,CAAC;CACH,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class EnvUpdate extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ locked: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ static args: {
9
+ key: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
10
+ value: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const api = require("../../rest/api");
4
+ const core_1 = require("@oclif/core");
5
+ const authCommand_1 = require("../authCommand");
6
+ class EnvUpdate extends authCommand_1.AuthCommand {
7
+ async run() {
8
+ var _a;
9
+ const { flags, args } = await this.parse(EnvUpdate);
10
+ const { locked } = flags;
11
+ const envVariableName = args.key;
12
+ let envValue = '';
13
+ // check if env variable arg exists
14
+ if (args.value) {
15
+ envValue = args.value;
16
+ }
17
+ else {
18
+ envValue = await core_1.ux.prompt(`What is the value of ${envVariableName}?`, { type: 'mask' });
19
+ }
20
+ try {
21
+ await api.environmentVariables.update(envVariableName, envValue, locked);
22
+ this.log(`Environment variable ${envVariableName} updated.`);
23
+ }
24
+ catch (err) {
25
+ if (((_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
26
+ throw new Error(`Environment variable ${envVariableName} not found.`);
27
+ }
28
+ throw err;
29
+ }
30
+ }
31
+ }
32
+ exports.default = EnvUpdate;
33
+ EnvUpdate.hidden = false;
34
+ EnvUpdate.description = 'Update environment variable via "checkly env update <key> <value>".';
35
+ EnvUpdate.flags = {
36
+ locked: core_1.Flags.boolean({
37
+ char: 'l',
38
+ description: 'Indicate if environment variable is locked.',
39
+ default: false,
40
+ }),
41
+ };
42
+ EnvUpdate.args = {
43
+ key: core_1.Args.string({
44
+ name: 'arguments',
45
+ required: true,
46
+ description: 'Environment variable key.',
47
+ }),
48
+ value: core_1.Args.string({
49
+ name: 'arguments',
50
+ required: false,
51
+ description: 'Environment variable value.',
52
+ }),
53
+ };
54
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/env/update.ts"],"names":[],"mappings":";;AAAA,sCAAqC;AACrC,sCAA6C;AAC7C,gDAA4C;AAE5C,MAAqB,SAAU,SAAQ,yBAAW;IAyBhD,KAAK,CAAC,GAAG;;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;QAExB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAA;QAChC,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,mCAAmC;QACnC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAA;SACtB;aAAM;YACL,QAAQ,GAAG,MAAM,SAAE,CAAC,MAAM,CAAC,wBAAwB,eAAe,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;SACzF;QACD,IAAI;YACF,MAAM,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YACxE,IAAI,CAAC,GAAG,CAAC,wBAAwB,eAAe,WAAW,CAAC,CAAA;SAC7D;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,eAAe,aAAa,CAAC,CAAA;aACtE;YACD,MAAM,GAAG,CAAA;SACV;IACH,CAAC;;AA9CH,4BA+CC;AA9CQ,gBAAM,GAAG,KAAK,CAAA;AACd,qBAAW,GAAG,qEAAqE,CAAA;AAEnF,eAAK,GAAG;IACb,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAA;AAEM,cAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2BAA2B;KACzC,CAAC;IACF,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,6BAA6B;KAC3C,CAAC;CACH,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from './baseCommand';
2
+ export default class Login extends BaseCommand {
3
+ #private;
4
+ static hidden: boolean;
5
+ static description: string;
6
+ static flags: {
7
+ 'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ 'account-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ };
10
+ private _checkExistingCredentials;
11
+ private _isLoginSuccess;
12
+ run(): Promise<void>;
13
+ }
@@ -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
+ }