checkly 0.0.0-pr.1006.2fb1ffc

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 (317) hide show
  1. package/README.md +102 -0
  2. package/bin/run +5 -0
  3. package/bin/run.cmd +3 -0
  4. package/constructs.d.ts +1 -0
  5. package/constructs.js +2 -0
  6. package/dist/auth/index.d.ts +15 -0
  7. package/dist/auth/index.js +262 -0
  8. package/dist/auth/index.js.map +1 -0
  9. package/dist/commands/authCommand.d.ts +5 -0
  10. package/dist/commands/authCommand.js +37 -0
  11. package/dist/commands/authCommand.js.map +1 -0
  12. package/dist/commands/baseCommand.d.ts +13 -0
  13. package/dist/commands/baseCommand.js +48 -0
  14. package/dist/commands/baseCommand.js.map +1 -0
  15. package/dist/commands/deploy.d.ts +18 -0
  16. package/dist/commands/deploy.js +289 -0
  17. package/dist/commands/deploy.js.map +1 -0
  18. package/dist/commands/destroy.d.ts +10 -0
  19. package/dist/commands/destroy.js +84 -0
  20. package/dist/commands/destroy.js.map +1 -0
  21. package/dist/commands/env/add.d.ts +14 -0
  22. package/dist/commands/env/add.js +85 -0
  23. package/dist/commands/env/add.js.map +1 -0
  24. package/dist/commands/env/ls.d.ts +6 -0
  25. package/dist/commands/env/ls.js +44 -0
  26. package/dist/commands/env/ls.js.map +1 -0
  27. package/dist/commands/env/pull.d.ts +12 -0
  28. package/dist/commands/env/pull.js +99 -0
  29. package/dist/commands/env/pull.js.map +1 -0
  30. package/dist/commands/env/rm.d.ts +12 -0
  31. package/dist/commands/env/rm.js +82 -0
  32. package/dist/commands/env/rm.js.map +1 -0
  33. package/dist/commands/env/update.d.ts +14 -0
  34. package/dist/commands/env/update.js +88 -0
  35. package/dist/commands/env/update.js.map +1 -0
  36. package/dist/commands/help.d.ts +6 -0
  37. package/dist/commands/help.js +17 -0
  38. package/dist/commands/help.js.map +1 -0
  39. package/dist/commands/login.d.ts +13 -0
  40. package/dist/commands/login.js +134 -0
  41. package/dist/commands/login.js.map +1 -0
  42. package/dist/commands/logout.d.ts +9 -0
  43. package/dist/commands/logout.js +43 -0
  44. package/dist/commands/logout.js.map +1 -0
  45. package/dist/commands/runtimes.d.ts +6 -0
  46. package/dist/commands/runtimes.js +49 -0
  47. package/dist/commands/runtimes.js.map +1 -0
  48. package/dist/commands/switch.d.ts +9 -0
  49. package/dist/commands/switch.js +81 -0
  50. package/dist/commands/switch.js.map +1 -0
  51. package/dist/commands/sync-playwright.d.ts +10 -0
  52. package/dist/commands/sync-playwright.js +98 -0
  53. package/dist/commands/sync-playwright.js.map +1 -0
  54. package/dist/commands/test.d.ts +45 -0
  55. package/dist/commands/test.js +366 -0
  56. package/dist/commands/test.js.map +1 -0
  57. package/dist/commands/trigger.d.ts +37 -0
  58. package/dist/commands/trigger.js +242 -0
  59. package/dist/commands/trigger.js.map +1 -0
  60. package/dist/commands/whoami.d.ts +6 -0
  61. package/dist/commands/whoami.js +42 -0
  62. package/dist/commands/whoami.js.map +1 -0
  63. package/dist/config.d.ts +31 -0
  64. package/dist/config.js +8 -0
  65. package/dist/config.js.map +1 -0
  66. package/dist/constants.d.ts +7 -0
  67. package/dist/constants.js +10 -0
  68. package/dist/constants.js.map +1 -0
  69. package/dist/constructs/alert-channel-subscription.d.ts +44 -0
  70. package/dist/constructs/alert-channel-subscription.js +39 -0
  71. package/dist/constructs/alert-channel-subscription.js.map +1 -0
  72. package/dist/constructs/alert-channel.d.ts +53 -0
  73. package/dist/constructs/alert-channel.js +55 -0
  74. package/dist/constructs/alert-channel.js.map +1 -0
  75. package/dist/constructs/alert-escalation-policy.d.ts +34 -0
  76. package/dist/constructs/alert-escalation-policy.js +47 -0
  77. package/dist/constructs/alert-escalation-policy.js.map +1 -0
  78. package/dist/constructs/api-check.d.ts +187 -0
  79. package/dist/constructs/api-check.js +279 -0
  80. package/dist/constructs/api-check.js.map +1 -0
  81. package/dist/constructs/browser-check.d.ts +90 -0
  82. package/dist/constructs/browser-check.js +151 -0
  83. package/dist/constructs/browser-check.js.map +1 -0
  84. package/dist/constructs/check-group.d.ts +162 -0
  85. package/dist/constructs/check-group.js +208 -0
  86. package/dist/constructs/check-group.js.map +1 -0
  87. package/dist/constructs/check.d.ts +144 -0
  88. package/dist/constructs/check.js +133 -0
  89. package/dist/constructs/check.js.map +1 -0
  90. package/dist/constructs/construct.d.ts +17 -0
  91. package/dist/constructs/construct.js +22 -0
  92. package/dist/constructs/construct.js.map +1 -0
  93. package/dist/constructs/dashboard.d.ts +138 -0
  94. package/dist/constructs/dashboard.js +126 -0
  95. package/dist/constructs/dashboard.js.map +1 -0
  96. package/dist/constructs/email-alert-channel.d.ts +26 -0
  97. package/dist/constructs/email-alert-channel.js +37 -0
  98. package/dist/constructs/email-alert-channel.js.map +1 -0
  99. package/dist/constructs/environment-variable.d.ts +2 -0
  100. package/dist/constructs/environment-variable.js +3 -0
  101. package/dist/constructs/environment-variable.js.map +1 -0
  102. package/dist/constructs/frequency.d.ts +20 -0
  103. package/dist/constructs/frequency.js +26 -0
  104. package/dist/constructs/frequency.js.map +1 -0
  105. package/dist/constructs/heartbeat-check.d.ts +43 -0
  106. package/dist/constructs/heartbeat-check.js +61 -0
  107. package/dist/constructs/heartbeat-check.js.map +1 -0
  108. package/dist/constructs/http-header.d.ts +2 -0
  109. package/dist/constructs/http-header.js +3 -0
  110. package/dist/constructs/http-header.js.map +1 -0
  111. package/dist/constructs/index.d.ts +27 -0
  112. package/dist/constructs/index.js +44 -0
  113. package/dist/constructs/index.js.map +1 -0
  114. package/dist/constructs/key-value-pair.d.ts +6 -0
  115. package/dist/constructs/key-value-pair.js +3 -0
  116. package/dist/constructs/key-value-pair.js.map +1 -0
  117. package/dist/constructs/maintenance-window.d.ts +61 -0
  118. package/dist/constructs/maintenance-window.js +47 -0
  119. package/dist/constructs/maintenance-window.js.map +1 -0
  120. package/dist/constructs/multi-step-check.d.ts +65 -0
  121. package/dist/constructs/multi-step-check.js +153 -0
  122. package/dist/constructs/multi-step-check.js.map +1 -0
  123. package/dist/constructs/opsgenie-alert-channel.d.ts +45 -0
  124. package/dist/constructs/opsgenie-alert-channel.js +44 -0
  125. package/dist/constructs/opsgenie-alert-channel.js.map +1 -0
  126. package/dist/constructs/pagerduty-alert-channel.d.ts +39 -0
  127. package/dist/constructs/pagerduty-alert-channel.js +42 -0
  128. package/dist/constructs/pagerduty-alert-channel.js.map +1 -0
  129. package/dist/constructs/phone-call-alert-channel.d.ts +34 -0
  130. package/dist/constructs/phone-call-alert-channel.js +42 -0
  131. package/dist/constructs/phone-call-alert-channel.js.map +1 -0
  132. package/dist/constructs/playwright-config.d.ts +52 -0
  133. package/dist/constructs/playwright-config.js +3 -0
  134. package/dist/constructs/playwright-config.js.map +1 -0
  135. package/dist/constructs/private-location-check-assignment.d.ts +29 -0
  136. package/dist/constructs/private-location-check-assignment.js +35 -0
  137. package/dist/constructs/private-location-check-assignment.js.map +1 -0
  138. package/dist/constructs/private-location-group-assignment.d.ts +29 -0
  139. package/dist/constructs/private-location-group-assignment.js +35 -0
  140. package/dist/constructs/private-location-group-assignment.js.map +1 -0
  141. package/dist/constructs/private-location.d.ts +51 -0
  142. package/dist/constructs/private-location.js +61 -0
  143. package/dist/constructs/private-location.js.map +1 -0
  144. package/dist/constructs/project.d.ts +66 -0
  145. package/dist/constructs/project.js +155 -0
  146. package/dist/constructs/project.js.map +1 -0
  147. package/dist/constructs/query-param.d.ts +2 -0
  148. package/dist/constructs/query-param.js +3 -0
  149. package/dist/constructs/query-param.js.map +1 -0
  150. package/dist/constructs/ref.d.ts +5 -0
  151. package/dist/constructs/ref.js +13 -0
  152. package/dist/constructs/ref.js.map +1 -0
  153. package/dist/constructs/retry-strategy.d.ts +50 -0
  154. package/dist/constructs/retry-strategy.js +51 -0
  155. package/dist/constructs/retry-strategy.js.map +1 -0
  156. package/dist/constructs/slack-alert-channel.d.ts +26 -0
  157. package/dist/constructs/slack-alert-channel.js +40 -0
  158. package/dist/constructs/slack-alert-channel.js.map +1 -0
  159. package/dist/constructs/sms-alert-channel.d.ts +32 -0
  160. package/dist/constructs/sms-alert-channel.js +40 -0
  161. package/dist/constructs/sms-alert-channel.js.map +1 -0
  162. package/dist/constructs/validator-error.d.ts +2 -0
  163. package/dist/constructs/validator-error.js +7 -0
  164. package/dist/constructs/validator-error.js.map +1 -0
  165. package/dist/constructs/webhook-alert-channel.d.ts +67 -0
  166. package/dist/constructs/webhook-alert-channel.js +52 -0
  167. package/dist/constructs/webhook-alert-channel.js.map +1 -0
  168. package/dist/help/examples.d.ts +6 -0
  169. package/dist/help/examples.js +22 -0
  170. package/dist/help/examples.js.map +1 -0
  171. package/dist/help/help-extension.d.ts +7 -0
  172. package/dist/help/help-extension.js +59 -0
  173. package/dist/help/help-extension.js.map +1 -0
  174. package/dist/index.d.ts +3 -0
  175. package/dist/index.js +30 -0
  176. package/dist/index.js.map +1 -0
  177. package/dist/messages/common-messages.d.ts +5 -0
  178. package/dist/messages/common-messages.js +9 -0
  179. package/dist/messages/common-messages.js.map +1 -0
  180. package/dist/playwright/playwright-config-loader.d.ts +1 -0
  181. package/dist/playwright/playwright-config-loader.js +26 -0
  182. package/dist/playwright/playwright-config-loader.js.map +1 -0
  183. package/dist/playwright/playwright-config-template.d.ts +8 -0
  184. package/dist/playwright/playwright-config-template.js +78 -0
  185. package/dist/playwright/playwright-config-template.js.map +1 -0
  186. package/dist/reporters/abstract-list.d.ts +41 -0
  187. package/dist/reporters/abstract-list.js +171 -0
  188. package/dist/reporters/abstract-list.js.map +1 -0
  189. package/dist/reporters/ci.d.ts +12 -0
  190. package/dist/reporters/ci.js +34 -0
  191. package/dist/reporters/ci.js.map +1 -0
  192. package/dist/reporters/dot.d.ts +10 -0
  193. package/dist/reporters/dot.js +29 -0
  194. package/dist/reporters/dot.js.map +1 -0
  195. package/dist/reporters/github.d.ts +32 -0
  196. package/dist/reporters/github.js +119 -0
  197. package/dist/reporters/github.js.map +1 -0
  198. package/dist/reporters/json.d.ts +26 -0
  199. package/dist/reporters/json.js +101 -0
  200. package/dist/reporters/json.js.map +1 -0
  201. package/dist/reporters/list.d.ts +15 -0
  202. package/dist/reporters/list.js +85 -0
  203. package/dist/reporters/list.js.map +1 -0
  204. package/dist/reporters/reporter.d.ts +16 -0
  205. package/dist/reporters/reporter.js +29 -0
  206. package/dist/reporters/reporter.js.map +1 -0
  207. package/dist/reporters/util.d.ts +18 -0
  208. package/dist/reporters/util.js +325 -0
  209. package/dist/reporters/util.js.map +1 -0
  210. package/dist/rest/accounts.d.ts +12 -0
  211. package/dist/rest/accounts.js +15 -0
  212. package/dist/rest/accounts.js.map +1 -0
  213. package/dist/rest/api.d.ts +33 -0
  214. package/dist/rest/api.js +98 -0
  215. package/dist/rest/api.js.map +1 -0
  216. package/dist/rest/assets.d.ts +13 -0
  217. package/dist/rest/assets.js +30 -0
  218. package/dist/rest/assets.js.map +1 -0
  219. package/dist/rest/checkly-storage.d.ts +12 -0
  220. package/dist/rest/checkly-storage.js +15 -0
  221. package/dist/rest/checkly-storage.js.map +1 -0
  222. package/dist/rest/environment-variables.d.ts +17 -0
  223. package/dist/rest/environment-variables.js +25 -0
  224. package/dist/rest/environment-variables.js.map +1 -0
  225. package/dist/rest/heartbeat-checks.d.ts +11 -0
  226. package/dist/rest/heartbeat-checks.js +17 -0
  227. package/dist/rest/heartbeat-checks.js.map +1 -0
  228. package/dist/rest/locations.d.ts +11 -0
  229. package/dist/rest/locations.js +12 -0
  230. package/dist/rest/locations.js.map +1 -0
  231. package/dist/rest/private-locations.d.ts +10 -0
  232. package/dist/rest/private-locations.js +12 -0
  233. package/dist/rest/private-locations.js.map +1 -0
  234. package/dist/rest/projects.d.ts +46 -0
  235. package/dist/rest/projects.js +25 -0
  236. package/dist/rest/projects.js.map +1 -0
  237. package/dist/rest/runtimes.d.ts +16 -0
  238. package/dist/rest/runtimes.js +15 -0
  239. package/dist/rest/runtimes.js.map +1 -0
  240. package/dist/rest/test-sessions.d.ts +59 -0
  241. package/dist/rest/test-sessions.js +24 -0
  242. package/dist/rest/test-sessions.js.map +1 -0
  243. package/dist/rest/users.d.ts +12 -0
  244. package/dist/rest/users.js +12 -0
  245. package/dist/rest/users.js.map +1 -0
  246. package/dist/rest/util.d.ts +4 -0
  247. package/dist/rest/util.js +17 -0
  248. package/dist/rest/util.js.map +1 -0
  249. package/dist/services/abstract-check-runner.d.ts +60 -0
  250. package/dist/services/abstract-check-runner.js +225 -0
  251. package/dist/services/abstract-check-runner.js.map +1 -0
  252. package/dist/services/check-parser/collector.d.ts +33 -0
  253. package/dist/services/check-parser/collector.js +48 -0
  254. package/dist/services/check-parser/collector.js.map +1 -0
  255. package/dist/services/check-parser/errors.d.ts +8 -0
  256. package/dist/services/check-parser/errors.js +45 -0
  257. package/dist/services/check-parser/errors.js.map +1 -0
  258. package/dist/services/check-parser/package-files/index.d.ts +1 -0
  259. package/dist/services/check-parser/package-files/index.js +6 -0
  260. package/dist/services/check-parser/package-files/index.js.map +1 -0
  261. package/dist/services/check-parser/package-files/jsconfig-json-file.d.ts +17 -0
  262. package/dist/services/check-parser/package-files/jsconfig-json-file.js +46 -0
  263. package/dist/services/check-parser/package-files/jsconfig-json-file.js.map +1 -0
  264. package/dist/services/check-parser/package-files/json-source-file.d.ts +10 -0
  265. package/dist/services/check-parser/package-files/json-source-file.js +38 -0
  266. package/dist/services/check-parser/package-files/json-source-file.js.map +1 -0
  267. package/dist/services/check-parser/package-files/loader.d.ts +7 -0
  268. package/dist/services/check-parser/package-files/loader.js +19 -0
  269. package/dist/services/check-parser/package-files/loader.js.map +1 -0
  270. package/dist/services/check-parser/package-files/package-json-file.d.ts +20 -0
  271. package/dist/services/check-parser/package-files/package-json-file.js +48 -0
  272. package/dist/services/check-parser/package-files/package-json-file.js.map +1 -0
  273. package/dist/services/check-parser/package-files/paths.d.ts +80 -0
  274. package/dist/services/check-parser/package-files/paths.js +177 -0
  275. package/dist/services/check-parser/package-files/paths.js.map +1 -0
  276. package/dist/services/check-parser/package-files/resolver.d.ts +70 -0
  277. package/dist/services/check-parser/package-files/resolver.js +290 -0
  278. package/dist/services/check-parser/package-files/resolver.js.map +1 -0
  279. package/dist/services/check-parser/package-files/source-file.d.ts +15 -0
  280. package/dist/services/check-parser/package-files/source-file.js +54 -0
  281. package/dist/services/check-parser/package-files/source-file.js.map +1 -0
  282. package/dist/services/check-parser/package-files/tsconfig-json-file.d.ts +68 -0
  283. package/dist/services/check-parser/package-files/tsconfig-json-file.js +127 -0
  284. package/dist/services/check-parser/package-files/tsconfig-json-file.js.map +1 -0
  285. package/dist/services/check-parser/parser.d.ts +32 -0
  286. package/dist/services/check-parser/parser.js +313 -0
  287. package/dist/services/check-parser/parser.js.map +1 -0
  288. package/dist/services/checkly-config-loader.d.ts +72 -0
  289. package/dist/services/checkly-config-loader.js +103 -0
  290. package/dist/services/checkly-config-loader.js.map +1 -0
  291. package/dist/services/config.d.ts +28 -0
  292. package/dist/services/config.js +99 -0
  293. package/dist/services/config.js.map +1 -0
  294. package/dist/services/project-parser.d.ts +21 -0
  295. package/dist/services/project-parser.js +192 -0
  296. package/dist/services/project-parser.js.map +1 -0
  297. package/dist/services/snapshot-service.d.ts +13 -0
  298. package/dist/services/snapshot-service.js +85 -0
  299. package/dist/services/snapshot-service.js.map +1 -0
  300. package/dist/services/socket-client.d.ts +4 -0
  301. package/dist/services/socket-client.js +88 -0
  302. package/dist/services/socket-client.js.map +1 -0
  303. package/dist/services/test-filters.d.ts +3 -0
  304. package/dist/services/test-filters.js +27 -0
  305. package/dist/services/test-filters.js.map +1 -0
  306. package/dist/services/test-runner.d.ts +24 -0
  307. package/dist/services/test-runner.js +91 -0
  308. package/dist/services/test-runner.js.map +1 -0
  309. package/dist/services/trigger-runner.d.ts +29 -0
  310. package/dist/services/trigger-runner.js +59 -0
  311. package/dist/services/trigger-runner.js.map +1 -0
  312. package/dist/services/util.d.ts +32 -0
  313. package/dist/services/util.js +244 -0
  314. package/dist/services/util.js.map +1 -0
  315. package/dist/tsconfig.tsbuildinfo +1 -0
  316. package/oclif.manifest.json +635 -0
  317. package/package.json +151 -0
