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.
- package/README.md +102 -0
- package/bin/run +5 -0
- package/bin/run.cmd +3 -0
- package/constructs.d.ts +1 -0
- package/constructs.js +2 -0
- package/dist/auth/index.d.ts +15 -0
- package/dist/auth/index.js +262 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/commands/authCommand.d.ts +5 -0
- package/dist/commands/authCommand.js +37 -0
- package/dist/commands/authCommand.js.map +1 -0
- package/dist/commands/baseCommand.d.ts +13 -0
- package/dist/commands/baseCommand.js +48 -0
- package/dist/commands/baseCommand.js.map +1 -0
- package/dist/commands/deploy.d.ts +18 -0
- package/dist/commands/deploy.js +289 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/destroy.d.ts +10 -0
- package/dist/commands/destroy.js +84 -0
- package/dist/commands/destroy.js.map +1 -0
- package/dist/commands/env/add.d.ts +14 -0
- package/dist/commands/env/add.js +85 -0
- package/dist/commands/env/add.js.map +1 -0
- package/dist/commands/env/ls.d.ts +6 -0
- package/dist/commands/env/ls.js +44 -0
- package/dist/commands/env/ls.js.map +1 -0
- package/dist/commands/env/pull.d.ts +12 -0
- package/dist/commands/env/pull.js +99 -0
- package/dist/commands/env/pull.js.map +1 -0
- package/dist/commands/env/rm.d.ts +12 -0
- package/dist/commands/env/rm.js +82 -0
- package/dist/commands/env/rm.js.map +1 -0
- package/dist/commands/env/update.d.ts +14 -0
- package/dist/commands/env/update.js +88 -0
- package/dist/commands/env/update.js.map +1 -0
- package/dist/commands/help.d.ts +6 -0
- package/dist/commands/help.js +17 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/login.d.ts +13 -0
- package/dist/commands/login.js +134 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +9 -0
- package/dist/commands/logout.js +43 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/runtimes.d.ts +6 -0
- package/dist/commands/runtimes.js +49 -0
- package/dist/commands/runtimes.js.map +1 -0
- package/dist/commands/switch.d.ts +9 -0
- package/dist/commands/switch.js +81 -0
- package/dist/commands/switch.js.map +1 -0
- package/dist/commands/sync-playwright.d.ts +10 -0
- package/dist/commands/sync-playwright.js +98 -0
- package/dist/commands/sync-playwright.js.map +1 -0
- package/dist/commands/test.d.ts +45 -0
- package/dist/commands/test.js +366 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/trigger.d.ts +37 -0
- package/dist/commands/trigger.js +242 -0
- package/dist/commands/trigger.js.map +1 -0
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.js +42 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/config.d.ts +31 -0
- package/dist/config.js +8 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -0
- package/dist/constructs/alert-channel-subscription.d.ts +44 -0
- package/dist/constructs/alert-channel-subscription.js +39 -0
- package/dist/constructs/alert-channel-subscription.js.map +1 -0
- package/dist/constructs/alert-channel.d.ts +53 -0
- package/dist/constructs/alert-channel.js +55 -0
- package/dist/constructs/alert-channel.js.map +1 -0
- package/dist/constructs/alert-escalation-policy.d.ts +34 -0
- package/dist/constructs/alert-escalation-policy.js +47 -0
- package/dist/constructs/alert-escalation-policy.js.map +1 -0
- package/dist/constructs/api-check.d.ts +187 -0
- package/dist/constructs/api-check.js +279 -0
- package/dist/constructs/api-check.js.map +1 -0
- package/dist/constructs/browser-check.d.ts +90 -0
- package/dist/constructs/browser-check.js +151 -0
- package/dist/constructs/browser-check.js.map +1 -0
- package/dist/constructs/check-group.d.ts +162 -0
- package/dist/constructs/check-group.js +208 -0
- package/dist/constructs/check-group.js.map +1 -0
- package/dist/constructs/check.d.ts +144 -0
- package/dist/constructs/check.js +133 -0
- package/dist/constructs/check.js.map +1 -0
- package/dist/constructs/construct.d.ts +17 -0
- package/dist/constructs/construct.js +22 -0
- package/dist/constructs/construct.js.map +1 -0
- package/dist/constructs/dashboard.d.ts +138 -0
- package/dist/constructs/dashboard.js +126 -0
- package/dist/constructs/dashboard.js.map +1 -0
- package/dist/constructs/email-alert-channel.d.ts +26 -0
- package/dist/constructs/email-alert-channel.js +37 -0
- package/dist/constructs/email-alert-channel.js.map +1 -0
- package/dist/constructs/environment-variable.d.ts +2 -0
- package/dist/constructs/environment-variable.js +3 -0
- package/dist/constructs/environment-variable.js.map +1 -0
- package/dist/constructs/frequency.d.ts +20 -0
- package/dist/constructs/frequency.js +26 -0
- package/dist/constructs/frequency.js.map +1 -0
- package/dist/constructs/heartbeat-check.d.ts +43 -0
- package/dist/constructs/heartbeat-check.js +61 -0
- package/dist/constructs/heartbeat-check.js.map +1 -0
- package/dist/constructs/http-header.d.ts +2 -0
- package/dist/constructs/http-header.js +3 -0
- package/dist/constructs/http-header.js.map +1 -0
- package/dist/constructs/index.d.ts +27 -0
- package/dist/constructs/index.js +44 -0
- package/dist/constructs/index.js.map +1 -0
- package/dist/constructs/key-value-pair.d.ts +6 -0
- package/dist/constructs/key-value-pair.js +3 -0
- package/dist/constructs/key-value-pair.js.map +1 -0
- package/dist/constructs/maintenance-window.d.ts +61 -0
- package/dist/constructs/maintenance-window.js +47 -0
- package/dist/constructs/maintenance-window.js.map +1 -0
- package/dist/constructs/multi-step-check.d.ts +65 -0
- package/dist/constructs/multi-step-check.js +153 -0
- package/dist/constructs/multi-step-check.js.map +1 -0
- package/dist/constructs/opsgenie-alert-channel.d.ts +45 -0
- package/dist/constructs/opsgenie-alert-channel.js +44 -0
- package/dist/constructs/opsgenie-alert-channel.js.map +1 -0
- package/dist/constructs/pagerduty-alert-channel.d.ts +39 -0
- package/dist/constructs/pagerduty-alert-channel.js +42 -0
- package/dist/constructs/pagerduty-alert-channel.js.map +1 -0
- package/dist/constructs/phone-call-alert-channel.d.ts +34 -0
- package/dist/constructs/phone-call-alert-channel.js +42 -0
- package/dist/constructs/phone-call-alert-channel.js.map +1 -0
- package/dist/constructs/playwright-config.d.ts +52 -0
- package/dist/constructs/playwright-config.js +3 -0
- package/dist/constructs/playwright-config.js.map +1 -0
- package/dist/constructs/private-location-check-assignment.d.ts +29 -0
- package/dist/constructs/private-location-check-assignment.js +35 -0
- package/dist/constructs/private-location-check-assignment.js.map +1 -0
- package/dist/constructs/private-location-group-assignment.d.ts +29 -0
- package/dist/constructs/private-location-group-assignment.js +35 -0
- package/dist/constructs/private-location-group-assignment.js.map +1 -0
- package/dist/constructs/private-location.d.ts +51 -0
- package/dist/constructs/private-location.js +61 -0
- package/dist/constructs/private-location.js.map +1 -0
- package/dist/constructs/project.d.ts +66 -0
- package/dist/constructs/project.js +155 -0
- package/dist/constructs/project.js.map +1 -0
- package/dist/constructs/query-param.d.ts +2 -0
- package/dist/constructs/query-param.js +3 -0
- package/dist/constructs/query-param.js.map +1 -0
- package/dist/constructs/ref.d.ts +5 -0
- package/dist/constructs/ref.js +13 -0
- package/dist/constructs/ref.js.map +1 -0
- package/dist/constructs/retry-strategy.d.ts +50 -0
- package/dist/constructs/retry-strategy.js +51 -0
- package/dist/constructs/retry-strategy.js.map +1 -0
- package/dist/constructs/slack-alert-channel.d.ts +26 -0
- package/dist/constructs/slack-alert-channel.js +40 -0
- package/dist/constructs/slack-alert-channel.js.map +1 -0
- package/dist/constructs/sms-alert-channel.d.ts +32 -0
- package/dist/constructs/sms-alert-channel.js +40 -0
- package/dist/constructs/sms-alert-channel.js.map +1 -0
- package/dist/constructs/validator-error.d.ts +2 -0
- package/dist/constructs/validator-error.js +7 -0
- package/dist/constructs/validator-error.js.map +1 -0
- package/dist/constructs/webhook-alert-channel.d.ts +67 -0
- package/dist/constructs/webhook-alert-channel.js +52 -0
- package/dist/constructs/webhook-alert-channel.js.map +1 -0
- package/dist/help/examples.d.ts +6 -0
- package/dist/help/examples.js +22 -0
- package/dist/help/examples.js.map +1 -0
- package/dist/help/help-extension.d.ts +7 -0
- package/dist/help/help-extension.js +59 -0
- package/dist/help/help-extension.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/messages/common-messages.d.ts +5 -0
- package/dist/messages/common-messages.js +9 -0
- package/dist/messages/common-messages.js.map +1 -0
- package/dist/playwright/playwright-config-loader.d.ts +1 -0
- package/dist/playwright/playwright-config-loader.js +26 -0
- package/dist/playwright/playwright-config-loader.js.map +1 -0
- package/dist/playwright/playwright-config-template.d.ts +8 -0
- package/dist/playwright/playwright-config-template.js +78 -0
- package/dist/playwright/playwright-config-template.js.map +1 -0
- package/dist/reporters/abstract-list.d.ts +41 -0
- package/dist/reporters/abstract-list.js +171 -0
- package/dist/reporters/abstract-list.js.map +1 -0
- package/dist/reporters/ci.d.ts +12 -0
- package/dist/reporters/ci.js +34 -0
- package/dist/reporters/ci.js.map +1 -0
- package/dist/reporters/dot.d.ts +10 -0
- package/dist/reporters/dot.js +29 -0
- package/dist/reporters/dot.js.map +1 -0
- package/dist/reporters/github.d.ts +32 -0
- package/dist/reporters/github.js +119 -0
- package/dist/reporters/github.js.map +1 -0
- package/dist/reporters/json.d.ts +26 -0
- package/dist/reporters/json.js +101 -0
- package/dist/reporters/json.js.map +1 -0
- package/dist/reporters/list.d.ts +15 -0
- package/dist/reporters/list.js +85 -0
- package/dist/reporters/list.js.map +1 -0
- package/dist/reporters/reporter.d.ts +16 -0
- package/dist/reporters/reporter.js +29 -0
- package/dist/reporters/reporter.js.map +1 -0
- package/dist/reporters/util.d.ts +18 -0
- package/dist/reporters/util.js +325 -0
- package/dist/reporters/util.js.map +1 -0
- package/dist/rest/accounts.d.ts +12 -0
- package/dist/rest/accounts.js +15 -0
- package/dist/rest/accounts.js.map +1 -0
- package/dist/rest/api.d.ts +33 -0
- package/dist/rest/api.js +98 -0
- package/dist/rest/api.js.map +1 -0
- package/dist/rest/assets.d.ts +13 -0
- package/dist/rest/assets.js +30 -0
- package/dist/rest/assets.js.map +1 -0
- package/dist/rest/checkly-storage.d.ts +12 -0
- package/dist/rest/checkly-storage.js +15 -0
- package/dist/rest/checkly-storage.js.map +1 -0
- package/dist/rest/environment-variables.d.ts +17 -0
- package/dist/rest/environment-variables.js +25 -0
- package/dist/rest/environment-variables.js.map +1 -0
- package/dist/rest/heartbeat-checks.d.ts +11 -0
- package/dist/rest/heartbeat-checks.js +17 -0
- package/dist/rest/heartbeat-checks.js.map +1 -0
- package/dist/rest/locations.d.ts +11 -0
- package/dist/rest/locations.js +12 -0
- package/dist/rest/locations.js.map +1 -0
- package/dist/rest/private-locations.d.ts +10 -0
- package/dist/rest/private-locations.js +12 -0
- package/dist/rest/private-locations.js.map +1 -0
- package/dist/rest/projects.d.ts +46 -0
- package/dist/rest/projects.js +25 -0
- package/dist/rest/projects.js.map +1 -0
- package/dist/rest/runtimes.d.ts +16 -0
- package/dist/rest/runtimes.js +15 -0
- package/dist/rest/runtimes.js.map +1 -0
- package/dist/rest/test-sessions.d.ts +59 -0
- package/dist/rest/test-sessions.js +24 -0
- package/dist/rest/test-sessions.js.map +1 -0
- package/dist/rest/users.d.ts +12 -0
- package/dist/rest/users.js +12 -0
- package/dist/rest/users.js.map +1 -0
- package/dist/rest/util.d.ts +4 -0
- package/dist/rest/util.js +17 -0
- package/dist/rest/util.js.map +1 -0
- package/dist/services/abstract-check-runner.d.ts +60 -0
- package/dist/services/abstract-check-runner.js +225 -0
- package/dist/services/abstract-check-runner.js.map +1 -0
- package/dist/services/check-parser/collector.d.ts +33 -0
- package/dist/services/check-parser/collector.js +48 -0
- package/dist/services/check-parser/collector.js.map +1 -0
- package/dist/services/check-parser/errors.d.ts +8 -0
- package/dist/services/check-parser/errors.js +45 -0
- package/dist/services/check-parser/errors.js.map +1 -0
- package/dist/services/check-parser/package-files/index.d.ts +1 -0
- package/dist/services/check-parser/package-files/index.js +6 -0
- package/dist/services/check-parser/package-files/index.js.map +1 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.d.ts +17 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.js +46 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.js.map +1 -0
- package/dist/services/check-parser/package-files/json-source-file.d.ts +10 -0
- package/dist/services/check-parser/package-files/json-source-file.js +38 -0
- package/dist/services/check-parser/package-files/json-source-file.js.map +1 -0
- package/dist/services/check-parser/package-files/loader.d.ts +7 -0
- package/dist/services/check-parser/package-files/loader.js +19 -0
- package/dist/services/check-parser/package-files/loader.js.map +1 -0
- package/dist/services/check-parser/package-files/package-json-file.d.ts +20 -0
- package/dist/services/check-parser/package-files/package-json-file.js +48 -0
- package/dist/services/check-parser/package-files/package-json-file.js.map +1 -0
- package/dist/services/check-parser/package-files/paths.d.ts +80 -0
- package/dist/services/check-parser/package-files/paths.js +177 -0
- package/dist/services/check-parser/package-files/paths.js.map +1 -0
- package/dist/services/check-parser/package-files/resolver.d.ts +70 -0
- package/dist/services/check-parser/package-files/resolver.js +290 -0
- package/dist/services/check-parser/package-files/resolver.js.map +1 -0
- package/dist/services/check-parser/package-files/source-file.d.ts +15 -0
- package/dist/services/check-parser/package-files/source-file.js +54 -0
- package/dist/services/check-parser/package-files/source-file.js.map +1 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.d.ts +68 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.js +127 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.js.map +1 -0
- package/dist/services/check-parser/parser.d.ts +32 -0
- package/dist/services/check-parser/parser.js +313 -0
- package/dist/services/check-parser/parser.js.map +1 -0
- package/dist/services/checkly-config-loader.d.ts +72 -0
- package/dist/services/checkly-config-loader.js +103 -0
- package/dist/services/checkly-config-loader.js.map +1 -0
- package/dist/services/config.d.ts +28 -0
- package/dist/services/config.js +99 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/project-parser.d.ts +21 -0
- package/dist/services/project-parser.js +192 -0
- package/dist/services/project-parser.js.map +1 -0
- package/dist/services/snapshot-service.d.ts +13 -0
- package/dist/services/snapshot-service.js +85 -0
- package/dist/services/snapshot-service.js.map +1 -0
- package/dist/services/socket-client.d.ts +4 -0
- package/dist/services/socket-client.js +88 -0
- package/dist/services/socket-client.js.map +1 -0
- package/dist/services/test-filters.d.ts +3 -0
- package/dist/services/test-filters.js +27 -0
- package/dist/services/test-filters.js.map +1 -0
- package/dist/services/test-runner.d.ts +24 -0
- package/dist/services/test-runner.js +91 -0
- package/dist/services/test-runner.js.map +1 -0
- package/dist/services/trigger-runner.d.ts +29 -0
- package/dist/services/trigger-runner.js +59 -0
- package/dist/services/trigger-runner.js.map +1 -0
- package/dist/services/util.d.ts +32 -0
- package/dist/services/util.js +244 -0
- package/dist/services/util.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/oclif.manifest.json +635 -0
- 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
package/bin/run.cmd
ADDED
package/constructs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dist/constructs'
|
package/constructs.js
ADDED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA8C;AAC9C,uCAAwB;AACxB,2CAA4B;AAC5B,+CAAgC;AAChC,4DAAkC;AAClC,qCAA2D;AAC3D,2CAA8C;AAC9C,uCAAwB;AACxB,2CAA4B;AAI5B,MAAM,eAAe,GAAG,kCAAkC,CAAA;AAC1D,MAAM,uBAAuB,GAAG,sCAAsC,CAAA;AACtE,MAAM,YAAY,GAAG,sBAAsB,CAAA;AAC3C,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AAElD,SAAgB,YAAY;IAC1B,MAAM,YAAY,GAAG,MAAM;SACxB,WAAW,CAAC,EAAE,CAAC;SACf,QAAQ,CAAC,QAAQ,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAErB,MAAM,aAAa,GAAG,MAAM;SACzB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,YAAY,CAAC;SACpB,MAAM,CAAC,QAAQ,CAAC;SAChB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAErB,OAAO;QACL,aAAa;QACb,YAAY;KACb,CAAA;AACH,CAAC;AApBD,oCAoBC;AAED,MAAa,WAAW;IAStB,YAAqB,IAAc;;QAAd,SAAI,GAAJ,IAAI,CAAU;QANnC,6CAAsB;QACtB,4CAAqB;QAErB,2CAAqB;QACrB,uCAAiB;QAGf,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAAA;QACtD,uBAAA,IAAI,8BAAkB,aAAa,MAAA,CAAA;QACnC,uBAAA,IAAI,6BAAiB,YAAY,MAAA,CAAA;QAEjC,IAAI,CAAC,iBAAiB,GAAG,uBAAA,IAAI,sEAA2B,MAA/B,IAAI,CAA6B,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,uBAAA,IAAI,6DAAkB,MAAtB,IAAI,CAAoB,CAAA;QAE9B,IAAI,CAAC,uBAAA,IAAI,gCAAa,IAAI,CAAC,uBAAA,IAAI,4BAAS,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,oFAAoF;gBAChG,gDAAgD,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAS,EAAM,uBAAA,IAAI,4BAAS,CAAC,CAAA;QAE9C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAA,IAAI,sDAAW,MAAf,IAAI,CAAa,CAAA;QAEvC,OAAO;YACL,IAAI;YACJ,GAAG;SACJ,CAAA;IACH,CAAC;CA6LF;AA9ND,kCA8NC;;IA1LG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAE5C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,SAAS,EAAE,eAAe;QAC1B,cAAc,EAAE,uBAAA,IAAI,kCAAe;QACnC,qBAAqB,EAAE,MAAM;QAC7B,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,kBAAkB;QAChC,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,uBAAA,IAAI,iCAAc;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC5C,UAAU,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;QACrD,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;KACvD,CAAC,CAAA;IAEF,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC9B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;IAGC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QAClC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;;YAChC,IAAI,MAAA,GAAG,CAAC,GAAG,0CAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAA;gBAEvD,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACrE,IAAI,CAAC,GAAG;wBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAA;gBAEJ,+FAA+F;YAC/F,CAAC;iBAAM,IAAI,CAAC,CAAA,MAAA,GAAG,CAAC,GAAG,0CAAE,QAAQ,CAAC,aAAa,CAAC,CAAA,EAAE,CAAC;gBAC7C,MAAM,cAAc,GAAG,IAAI,eAAe,CAAC,MAAA,GAAG,CAAC,GAAG,0CAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;gBACjE,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACvC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAEzC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACzC,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;gBAEhE,IAAI,IAAI,IAAI,KAAK,KAAK,uBAAA,IAAI,iCAAc,EAAE,CAAC;oBACzC,GAAG,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCf,CAAC,CAAA;oBACI,OAAO,CAAC,IAAI,CAAC,CAAA;gBACf,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC;;;;;;mBAMH,KAAK,SAAS,gBAAgB;;;;;OAK1C,CAAC,CAAA;gBACE,CAAC;gBAED,GAAG,CAAC,GAAG,EAAE,CAAA;YACX,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAE/C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACtB,CAAC,CAAC,CAAC,CAAA;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;YAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C;oBAC7D,8EAA8E;oBAC9E,4FAA4F,CAAC,CAAC,CAAA;YAClG,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,kCAED,KAAK;IACH,MAAM,IAAI,GAAG,MAAM,uBAAA,IAAI,wDAAa,MAAjB,IAAI,CAAe,CAAA;IAEtC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;QACtC,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,uBAAA,IAAI,iCAAc;QACjC,IAAI;QACJ,YAAY,EAAE,kBAAkB;KACjC,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,MAAM,uBAAA,IAAI,8DAAe,CAAC,IAAI,CAClD,wCAAwC,EACxC,WAAW,EACX;QACE,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;YACnD,iBAAiB,EAAE,GAAG;SACvB;KACF,CACF,CAAA;IAED,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,IAAI,CAAA;IAE3E,uBAAA,IAAI,4BAAgB,WAAW,MAAA,CAAA;IAC/B,uBAAA,IAAI,wBAAY,OAAO,MAAA,CAAA;AACzB,CAAC,2BAED,KAAK;;IACH,IAAI,CAAC;QACH,MAAM,uBAAA,IAAI,sDAAW,MAAf,IAAI,CAAa,CAAA;IACzB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,CAAA,MAAC,KAAoB,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE,CAAC;YACnD,MAAM,uBAAA,IAAI,yDAAc,MAAlB,IAAI,CAAgB,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAA;IAEpD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAA,IAAI,8DAAe,CAAC,IAAI,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAA;IAExF,OAAO,IAAI,CAAA;AACb,CAAC,2BAED,KAAK;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAA,IAAI,8DAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAE3D,OAAO,IAAI,CAAA;AACb,CAAC,8BAED,KAAK;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAA,IAAI,8DAAe,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,uBAAA,IAAI,gCAAa,EAAE,CAAC,CAAA;IAE9F,OAAO,IAAI,CAAA;AACb,CAAC;IAGC,gCAAgC;IAChC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,iBAAc,GAAE,CAAA;IACpC,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,OAAO,EAAE;QACrC,OAAO;QACP,OAAO,EAAE;YACP,MAAM,EAAE,mCAAmC;YAC3C,aAAa,EAAE,UAAU,uBAAA,IAAI,gCAAa,EAAE;SAC7C;KACF,CAAC,CAAA;IAEF,OAAO,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAChC,CAAC"}
|
|
@@ -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
|
+
}
|