package/README.md ADDED
@@ -0,0 +1,102 @@
1
+ The Checkly CLI gives you a **JavaScript/TypeScript-native workflow** for coding, testing and deploying synthetic
2
+ monitoring at scale, from your code base. We call this workflow **monitoring as code** (MaC).
3
+
4
+ - **Codeable, testable, reviewable monitoring constructs.** Works with your dev pipeline. From your IDE, via PR to CI.
5
+ - **Native `@playwright/test` support.** No lock-in, just write standard `*.spec.ts` files.
6
+ - **Alerting baked in.** Set alerts for Slack, SMS and many more channels.
7
+ - **Typescript-first.** Fully typed for easy refactoring and code completion.
8
+ - **Run in the cloud or on-prem.** Run on the Checkly cloud or in your network using the [Private Locations](https://www.checklyhq.com/docs/private-locations/)
9
+
10
+ # A quick example
11
+
12
+ Monitoring checks are written by instantiating constructs from the `checkly/constructs` package...
13
+
14
+ ```ts
15
+ // books-api.check.ts
16
+ import { ApiCheck, AssertionBuilder } from 'checkly/constructs'
17
+
18
+ new ApiCheck('books-api-check-1', {
19
+ name: 'Books API',
20
+ request: {
21
+ url: 'https://danube-web.shop/api/books',
22
+ method: 'GET',
23
+ assertions: [
24
+ AssertionBuilder.statusCode().equals(200),
25
+ AssertionBuilder.jsonBody('$[0].id').isNotNull(),
26
+ ],
27
+ }
28
+ })
29
+ ```
30
+ For browser checks, you can just write standard `*.spec.ts` files using `@playwright/test`.
31
+
32
+ ```ts
33
+ // home.spec.ts
34
+ import { test, expect } from '@playwright/test'
35
+
36
+ test('webshop homepage', async ({ page }) => {
37
+ const response = await page.goto('https://danube-web.shop')
38
+ expect(response?.status()).toBeLessThan(400)
39
+ await expect(page).toHaveTitle(/Danube WebShop/)
40
+ await page.screenshot({ path: 'homepage.jpg' })
41
+ })
42
+ ```
43
+
44
+ Run your checks from your local machine or in CI using `npx checkly test`
45
+
46
+ ```bash
47
+ npx checkly test
48
+ Parsing your project... done
49
+
50
+ Running 2 checks in eu-west-1.
51
+
52
+ __checks__/books-api.check.ts
53
+ ✔ Books API 1 (52ms)
54
+ __checks__/home.spec.ts
55
+ ✔ home.spec.ts (5s)
56
+
57
+ 2 passed, 2 total
58
+ ```
59
+
60
+ Now deploy your checks to the Checkly cloud so they can monitor your apps and APIs around the clock and alert you when things break.
61
+
62
+ ```bash
63
+ npx checkly deploy
64
+
65
+ Parsing your project... done
66
+ Successfully deployed project "Acme webapp" to account "Acme Production".
67
+ ```
68
+
69
+ # Installation
70
+
71
+ First, make sure you sign up for a [free Checkly account](https://app.checklyhq.com/signup) or signup via the terminal using
72
+ `npx checkly login`.
73
+
74
+ Then, the **easiest** way to get started is to install the CLI using the following command:
75
+
76
+ ```bash
77
+ npm create checkly
78
+ ```
79
+ This command will guide you through some simple steps and set up a fully working example project for you. Should take
80
+ ~1 minute.
81
+
82
+ You can also set up the CLI **from scratch** by running:
83
+
84
+ ```bash
85
+ npm install --save-dev checkly
86
+ ```
87
+
88
+ # Docs
89
+
90
+ Official docs are over at [checklyhq.com/docs/cli](https://checklyhq.com/docs/cli/)
91
+
92
+ ## Need help?
93
+
94
+ - Check out our [Getting Started Guide](https://checklyhq.com/docs/cli/)
95
+ - Join our [Slack Community](https://checklyhq.com/slack). The devs who built this hang out there.
96
+ - Found a bug? [File an issue on this repo](https://github.com/checkly/checkly-cli/issues/new/choose)
97
+
98
+ # Local Development
99
+
100
+ Use `CHECKLY_CLI_VERSION` environment variable to set the latest version you want to test.
101
+
102
+ To get started with local development check [CONTRIBUTING.MD](https://github.com/checkly/checkly-cli/blob/main/CONTRIBUTING.md)
package/bin/run ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+
3
+ const oclif = require('@oclif/core')
4
+
5
+ oclif.run().then(require('@oclif/core/flush')).catch(require('@oclif/core/handle'))
package/bin/run.cmd ADDED
@@ -0,0 +1,3 @@
1
+ @echo off
2
+
3
+ node "%~dp0\run" %*
@@ -0,0 +1 @@
1
+ export * from './dist/constructs'
package/constructs.js ADDED
@@ -0,0 +1,2 @@
1
+ // eslint-disable-next-line
2
+ module.exports = require('./dist').constructs
@@ -0,0 +1,15 @@
1
+ export type AuthMode = 'signup' | 'login';
2
+ export declare function generatePKCE(): {
3
+ codeChallenge: string;
4
+ codeVerifier: string;
5
+ };
6
+ export declare class AuthContext {
7
+ #private;
8
+ private mode;
9
+ authenticationUrl: string;
10
+ constructor(mode: AuthMode);
11
+ getAuth0Credentials(): Promise<{
12
+ name: any;
13
+ key: any;
14
+ }>;
15
+ }
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
+ if (kind === "m") throw new TypeError("Private method is not writable");
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
29
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
+ };
31
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
32
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
+ 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");
34
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ var _AuthContext_instances, _AuthContext_codeChallenge, _AuthContext_codeVerifier, _AuthContext_accessToken, _AuthContext_idToken, _AuthContext_generateAuthenticationUrl, _AuthContext_startServer, _AuthContext_fetchAccessToken, _AuthContext_getApiKey, _AuthContext_fetchUser, _AuthContext_registerUser, _AuthContext_axiosInstance_get;
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.AuthContext = exports.generatePKCE = void 0;
42
+ const axios_1 = __importDefault(require("axios"));
43
+ const os = __importStar(require("os"));
44
+ const http = __importStar(require("http"));
45
+ const crypto = __importStar(require("crypto"));
46
+ const jwt_decode_1 = __importDefault(require("jwt-decode"));
47
+ const api_1 = require("../rest/api");
48
+ const util_1 = require("../services/util");
49
+ const fs = __importStar(require("fs"));
50
+ const path = __importStar(require("path"));
51
+ const AUTH0_CLIENT_ID = 'mBtwLFVm39GVZ1HpSRBSdRiLFucYxmMb';
52
+ const AUTH0_AUTHORIZATION_URL = 'https://auth.checklyhq.com/authorize';
53
+ const AUTH0_SCOPES = 'openid profile email';
54
+ const AUTH0_CALLBACK_URL = 'http://localhost:4242';
55
+ function generatePKCE() {
56
+ const codeVerifier = crypto
57
+ .randomBytes(64)
58
+ .toString('base64')
59
+ .replace(/\+/g, '-')
60
+ .replace(/\//g, '_')
61
+ .replace(/=+$/, '');
62
+ const codeChallenge = crypto
63
+ .createHash('sha256')
64
+ .update(codeVerifier)
65
+ .digest('base64')
66
+ .replace(/\+/g, '-')
67
+ .replace(/\//g, '_')
68
+ .replace(/=+$/, '');
69
+ return {
70
+ codeChallenge,
71
+ codeVerifier,
72
+ };
73
+ }
74
+ exports.generatePKCE = generatePKCE;
75
+ class AuthContext {
76
+ constructor(mode) {
77
+ _AuthContext_instances.add(this);
78
+ this.mode = mode;
79
+ _AuthContext_codeChallenge.set(this, void 0);
80
+ _AuthContext_codeVerifier.set(this, void 0);
81
+ _AuthContext_accessToken.set(this, void 0);
82
+ _AuthContext_idToken.set(this, void 0);
83
+ const { codeChallenge, codeVerifier } = generatePKCE();
84
+ __classPrivateFieldSet(this, _AuthContext_codeChallenge, codeChallenge, "f");
85
+ __classPrivateFieldSet(this, _AuthContext_codeVerifier, codeVerifier, "f");
86
+ this.authenticationUrl = __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_generateAuthenticationUrl).call(this);
87
+ }
88
+ async getAuth0Credentials() {
89
+ await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_fetchAccessToken).call(this);
90
+ if (!__classPrivateFieldGet(this, _AuthContext_accessToken, "f") || !__classPrivateFieldGet(this, _AuthContext_idToken, "f")) {
91
+ throw new Error('There was an unexpected error retrieving Auth0 token. Please try again or contact ' +
92
+ 'support@checklyhq.com if this problem persists');
93
+ }
94
+ const { name } = (0, jwt_decode_1.default)(__classPrivateFieldGet(this, _AuthContext_idToken, "f"));
95
+ const { key } = await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_getApiKey).call(this);
96
+ return {
97
+ name,
98
+ key,
99
+ };
100
+ }
101
+ }
102
+ exports.AuthContext = AuthContext;
103
+ _AuthContext_codeChallenge = new WeakMap(), _AuthContext_codeVerifier = new WeakMap(), _AuthContext_accessToken = new WeakMap(), _AuthContext_idToken = new WeakMap(), _AuthContext_instances = new WeakSet(), _AuthContext_generateAuthenticationUrl = function _AuthContext_generateAuthenticationUrl() {
104
+ const url = new URL(AUTH0_AUTHORIZATION_URL);
105
+ const params = new URLSearchParams({
106
+ client_id: AUTH0_CLIENT_ID,
107
+ code_challenge: __classPrivateFieldGet(this, _AuthContext_codeChallenge, "f"),
108
+ code_challenge_method: 'S256',
109
+ response_type: 'code',
110
+ redirect_uri: AUTH0_CALLBACK_URL,
111
+ scope: AUTH0_SCOPES,
112
+ state: __classPrivateFieldGet(this, _AuthContext_codeVerifier, "f"),
113
+ mode: this.mode === 'signup' ? 'signUp' : '',
114
+ allowLogin: this.mode === 'signup' ? 'false' : 'true',
115
+ allowSignUp: this.mode === 'signup' ? 'true' : 'false',
116
+ });
117
+ url.search = params.toString();
118
+ return url.toString();
119
+ }, _AuthContext_startServer = function _AuthContext_startServer() {
120
+ return new Promise((resolve, reject) => {
121
+ const server = http.createServer();
122
+ server.on('request', (req, res) => {
123
+ var _a, _b, _c;
124
+ if ((_a = req.url) === null || _a === void 0 ? void 0 : _a.endsWith('.svg')) {
125
+ res.writeHead(200, { 'Content-Type': 'image/svg+xml' });
126
+ fs.readFile(path.join(__dirname, `.${req.url}`), 'utf8', (err, data) => {
127
+ if (!err)
128
+ res.end(data);
129
+ });
130
+ // `req.url` has a '/' char at the beginning which needs removed to be valid searchParams input
131
+ }
132
+ else if (!((_b = req.url) === null || _b === void 0 ? void 0 : _b.includes('favicon.ico'))) {
133
+ const responseParams = new URLSearchParams((_c = req.url) === null || _c === void 0 ? void 0 : _c.substring(1));
134
+ const code = responseParams.get('code');
135
+ const state = responseParams.get('state');
136
+ const error = responseParams.get('error');
137
+ const errorDescription = responseParams.get('error_description');
138
+ if (code && state === __classPrivateFieldGet(this, _AuthContext_codeVerifier, "f")) {
139
+ res.write(`
140
+ <html>
141
+ <style>
142
+ html {
143
+ font-family: Inter, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
144
+ font-size: 16px;
145
+ }
146
+ @keyframes slide-in-top {
147
+ 0% {
148
+ transform: translateY(-100px);
149
+ opacity: 0;
150
+ }
151
+ 100% {
152
+ transform: translateY(0);
153
+ opacity: 1;
154
+ }
155
+ }
156
+ .slide-in {
157
+ animation: slide-in-top 1s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
158
+ }
159
+ </style>
160
+ <body>
161
+ <div style="height:100%;width:100%;inset:0;position:absolute;display:grid;place-items:center;background-color:#EFF2F7;text-align:center;">
162
+ <div>
163
+ <img class="slide-in" style="width: 140px; height: 140px;" src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODIiIGhlaWdodD0iODUiIHZpZXdCb3g9IjAgMCA4MiA4NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTgxLjMzODUgNTIuNDMyMVYxNy42NDA2QzgxLjMzODUgNy45MDkwMyA3My40NDgxIDAuMDE4NjAwNSA2My43MTY1IDAuMDE4NjAwNUgxOC4yODA4QzguNTQ5MzIgMC4wMTg2MDA1IDAuNjU4ODg5IDcuOTA5MDMgMC42NTg4ODkgMTcuNjQwNlY1Mi40MzIxQy0wLjE4ODAxNyA3OC41NjI1IDE3Ljg0OTUgNzcuMzk3NCAyMC41MzIyIDc3LjM5NzRMNDAuOTY1OCA3OC43NDkzVjc4Ljc1NDVINDFINDEuMDM0MlY3OC43NDkzTDYxLjQ2NzggNzcuMzk3NEM2NC4xNTA1IDc3LjM5NzQgODIuMTg4IDc4LjU2NTIgODEuMzQxMSA1Mi40MzIxSDgxLjMzODVaIiBmaWxsPSIjMDA3NUZGIi8+CjxwYXRoIGQ9Ik02Ni4xOTY5IDU1LjY2NzFDNzQuMTYxIDM4LjU1MDIgNzIuNjUxMyAyNy4yNzIxIDUyLjgyNTIgNDAuOTA5NEM0OS4xMTE1IDM5LjM2NTUgNDUuNjUyOCAzOS4wNTUyIDQxLjA2MzMgMzguOTU3OEM0MS4wNTI3IDM4Ljk1NzggNDEuMDQyMiAzOC45NTc4IDQxLjAzMTcgMzguOTU3OEM0MS4wMTA3IDM4Ljk1NzggNDAuOTg5NiAzOC45NTc4IDQwLjk3MTIgMzguOTU3OEM0MC45NjA3IDM4Ljk1NzggNDAuOTUwMiAzOC45NTc4IDQwLjkzOTYgMzguOTU1MkMzNi4zNSAzOS4wNTI1IDMyLjg4ODggMzkuMzY1NSAyOS4xNzc2IDQwLjkwOTRDOS4zNDkgMjcuMjcyMSA3Ljg0MTkzIDM4LjU0NzUgMTUuODA2IDU1LjY2NzFDMTguMjgxIDYwLjA1MTYgMTIuODU3NiA2MS44Mzc1IDguMjc4NTQgNjIuNDUwM0M4LjI3NTkxIDYyLjQ1MjkgMTEuMDQ1NCA3MC45NDgzIDE3LjAwNTMgNzUuNzkwNEwyNy4yMzY2IDc4LjIxMDFMMzAuNTM3NCA3OS4yNDM3QzMwLjU2MzcgNzkuMjQzNyAzNS4xNjM4IDgwLjYyOTggMzUuODU4MiA4MC44MjQ1QzM2Ljk0NDUgODIuNTk5OCAzOC44MzgyIDgzLjk5OSA0MC45NzEyIDg0LjAyMjdDNDAuOTgxNyA4NC4wMjI3IDQwLjk5MjIgODQuMDIyNyA0MS4wMDI4IDg0LjAyMjdDNDEuMDEzMyA4NC4wMjI3IDQxLjAyMzggODQuMDIyNyA0MS4wMzQzIDg0LjAyMjdDNDMuMTcgODQuMDAxNyA0NS4wNjExIDgyLjYwNTEgNDYuMTQ3MyA4MC44MjcxQzQ2Ljg0MTcgODAuNjMyNCA1MS40NDE4IDc5LjI0OSA1MS40NjgxIDc5LjI0NjRMNTQuNzY4OSA3OC4yMTI3TDY1LjAwMDIgNzUuNzkzQzcwLjk2MDEgNzAuOTUwOSA3My43Mjk2IDYyLjQ1NTUgNzMuNzI3IDYyLjQ1MjlDNjkuMTQ1MyA2MS44NDAxIDYzLjcyNDYgNjAuMDU0MiA2Ni4xOTk1IDU1LjY2OThMNjYuMTk2OSA1NS42NjcxWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE2LjMxMDkgMzguNzQyMkMxNi4wMDMyIDM4LjgwNzkgMTUuNjkyOCAzOC44OTc0IDE1LjQyNzIgMzkuMDY4M0MxNC41Njk4IDM5LjYyMzMgMTQuNzY5NiA0MC44OTM2IDE0Ljg0MDcgNDEuNzU5QzE0Ljk3NzQgNDMuNDEzMyAxNS4zNDA0IDQ1LjA3MjkgMTUuNzc0NCA0Ni42ODc4QzE2LjA3NjggNDcuODEzNSAxNi40NDc3IDQ4LjkyNjEgMTYuOTIxMSA0OS45OTM5QzE3LjQ1NSA0OS4xNjI4IDE4LjA0NjggNDguNDAwMSAxOC42NjQ5IDQ3LjcwMzFDMTkuMTY5OSA0Ny4xMzIzIDE5LjY5MDYgNDYuNjA2MyAyMC4yMTE0IDQ2LjEyNUMyMy4wNDkzIDQzLjUwMDEgMjUuODc0MSA0Mi4xOTU2IDI1Ljg3NDEgNDIuMTk1NkMyMy4xNDkzIDQwLjIzNjEgMTkuODI0OCAzNy45ODQ3IDE2LjMxMzUgMzguNzM5NkwxNi4zMTA5IDM4Ljc0MjJaIiBmaWxsPSIjMDAyRjY2Ii8+CjxwYXRoIGQ9Ik02NS42ODY2IDM4Ljc0MjJDNjUuOTk0MyAzOC44MDc5IDY2LjMwNDcgMzguODk3NCA2Ni41NzAzIDM5LjA2ODNDNjcuNDI3NyAzOS42MjMzIDY3LjIyNzggNDAuODkzNiA2Ny4xNTY4IDQxLjc1OUM2Ny4wMjAxIDQzLjQxMzMgNjYuNjU3MSA0NS4wNzI5IDY2LjIyMzEgNDYuNjg3OEM2NS45MjA3IDQ3LjgxMzUgNjUuNTQ5OCA0OC45MjYxIDY1LjA3NjQgNDkuOTkzOUM2NC41NDI1IDQ5LjE2MjggNjMuOTUwNyA0OC40MDAxIDYzLjMzMjYgNDcuNzAzMUM2Mi44Mjc2IDQ3LjEzMjMgNjIuMzA2OCA0Ni42MDYzIDYxLjc4NjEgNDYuMTI1QzU4Ljk0ODIgNDMuNTAwMSA1Ni4xMjM0IDQyLjE5NTYgNTYuMTIzNCA0Mi4xOTU2QzU4Ljg0ODIgNDAuMjM2MSA2Mi4xNzI3IDM3Ljk4NDcgNjUuNjgzOSAzOC43Mzk2TDY1LjY4NjYgMzguNzQyMloiIGZpbGw9IiMwMDJGNjYiLz4KPHBhdGggZD0iTTQ2LjEzNDEgODAuODA2MUM0Ni4xMjA5IDgwLjc3NzEgNDYuMTA3OCA4MC43NDU2IDQ2LjA5NDYgODAuNzE2NkM0NS41NTI4IDc5LjQ5ODkgNDQuNDQ4MSA3OC42MjMxIDQzLjIxNDYgNzguMTcwN0M0MS43ODEyIDc3LjY0NDYgNDAuMTQgNzcuNjUyNSAzOC43MDkyIDc4LjE5N0MzNy40OTkzIDc4LjY1NzIgMzYuNDM5NCA3OS41MjI2IDM1LjkwMDIgODAuNzE2NkMzNS44ODcgODAuNzQ1NiAzNS44NzM5IDgwLjc3NDUgMzUuODYwNyA4MC44MDYxQzM1Ljg1ODEgODAuODExMyAzNS44NTU1IDgwLjgxNjYgMzUuODUyOCA4MC44MjQ1QzM2LjkzOTEgODIuNTk5OCAzOC44MzI4IDgzLjk5OTEgNDAuOTY1OCA4NC4wMjI3QzQwLjk3NjQgODQuMDIyNyA0MC45ODY5IDg0LjAyMjcgNDAuOTk3NCA4NC4wMjI3QzQxLjAwNzkgODQuMDIyNyA0MS4wMTg0IDg0LjAyMjcgNDEuMDI5IDg0LjAyMjdDNDMuMTY0NiA4NC4wMDE3IDQ1LjA1NTcgODIuNjA1MSA0Ni4xNDQ2IDgwLjgyNzFDNDYuMTQyIDgwLjgyMTggNDYuMTM5MyA4MC44MTY2IDQ2LjEzNjcgODAuODA4N0w0Ni4xMzQxIDgwLjgwNjFaIiBmaWxsPSIjMDAyRjY2Ii8+CjxwYXRoIGQ9Ik0zOC4zNzI2IDYzLjA3ODlDMzcuODg4NiA2Mi41NDc2IDM3LjMyNTggNjIuMDg5OSAzNi43MTgyIDYxLjcwNTlDMzYuMDYzMyA2MS4yOTMgMzUuMzU1OCA2MC45NjE2IDM0LjYyNDYgNjAuNzA5MUMzMy44NDYxIDYwLjQ0MDggMzMuMDM2IDYwLjI2MiAzMi4yMTggNjAuMTY3M0MzMS4zNTU0IDYwLjA3IDMwLjQ4MjEgNjAuMDY3NCAyOS42MTk1IDYwLjE2MjFDMjguNzEyMSA2MC4yNTk0IDI3LjgxNTIgNjAuNDY0NSAyNi45NTUxIDYwLjc2OTZDMjYuMDM3MiA2MS4wOTU4IDI1LjE2MTQgNjEuNTM1IDI0LjM0ODcgNjIuMDcxNUMyMy40NTk3IDYyLjY2MDcgMjIuNjQ3IDYzLjM2MjkgMjEuOTI2MyA2NC4xNDkzQzIxLjEwODMgNjUuMDM4MyAyMC40MDYxIDY2LjAyOTkgMTkuODA5IDY3LjA3OTNDMTkuMTE0NyA2OC4zMDIzIDE4LjU2MjMgNjkuNjA0MyAxOC4xMjMxIDcwLjk0M0MxNy42MDUgNzIuNTIxMSAxNy4yNDQ2IDc0LjE0OTEgMTYuOTk3NCA3NS43OTA0QzE2Ljk2MDYgNzYuMDM1IDE2LjkyMzggNzYuMjY2NCAxNi44ODk2IDc2LjUxNjNDMTYuODY1OSA3Ni42NzE1IDE2LjgwMjggNzcuMDI2NSAxNi43ODE3IDc3LjI1MDFDMjEuMzc5MiA3Ny43ODQgMjUuOTc0MSA3OC40MTI2IDMwLjUyOTUgNzkuMjQzN0MzMC40NTA2IDc5LjIzMDYgMzEuMDQ1IDc2LjY2MDkgMzEuMTE4NiA3Ni40MDA2QzMxLjMxMDYgNzUuNzIyIDMxLjU0NDcgNzUuMDUxMyAzMS44NzA5IDc0LjQyNTNDMzIuMzI4NSA3My41NDQyIDMyLjk3MjkgNzIuODA3OCAzMy44MTQ1IDcyLjI3OTFDMzQuNTk4MyA3MS43ODczIDM1LjQ2ODkgNzEuNDUzMyAzNi4yODk1IDcxLjAyOThDMzcuMjMxMSA3MC41NDMyIDM4LjEzNTkgNjkuOTU2NyAzOC44OTMzIDY5LjIxMjRDMzkuNjM3NyA2OC40ODM4IDM5Ljg3OTYgNjcuNjY4NSAzOS44NjkxIDY2LjYzNDhDMzkuODYxMiA2NS45ODUyIDM5LjcxOTIgNjUuMzQzNCAzOS40NjQxIDY0Ljc0NjRDMzkuMjAxMSA2NC4xMzA5IDM4LjgxOTcgNjMuNTcwNyAzOC4zNzI2IDYzLjA3NjJWNjMuMDc4OVoiIGZpbGw9IiMwMDJGNjYiLz4KPHBhdGggZD0iTTY1LjIxMzEgNzcuMjUwMUM2NS4xODk1IDc3LjAyMzkgNjUuMTI5IDc2LjY3MTUgNjUuMTA1MyA3Ni41MTYzQzY1LjA3MzcgNzYuMjY2NCA2NS4wMzQzIDc2LjAzNSA2NC45OTc1IDc1Ljc5MDRDNjQuNzUwMiA3NC4xNDkxIDY0LjM4OTkgNzIuNTIxMSA2My44NzE4IDcwLjk0M0M2My40MzI1IDY5LjYwNjkgNjIuODgwMiA2OC4zMDUgNjIuMTg1OCA2Ny4wNzkzQzYxLjU4ODggNjYuMDI5OSA2MC44ODY2IDY1LjAzODMgNjAuMDY4NiA2NC4xNDkzQzU5LjM0NzkgNjMuMzY1NiA1OC41MzUyIDYyLjY2MDcgNTcuNjQ2MiA2Mi4wNzE1QzU2LjgzMzUgNjEuNTM1IDU1Ljk1NzcgNjEuMDkzMSA1NS4wMzk3IDYwLjc2OTZDNTQuMTc5NyA2MC40NjQ1IDUzLjI4MjggNjAuMjU5NCA1Mi4zNzU0IDYwLjE2MjFDNTEuNTEyNyA2MC4wNjc0IDUwLjYzOTUgNjAuMDcgNDkuNzc2OCA2MC4xNjczQzQ4Ljk1ODkgNjAuMjU5NCA0OC4xNDg4IDYwLjQ0MDggNDcuMzcwMyA2MC43MDkxQzQ2LjYzOTEgNjAuOTYxNiA0NS45MzE2IDYxLjI5MyA0NS4yNzY3IDYxLjcwNTlDNDQuNjY5MSA2Mi4wODk5IDQ0LjEwNjMgNjIuNTQ3NiA0My42MjIzIDYzLjA3ODlDNDMuMTcyNiA2My41NzMzIDQyLjc5MzggNjQuMTMzNiA0Mi41MzA4IDY0Ljc0OUM0Mi4yNzU3IDY1LjM0NjEgNDIuMTMxIDY1Ljk4NzggNDIuMTI1OCA2Ni42Mzc1QzQyLjExNTIgNjcuNjcxMSA0Mi4zNTcyIDY4LjQ4MzggNDMuMTAxNSA2OS4yMTVDNDMuODU5IDY5Ljk1OTMgNDQuNzYzOCA3MC41NDU5IDQ1LjcwNTQgNzEuMDMyNEM0Ni41MjYgNzEuNDU1OSA0Ny4zOTY2IDcxLjc4NzMgNDguMTgwMyA3Mi4yODE3QzQ5LjAyMiA3Mi44MTA0IDQ5LjY2NjQgNzMuNTQ2OCA1MC4xMjQgNzQuNDI3OUM1MC40NDc1IDc1LjA1MzkgNTAuNjg0MiA3NS43MjQ2IDUwLjg3NjIgNzYuNDAzMkM1MC45NDk5IDc2LjY2MzYgNTEuNTQ0MyA3OS4yMzMyIDUxLjQ2NTQgNzkuMjQ2NEM1Ni4wMjA4IDc4LjQxNTIgNjAuNjE1NyA3Ny43ODY2IDY1LjIxMzEgNzcuMjUyN1Y3Ny4yNTAxWiIgZmlsbD0iIzAwMkY2NiIvPgo8cGF0aCBkPSJNMzIuMTkxNyA2OS4xMDE5QzMzLjMyMTggNjkuMTAxOSAzNC4yMzc5IDY4LjE4NTggMzQuMjM3OSA2Ny4wNTU3QzM0LjIzNzkgNjUuOTI1NiAzMy4zMjE4IDY1LjAwOTQgMzIuMTkxNyA2NS4wMDk0QzMxLjA2MTYgNjUuMDA5NCAzMC4xNDU0IDY1LjkyNTYgMzAuMTQ1NCA2Ny4wNTU3QzMwLjE0NTQgNjguMTg1OCAzMS4wNjE2IDY5LjEwMTkgMzIuMTkxNyA2OS4xMDE5WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTQ5LjgwNTggNjkuMTAxOUM1MC45MzU5IDY5LjEwMTkgNTEuODUyIDY4LjE4NTggNTEuODUyIDY3LjA1NTdDNTEuODUyIDY1LjkyNTYgNTAuOTM1OSA2NS4wMDk0IDQ5LjgwNTggNjUuMDA5NEM0OC42NzU3IDY1LjAwOTQgNDcuNzU5NSA2NS45MjU2IDQ3Ljc1OTUgNjcuMDU1N0M0Ny43NTk1IDY4LjE4NTggNDguNjc1NyA2OS4xMDE5IDQ5LjgwNTggNjkuMTAxOVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo='/>
164
+ <h3 style="font-size: 28px; font-weight: 600; margin-bottom: 3rem; margin-top: .5rem;">Successfully logged in</h3>
165
+ <div style="font-weight: 500;">
166
+ <div style="margin-bottom: 1rem;">You can go back to your terminal.</div>
167
+ <div>This window should close itself in 3 seconds.</div>
168
+ </div>
169
+ </div>
170
+ </div>
171
+ <script>setTimeout(function() {window.close()}, 3000);</script>
172
+ </body>
173
+ </html>
174
+ `);
175
+ resolve(code);
176
+ }
177
+ else {
178
+ res.write(`
179
+ <html>
180
+ <body>
181
+ <div style="height:100%;width:100%;inset:0;position:absolute;display:grid;place-items:center;background-color:#EFF2F7;text-align:center;font-family:Inter;">
182
+ <h3 style="font-weight:200;">Login failed, please try again!</h3>
183
+ <p>
184
+ <b>${error}</b>: ${errorDescription}
185
+ </p>
186
+ </div>
187
+ </body>
188
+ </html>
189
+ `);
190
+ }
191
+ res.end();
192
+ }
193
+ });
194
+ const signals = ['SIGTERM', 'SIGHUP', 'SIGINT'];
195
+ signals.forEach(signal => process.on(signal, () => {
196
+ server.close();
197
+ process.exitCode = 1;
198
+ }));
199
+ server.listen(4242).on('error', (err) => {
200
+ if (err.code === 'EADDRINUSE') {
201
+ reject(new Error('Unable to start a local server on port 4242.' +
202
+ ' Please check that `checkly login` isn\'t already running in a separate tab.' +
203
+ ' On OS X and Linux, you can run `lsof -i :4242` to see which process is blocking the port.'));
204
+ }
205
+ else {
206
+ reject(err);
207
+ }
208
+ });
209
+ });
210
+ }, _AuthContext_fetchAccessToken = async function _AuthContext_fetchAccessToken() {
211
+ const code = await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_startServer).call(this);
212
+ const tokenParams = new URLSearchParams({
213
+ grant_type: 'authorization_code',
214
+ client_id: AUTH0_CLIENT_ID,
215
+ code_verifier: __classPrivateFieldGet(this, _AuthContext_codeVerifier, "f"),
216
+ code,
217
+ redirect_uri: AUTH0_CALLBACK_URL,
218
+ });
219
+ const tokenResponse = await __classPrivateFieldGet(this, _AuthContext_instances, "a", _AuthContext_axiosInstance_get).post('https://auth.checklyhq.com/oauth/token', tokenParams, {
220
+ headers: {
221
+ 'Content-Type': 'application/x-www-form-urlencoded',
222
+ 'Accept-Encoding': '*',
223
+ },
224
+ });
225
+ const { access_token: accessToken, id_token: idToken } = tokenResponse.data;
226
+ __classPrivateFieldSet(this, _AuthContext_accessToken, accessToken, "f");
227
+ __classPrivateFieldSet(this, _AuthContext_idToken, idToken, "f");
228
+ }, _AuthContext_getApiKey = async function _AuthContext_getApiKey() {
229
+ var _a;
230
+ try {
231
+ await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_fetchUser).call(this);
232
+ }
233
+ catch (error) {
234
+ if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
235
+ await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_registerUser).call(this);
236
+ }
237
+ else {
238
+ throw error;
239
+ }
240
+ }
241
+ const apiKeyName = `CLI User Key (${os.hostname()})`;
242
+ const { data } = await __classPrivateFieldGet(this, _AuthContext_instances, "a", _AuthContext_axiosInstance_get).post(`/users/me/api-keys?name=${apiKeyName}`);
243
+ return data;
244
+ }, _AuthContext_fetchUser = async function _AuthContext_fetchUser() {
245
+ const { data } = await __classPrivateFieldGet(this, _AuthContext_instances, "a", _AuthContext_axiosInstance_get).get('/users/me');
246
+ return data;
247
+ }, _AuthContext_registerUser = async function _AuthContext_registerUser() {
248
+ const { data } = await __classPrivateFieldGet(this, _AuthContext_instances, "a", _AuthContext_axiosInstance_get).post('/users/', { accessToken: __classPrivateFieldGet(this, _AuthContext_accessToken, "f") });
249
+ return data;
250
+ }, _AuthContext_axiosInstance_get = function _AuthContext_axiosInstance_get() {
251
+ // Keep axios instance stateless
252
+ const { baseURL } = (0, api_1.getDefaults)();
253
+ const axiosConf = (0, util_1.assignProxy)(baseURL, {
254
+ baseURL,
255
+ headers: {
256
+ Accept: 'application/json, text/plain, */*',
257
+ Authorization: `Bearer ${__classPrivateFieldGet(this, _AuthContext_accessToken, "f")}`,
258
+ },
259
+ });
260
+ return axios_1.default.create(axiosConf);
261
+ };
262
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { BaseCommand } from './baseCommand';
2
+ export declare abstract class AuthCommand extends BaseCommand {
3
+ static hidden: boolean;
4
+ protected init(): Promise<any>;
5
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.AuthCommand = void 0;
27
+ const baseCommand_1 = require("./baseCommand");
28
+ const api = __importStar(require("../rest/api"));
29
+ class AuthCommand extends baseCommand_1.BaseCommand {
30
+ async init() {
31
+ super.init();
32
+ await api.validateAuthentication();
33
+ }
34
+ }
35
+ exports.AuthCommand = AuthCommand;
36
+ AuthCommand.hidden = true;
37
+ //# sourceMappingURL=authCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authCommand.js","sourceRoot":"","sources":["../../src/commands/authCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,iDAAkC;AAElC,MAAsB,WAAY,SAAQ,yBAAW;IAGzC,KAAK,CAAC,IAAI;QAClB,KAAK,CAAC,IAAI,EAAE,CAAA;QACZ,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAA;IACpC,CAAC;;AANH,kCAOC;AANQ,kBAAM,GAAG,IAAI,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { Command } from '@oclif/core';
2
+ export type BaseCommandClass = typeof Command & {
3
+ coreCommand: boolean;
4
+ };
5
+ export declare abstract class BaseCommand extends Command {
6
+ static coreCommand: boolean;
7
+ static hidden: boolean;
8
+ protected init(): Promise<void>;
9
+ run(): Promise<void>;
10
+ protected catch(err: Error & {
11
+ exitCode?: number;
12
+ }): Promise<any>;
13
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BaseCommand = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const prompts_1 = __importDefault(require("prompts"));
9
+ const core_1 = require("@oclif/core");
10
+ const api_1 = require("../rest/api");
11
+ class BaseCommand extends core_1.Command {
12
+ async init() {
13
+ var _a;
14
+ let version = (_a = process.env.CHECKLY_CLI_VERSION) !== null && _a !== void 0 ? _a : this.config.version;
15
+ // use latest version from NPM if it's running from the local environment or E2E
16
+ if (version === '0.0.1-dev' || (version === null || version === void 0 ? void 0 : version.startsWith('0.0.0'))) {
17
+ try {
18
+ const { data: packageInformation } = await axios_1.default.get('https://registry.npmjs.org/checkly/latest');
19
+ this.log(`\nNotice: replacing version '${version}' with latest '${packageInformation.version}'. If you wish to test with a different version, please pass the CHECKLY_CLI_VERSION environment variable.\n`);
20
+ version = packageInformation.version;
21
+ }
22
+ catch { }
23
+ }
24
+ api_1.api.defaults.headers['x-checkly-cli-version'] = version;
25
+ // This overrides prompts answers/selections (used on E2E tests)
26
+ if (process.env.CHECKLY_E2E_PROMPTS_INJECTIONS) {
27
+ try {
28
+ const injections = JSON.parse(process.env.CHECKLY_E2E_PROMPTS_INJECTIONS);
29
+ prompts_1.default.inject(injections);
30
+ }
31
+ catch {
32
+ process.stderr.write('Error parsing CHECKLY_E2E_PROMPTS_INJECTIONS environment variable for injections.');
33
+ }
34
+ }
35
+ return super.init();
36
+ }
37
+ async run() {
38
+ await this.exit(0);
39
+ }
40
+ catch(err) {
41
+ // TODO: we can add Sentry here and log critical errors.
42
+ return super.catch(err);
43
+ }
44
+ }
45
+ exports.BaseCommand = BaseCommand;
46
+ BaseCommand.coreCommand = false;
47
+ BaseCommand.hidden = true;
48
+ //# sourceMappingURL=baseCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseCommand.js","sourceRoot":"","sources":["../../src/commands/baseCommand.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,sDAA6B;AAC7B,sCAAqC;AACrC,qCAAiC;AAMjC,MAAsB,WAAY,SAAQ,cAAO;IAIrC,KAAK,CAAC,IAAI;;QAClB,IAAI,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,mCAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;QAEpE,gFAAgF;QAChF,IAAI,OAAO,KAAK,WAAW,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,OAAO,CAAC,CAAA,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;gBACjG,IAAI,CAAC,GAAG,CAAC,gCAAgC,OAAO,kBAAkB,kBAAkB,CAAC,OAAO,8GAA8G,CAAC,CAAA;gBAC3M,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAA;YACtC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QACb,CAAC;QAED,SAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAA;QAEvD,gEAAgE;QAChE,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;gBACzE,iBAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAA;YAC3G,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAES,KAAK,CAAE,GAAgC;QAC/C,wDAAwD;QACxD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;;AAtCH,kCAuCC;AAtCQ,uBAAW,GAAG,KAAK,CAAA;AACnB,kBAAM,GAAG,IAAI,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { AuthCommand } from './authCommand';
2
+ export default class Deploy extends AuthCommand {
3
+ static coreCommand: boolean;
4
+ static hidden: boolean;
5
+ static description: string;
6
+ static flags: {
7
+ preview: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ output: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ 'schedule-on-deploy': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ config: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
+ 'verify-runtime-dependencies': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
+ 'debug-bundle': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ 'debug-bundle-output-file': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
15
+ };
16
+ run(): Promise<void>;
17
+ private formatPreview;
18
+ }