checkly 0.0.0-pr.686.4c0f5e3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/bin/dev +17 -0
- package/bin/run +5 -0
- package/bin/run.cmd +3 -0
- package/constructs.d.ts +1 -0
- package/constructs.js +1 -0
- package/dist/auth/index.d.ts +15 -0
- package/dist/auth/index.js +228 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/commands/authCommand.d.ts +5 -0
- package/dist/commands/authCommand.js +14 -0
- package/dist/commands/authCommand.js.map +1 -0
- package/dist/commands/baseCommand.d.ts +9 -0
- package/dist/commands/baseCommand.js +21 -0
- package/dist/commands/baseCommand.js.map +1 -0
- package/dist/commands/deploy.d.ts +13 -0
- package/dist/commands/deploy.js +171 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/destroy.d.ts +10 -0
- package/dist/commands/destroy.js +47 -0
- package/dist/commands/destroy.js.map +1 -0
- package/dist/commands/env/add.d.ts +13 -0
- package/dist/commands/env/add.js +54 -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 +21 -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 +63 -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 +56 -0
- package/dist/commands/env/rm.js.map +1 -0
- package/dist/commands/env/update.d.ts +13 -0
- package/dist/commands/env/update.js +54 -0
- package/dist/commands/env/update.js.map +1 -0
- package/dist/commands/login.d.ts +13 -0
- package/dist/commands/login.js +129 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +9 -0
- package/dist/commands/logout.js +40 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/runtimes.d.ts +6 -0
- package/dist/commands/runtimes.js +26 -0
- package/dist/commands/runtimes.js.map +1 -0
- package/dist/commands/switch.d.ts +9 -0
- package/dist/commands/switch.js +59 -0
- package/dist/commands/switch.js.map +1 -0
- package/dist/commands/test.d.ts +36 -0
- package/dist/commands/test.js +237 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/trigger.d.ts +32 -0
- package/dist/commands/trigger.js +173 -0
- package/dist/commands/trigger.js.map +1 -0
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.js +16 -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/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/api-check.d.ts +179 -0
- package/dist/constructs/api-check.js +248 -0
- package/dist/constructs/api-check.js.map +1 -0
- package/dist/constructs/browser-check.d.ts +59 -0
- package/dist/constructs/browser-check.js +102 -0
- package/dist/constructs/browser-check.js.map +1 -0
- package/dist/constructs/check-group.d.ts +116 -0
- package/dist/constructs/check-group.js +113 -0
- package/dist/constructs/check-group.js.map +1 -0
- package/dist/constructs/check.d.ts +111 -0
- package/dist/constructs/check.js +88 -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/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/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 +15 -0
- package/dist/constructs/index.js +32 -0
- package/dist/constructs/index.js.map +1 -0
- package/dist/constructs/key-value-pair.d.ts +5 -0
- package/dist/constructs/key-value-pair.js +3 -0
- package/dist/constructs/key-value-pair.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/project.d.ts +57 -0
- package/dist/constructs/project.js +100 -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/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 +27 -0
- package/dist/constructs/sms-alert-channel.js +38 -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 +59 -0
- package/dist/constructs/webhook-alert-channel.js +50 -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 +4 -0
- package/dist/help/help-extension.js +41 -0
- package/dist/help/help-extension.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -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/reporters/abstract-list.d.ts +35 -0
- package/dist/reporters/abstract-list.js +135 -0
- package/dist/reporters/abstract-list.js.map +1 -0
- package/dist/reporters/ci.d.ts +12 -0
- package/dist/reporters/ci.js +29 -0
- package/dist/reporters/ci.js.map +1 -0
- package/dist/reporters/dot.d.ts +12 -0
- package/dist/reporters/dot.js +28 -0
- package/dist/reporters/dot.js.map +1 -0
- package/dist/reporters/github.d.ts +34 -0
- package/dist/reporters/github.js +95 -0
- package/dist/reporters/github.js.map +1 -0
- package/dist/reporters/list.d.ts +14 -0
- package/dist/reporters/list.js +56 -0
- package/dist/reporters/list.js.map +1 -0
- package/dist/reporters/reporter.d.ts +15 -0
- package/dist/reporters/reporter.js +23 -0
- package/dist/reporters/reporter.js.map +1 -0
- package/dist/reporters/util.d.ts +15 -0
- package/dist/reporters/util.js +283 -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 +27 -0
- package/dist/rest/api.js +90 -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/environment-variables.d.ts +16 -0
- package/dist/rest/environment-variables.js +25 -0
- package/dist/rest/environment-variables.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 +11 -0
- package/dist/rest/private-locations.js +12 -0
- package/dist/rest/private-locations.js.map +1 -0
- package/dist/rest/projects.d.ts +43 -0
- package/dist/rest/projects.js +24 -0
- package/dist/rest/projects.js.map +1 -0
- package/dist/rest/runtimes.d.ts +15 -0
- package/dist/rest/runtimes.js +15 -0
- package/dist/rest/runtimes.js.map +1 -0
- package/dist/rest/test-sessions.d.ts +57 -0
- package/dist/rest/test-sessions.js +21 -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/services/abstract-check-runner.d.ts +55 -0
- package/dist/services/abstract-check-runner.js +154 -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/parser.d.ts +39 -0
- package/dist/services/check-parser/parser.js +296 -0
- package/dist/services/check-parser/parser.js.map +1 -0
- package/dist/services/checkly-config-loader.d.ts +54 -0
- package/dist/services/checkly-config-loader.js +55 -0
- package/dist/services/checkly-config-loader.js.map +1 -0
- package/dist/services/config.d.ts +24 -0
- package/dist/services/config.js +75 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/project-parser.d.ts +19 -0
- package/dist/services/project-parser.js +87 -0
- package/dist/services/project-parser.js.map +1 -0
- package/dist/services/socket-client.d.ts +4 -0
- package/dist/services/socket-client.js +20 -0
- package/dist/services/socket-client.js.map +1 -0
- package/dist/services/test-filters.d.ts +2 -0
- package/dist/services/test-filters.js +16 -0
- package/dist/services/test-filters.js.map +1 -0
- package/dist/services/test-runner.d.ts +21 -0
- package/dist/services/test-runner.js +50 -0
- package/dist/services/test-runner.js.map +1 -0
- package/dist/services/trigger-runner.d.ts +26 -0
- package/dist/services/trigger-runner.js +47 -0
- package/dist/services/trigger-runner.js.map +1 -0
- package/dist/services/util.d.ts +30 -0
- package/dist/services/util.js +157 -0
- package/dist/services/util.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/oclif.manifest.json +527 -0
- package/package.json +174 -0
package/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
- **Unite E2E testing & monitoring in one workflow.** No more silos between Dev, QA and Ops.
|
|
5
|
+
- **Codeable, testable, reviewable.** Works with your dev pipeline. From your IDE, via PR to CI.
|
|
6
|
+
- **Native `@playwright/test` support.** No lock-in, just write standard `*.spec.ts` files.
|
|
7
|
+
- **Alerting baked in.** Set alerts for Slack, SMS and many more channels.
|
|
8
|
+
- **Typescript-first.** Fully typed for easy refactoring and code completion.
|
|
9
|
+
- **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/)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# Installation
|
|
13
|
+
|
|
14
|
+
First, make sure you sign up for a [free Checkly account](https://app.checklyhq.com/signup) or signup via the terminal using
|
|
15
|
+
`npx checkly login`.
|
|
16
|
+
|
|
17
|
+
Then, the **easiest** way to get started is to install the CLI using the following command:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm create checkly
|
|
21
|
+
```
|
|
22
|
+
This command will guide you through some simple steps and set up a fully working example project for you. Should take
|
|
23
|
+
~1 minute.
|
|
24
|
+
|
|
25
|
+
You can also set up the CLI **from scratch** by running:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install --save-dev checkly
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
# Docs
|
|
32
|
+
|
|
33
|
+
Official docs are over at [checklyhq.com/docs/cli](https://checklyhq.com/docs/cli/)
|
|
34
|
+
|
|
35
|
+
## Need help?
|
|
36
|
+
|
|
37
|
+
- Check out our [Getting Started Guide](https://checklyhq.com/docs/cli/)
|
|
38
|
+
- Join our [Slack Community](https://checklyhq.com/slack). The devs who built this hang out there.
|
|
39
|
+
- Found a bug? [File an issue on this repo](https://github.com/checkly/checkly-cli/issues/new/choose)
|
|
40
|
+
|
|
41
|
+
# Local Development
|
|
42
|
+
|
|
43
|
+
To get started with local development check [CONTRIBUTING.MD](https://github.com/checkly/checkly-cli/blob/main/CONTRIBUTING.md)
|
package/bin/dev
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const oclif = require('@oclif/core')
|
|
4
|
+
|
|
5
|
+
const path = require('path')
|
|
6
|
+
const project = path.join(__dirname, '..', 'tsconfig.json')
|
|
7
|
+
|
|
8
|
+
// In dev mode -> use ts-node and dev plugins
|
|
9
|
+
process.env.NODE_ENV = 'development'
|
|
10
|
+
|
|
11
|
+
require('ts-node').register({project})
|
|
12
|
+
|
|
13
|
+
// In dev mode, always show stack traces
|
|
14
|
+
oclif.settings.debug = true;
|
|
15
|
+
|
|
16
|
+
// Start the CLI
|
|
17
|
+
oclif.run().then(oclif.flush).catch(oclif.Errors.handle)
|
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 @@
|
|
|
1
|
+
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,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
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");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
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");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
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;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AuthContext = exports.generatePKCE = void 0;
|
|
16
|
+
const axios_1 = require("axios");
|
|
17
|
+
const os = require("os");
|
|
18
|
+
const http = require("http");
|
|
19
|
+
const crypto = require("crypto");
|
|
20
|
+
const jwt_decode_1 = require("jwt-decode");
|
|
21
|
+
const api_1 = require("../rest/api");
|
|
22
|
+
const fs = require("fs");
|
|
23
|
+
const path = require("path");
|
|
24
|
+
const AUTH0_CLIENT_ID = 'mBtwLFVm39GVZ1HpSRBSdRiLFucYxmMb';
|
|
25
|
+
const AUTH0_AUTHORIZATION_URL = 'https://auth.checklyhq.com/authorize';
|
|
26
|
+
const AUTH0_SCOPES = 'openid profile email';
|
|
27
|
+
const AUTH0_CALLBACK_URL = 'http://localhost:4242';
|
|
28
|
+
function generatePKCE() {
|
|
29
|
+
const codeVerifier = crypto
|
|
30
|
+
.randomBytes(64)
|
|
31
|
+
.toString('base64')
|
|
32
|
+
.replace(/\+/g, '-')
|
|
33
|
+
.replace(/\//g, '_')
|
|
34
|
+
.replace(/=+$/, '');
|
|
35
|
+
const codeChallenge = crypto
|
|
36
|
+
.createHash('sha256')
|
|
37
|
+
.update(codeVerifier)
|
|
38
|
+
.digest('base64')
|
|
39
|
+
.replace(/\+/g, '-')
|
|
40
|
+
.replace(/\//g, '_')
|
|
41
|
+
.replace(/=+$/, '');
|
|
42
|
+
return {
|
|
43
|
+
codeChallenge,
|
|
44
|
+
codeVerifier,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.generatePKCE = generatePKCE;
|
|
48
|
+
class AuthContext {
|
|
49
|
+
constructor(mode) {
|
|
50
|
+
this.mode = mode;
|
|
51
|
+
_AuthContext_instances.add(this);
|
|
52
|
+
_AuthContext_codeChallenge.set(this, void 0);
|
|
53
|
+
_AuthContext_codeVerifier.set(this, void 0);
|
|
54
|
+
_AuthContext_accessToken.set(this, void 0);
|
|
55
|
+
_AuthContext_idToken.set(this, void 0);
|
|
56
|
+
const { codeChallenge, codeVerifier } = generatePKCE();
|
|
57
|
+
__classPrivateFieldSet(this, _AuthContext_codeChallenge, codeChallenge, "f");
|
|
58
|
+
__classPrivateFieldSet(this, _AuthContext_codeVerifier, codeVerifier, "f");
|
|
59
|
+
this.authenticationUrl = __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_generateAuthenticationUrl).call(this);
|
|
60
|
+
}
|
|
61
|
+
async getAuth0Credentials() {
|
|
62
|
+
await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_fetchAccessToken).call(this);
|
|
63
|
+
if (!__classPrivateFieldGet(this, _AuthContext_accessToken, "f") || !__classPrivateFieldGet(this, _AuthContext_idToken, "f")) {
|
|
64
|
+
throw new Error('There was an unexpected error retrieving Auth0 token. Please try again or contact ' +
|
|
65
|
+
'support@checklyhq.com if this problem persists');
|
|
66
|
+
}
|
|
67
|
+
const { name } = (0, jwt_decode_1.default)(__classPrivateFieldGet(this, _AuthContext_idToken, "f"));
|
|
68
|
+
const { key } = await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_getApiKey).call(this);
|
|
69
|
+
return {
|
|
70
|
+
name,
|
|
71
|
+
key,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.AuthContext = AuthContext;
|
|
76
|
+
_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() {
|
|
77
|
+
const url = new URL(AUTH0_AUTHORIZATION_URL);
|
|
78
|
+
const params = new URLSearchParams({
|
|
79
|
+
client_id: AUTH0_CLIENT_ID,
|
|
80
|
+
code_challenge: __classPrivateFieldGet(this, _AuthContext_codeChallenge, "f"),
|
|
81
|
+
code_challenge_method: 'S256',
|
|
82
|
+
response_type: 'code',
|
|
83
|
+
redirect_uri: AUTH0_CALLBACK_URL,
|
|
84
|
+
scope: AUTH0_SCOPES,
|
|
85
|
+
state: __classPrivateFieldGet(this, _AuthContext_codeVerifier, "f"),
|
|
86
|
+
mode: this.mode === 'signup' ? 'signUp' : '',
|
|
87
|
+
allowLogin: this.mode === 'signup' ? 'false' : 'true',
|
|
88
|
+
allowSignUp: this.mode === 'signup' ? 'true' : 'false',
|
|
89
|
+
});
|
|
90
|
+
url.search = params.toString();
|
|
91
|
+
return url.toString();
|
|
92
|
+
}, _AuthContext_startServer = function _AuthContext_startServer() {
|
|
93
|
+
return new Promise((resolve, reject) => {
|
|
94
|
+
const server = http.createServer();
|
|
95
|
+
server.on('request', (req, res) => {
|
|
96
|
+
var _a, _b, _c;
|
|
97
|
+
if ((_a = req.url) === null || _a === void 0 ? void 0 : _a.endsWith('.svg')) {
|
|
98
|
+
res.writeHead(200, { 'Content-Type': 'image/svg+xml' });
|
|
99
|
+
fs.readFile(path.join(__dirname, `.${req.url}`), 'utf8', (err, data) => {
|
|
100
|
+
if (!err)
|
|
101
|
+
res.end(data);
|
|
102
|
+
});
|
|
103
|
+
// `req.url` has a '/' char at the beginning which needs removed to be valid searchParams input
|
|
104
|
+
}
|
|
105
|
+
else if (!((_b = req.url) === null || _b === void 0 ? void 0 : _b.includes('favicon.ico'))) {
|
|
106
|
+
const responseParams = new URLSearchParams((_c = req.url) === null || _c === void 0 ? void 0 : _c.substring(1));
|
|
107
|
+
const code = responseParams.get('code');
|
|
108
|
+
const state = responseParams.get('state');
|
|
109
|
+
const error = responseParams.get('error');
|
|
110
|
+
const errorDescription = responseParams.get('error_description');
|
|
111
|
+
if (code && state === __classPrivateFieldGet(this, _AuthContext_codeVerifier, "f")) {
|
|
112
|
+
res.write(`
|
|
113
|
+
<html>
|
|
114
|
+
<style>
|
|
115
|
+
html {
|
|
116
|
+
font-family: Inter, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
|
|
117
|
+
font-size: 16px;
|
|
118
|
+
}
|
|
119
|
+
@keyframes slide-in-top {
|
|
120
|
+
0% {
|
|
121
|
+
transform: translateY(-100px);
|
|
122
|
+
opacity: 0;
|
|
123
|
+
}
|
|
124
|
+
100% {
|
|
125
|
+
transform: translateY(0);
|
|
126
|
+
opacity: 1;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
.slide-in {
|
|
130
|
+
animation: slide-in-top 1s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
|
|
131
|
+
}
|
|
132
|
+
</style>
|
|
133
|
+
<body>
|
|
134
|
+
<div style="height:100%;width:100%;inset:0;position:absolute;display:grid;place-items:center;background-color:#EFF2F7;text-align:center;">
|
|
135
|
+
<div>
|
|
136
|
+
<img class="slide-in" style="width: 140px; height: 140px;" src='data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCI+CiAgPHBhdGggZD0iTTEwNC43NzYgMzUuMzg3Yy0uMjg1LS41OS0uNzAyLTEuMTI2LTEuMzIyLTEuNDctLjY4Mi0uMzc0LTEuNDMtLjQzNy0yLjEyOS0uMzEzbC0uMDQ5LS4wMjZDOTAuNzY4IDM1LjQgODAuMTY1IDQzLjQzMiA3My43NyA1NS43NDVjLTYuODg5IDEzLjI2OC02Ljk5IDI3LjgzNS0xLjM3NiAzNy44MDQgMTEuMjc1LS45MiAyMy4wNDctOS4yMjUgMjkuOTM4LTIyLjQ5MiA2LjQyMS0xMi4zNTIgNi45MzgtMjUuODIyIDIuNDQ1LTM1LjY3MXYuMDAxWiIgZmlsbD0iIzgyOGQ4YyIvPgogIDxwYXRoIGQ9Ik0xMDEuMjU1IDM0Ljk2M0M5MC45IDM2Ljg2IDgwLjg0NCA0NS4wNDUgNzQuOTU1IDU2LjM4MWMtNi4yMzMgMTItNi45MTMgMjUuOTA3LTEuODE0IDM1LjcyNkM4NCA5MC44NCA5NC45MTQgODIuNDIzIDEwMS4xNDUgNzAuNDIyYzUuOTU4LTExLjQ2IDYuODgyLTI0LjY2NCAyLjQxNC0zNC40NjUtLjE4OC0uMzg0LS40MzgtLjY3Mi0uNzQ2LS44NDItLjM4Ni0uMi0uODMtLjI1OC0xLjI1NS0uMTY5LS4xLjAxOS0uMjAyLjAyNS0uMzAzLjAxN1pNNzIuMzkzIDk0LjkxMWMtLjQ4MiAwLS45My0uMjY0LTEuMTY0LS42ODctNi4wODMtMTAuODA0LTUuNTY1LTI1Ljc5MiAxLjM1NC0zOS4xMTUgNi40MTEtMTIuMzQ0IDE3LjA1NC0yMC44OTUgMjguNDY4LTIyLjg3NS4xMDktLjAyLjIyLS4wMjQuMzMtLjAxNGE0LjUwMiA0LjUwMiAwIDAgMSAyLjcxLjUwMWMuODA2LjQ0NSAxLjQ0IDEuMTM5IDEuODg2IDIuMDY0IDQuODI3IDEwLjU4IDMuODggMjQuNzEyLTIuNDYgMzYuOTA4Qzk2LjU5NyA4NS4wMTMgODQuNzEyIDkzLjkxIDcyLjUgOTQuOTA2bC0uMTA4LjAwNVoiIGZpbGw9IiMxMjE3MTYiLz4KICA8cGF0aCBkPSJNOTkuODU3IDQxLjE2NmEzNS43MzUgMzUuNzM1IDAgMCAxIDcuNzEyIDUuNjY2Yy0uMzA4LTQuMTE3LTEuMjI1LTguMDEtMi43OTMtMTEuNDQ2LS4yODUtLjU4OC0uNzAyLTEuMTI1LTEuMzIyLTEuNDY4LS42ODQtLjM3NS0xLjQzLS40MzgtMi4xMjktLjMxNGwtLjA0OS0uMDI2Yy0zLjYyMy42My03LjI0NyAyLjA0NS0xMC43MTggNC4wNjZhMzUuNTcgMzUuNTcgMCAwIDEgOS4zIDMuNTIyWm0tMTYuNDMxIDMuMDAxYTY5LjY0OSA2OS42NDkgMCAwIDAtNy45MTcgOS40NzRjNS4xNzktLjM2MSAxMC44OTguOTEyIDE2LjA4IDQgNS4xNTYgMy4wNjQgOS4wMjcgNy40OSAxMS4yNDcgMTIuMjNhNzAuMTMgNzAuMTMgMCAwIDAgNC4xNzktMTEuNzgzYy0yLjY5NC0zLjU1NS02LjE3NS02LjcxMy0xMC4zNzQtOS4yMTQtNC4yNzItMi41NDgtOC43NjktNC4wOC0xMy4yMTUtNC43MDh2LjAwMVpNNzAuMDcgNjAuODkyYTg1LjUyIDg1LjUyIDAgMCAwLTQuNDcyIDEwLjQwNCAyNi4zMDIgMjYuMzAyIDAgMCAxIDE0LjQ4IDMuOTg1YzQuNjE4IDIuODUyIDYuNjggNy4xOSA4Ljc4NiAxMS42NTMgNC4xNi0yLjA0IDYuMTkzLTUuOTQ1IDguNDA4LTkuMTdBMzMuMjQ0IDMzLjI0NCAwIDAgMCA4NS43NyA2NS43OWEzMi42MjMgMzIuNjIzIDAgMCAwLTE1LjctNC44OThaIiBmaWxsPSIjMTIxNzE2Ii8+CiAgPHBhdGggZD0iTTMyLjA4OCAyMi43OWM0LjM4NSA0LjQ1MiA1LjU2IDEwLjQ4IDIuNjIzIDEzLjQ2My0yLjkzNCAyLjk4Mi04Ljg3IDEuNzktMTMuMjUzLTIuNjY2LTQuMzgyLTQuNDUxLTUuNTU3LTEwLjQ4LTIuNjIzLTEzLjQ2NCAyLjkzNi0yLjk4IDguODctMS43ODYgMTMuMjUzIDIuNjY2WiIgZmlsbD0iIzgyOGQ4YyIvPgogIDxwYXRoIGQ9Ik0yOS4xOCAyNS43NDVjMi4yMDMgMi4yMjggMi45MDUgNS4xNCAxLjU3OCA2LjQ4Ni0xLjMzNSAxLjM1NC00LjE5Ny42NDItNi4zOTYtMS41OTQtMi4xOTYtMi4yMzQtMi44OTctNS4xMzctMS41NjctNi40ODkgMS4zMzMtMS4zNTQgNC4xODctLjYzOSA2LjM4NiAxLjU5NXYuMDAyWiIgZmlsbD0iIzEyMTcxNiIvPgogIDxwYXRoIGQ9Ik0yMy4xMjQgMTkuODQ2Yy0uOTY1IDAtMi4zMy4yMTQtMy4zNCAxLjI0LTIuMzY4IDIuNDA3LTEuMTY1IDcuNjkzIDIuNjIzIDExLjU0IDIuNDA3IDIuNDQ3IDUuNDAzIDMuOTA4IDguMDE0IDMuOTA4Ljk2NSAwIDIuMzMyLS4yMTUgMy4zNDEtMS4yNDIgMS4wOTYtMS4xMTIgMS40NzQtMi44NzEgMS4wNy00Ljk1My0uNDQ2LTIuMjgzLTEuNzU4LTQuNjItMy42OTMtNi41ODYtMi40MDctMi40NDctNS40MDMtMy45MDctOC4wMTUtMy45MDdabTcuMjk3IDE5LjQxMmMtMy4zMDcgMC03LjAxMi0xLjc2LTkuOTEtNC43MDYtNC45ODItNS4wNjItNi4xMzMtMTEuODIyLTIuNjIzLTE1LjM5IDEuMzE1LTEuMzM2IDMuMTIzLTIuMDM5IDUuMjM2LTIuMDM5IDMuMzA3IDAgNy4wMSAxLjc1NyA5LjkxIDQuNzA0IDIuMzA4IDIuMzQxIDMuODc3IDUuMTc3IDQuNDI2IDcuOTgzLjU4NyAzLjAwMy0uMDU1IDUuNjMzLTEuODAyIDcuNDA3LTEuMzEzIDEuMzM2LTMuMTI2IDIuMDQtNS4yMzcgMi4wNFoiIGZpbGw9IiMxMjE3MTYiLz4KICA8cGF0aCBkPSJNNzIuMzkyIDIyLjc5Yy00LjM4NCA0LjQ1Mi01LjU2IDEwLjQ4MS0yLjYyMyAxMy40NjMgMi45MzUgMi45ODIgOC44NyAxLjc5IDEzLjI1Mi0yLjY2NiA0LjM4Mi00LjQ1MSA1LjU1OC0xMC40OCAyLjYyMy0xMy40NjItMi45MzQtMi45ODItOC44Ny0xLjc4OC0xMy4yNTIgMi42NjRaIiBmaWxsPSIjODI4ZDhjIi8+CiAgPHBhdGggZD0iTTc1LjI5OSAyNS43NDVjLTIuMjAyIDIuMjI4LTIuOTA0IDUuMTQtMS41NzcgNi40ODYgMS4zMzYgMS4zNTQgNC4xOTguNjQyIDYuMzk2LTEuNTk0IDIuMTk3LTIuMjM0IDIuODk5LTUuMTM3IDEuNTY5LTYuNDg5LTEuMzM0LTEuMzU0LTQuMTktLjYzOS02LjM4OCAxLjU5NXYuMDAyWiIgZmlsbD0iIzEyMTcxNiIvPgogIDxwYXRoIGQ9Ik03My4zNCAyMy43NTNjLTEuOTM1IDEuOTY2LTMuMjQ2IDQuMzA0LTMuNjkgNi41ODYtLjQwNyAyLjA4NC0uMDI3IDMuODQxIDEuMDY3IDQuOTUzIDEuMDExIDEuMDI3IDIuMzc4IDEuMjQyIDMuMzQ0IDEuMjQyIDIuNjA5IDAgNS42MDQtMS40NiA4LjAxMy0zLjkwOCAzLjc4OC0zLjg0OSA0Ljk5LTkuMTMyIDIuNjIzLTExLjUzOC0xLjAxLTEuMDI2LTIuMzc1LTEuMjQtMy4zNC0xLjI0LTIuNjE0IDAtNS42MDggMS40NTgtOC4wMTcgMy45MDd2LS4wMDJabS00LjUxOCAxMy40NjRjLTEuNzQ3LTEuNzczLTIuMzg3LTQuNDA0LTEuOC03LjQwNy41NDYtMi44MDYgMi4xMTctNS42NDIgNC40MjMtNy45ODMgMi45LTIuOTQ3IDYuNjA0LTQuNzA0IDkuOTEyLTQuNzA0IDIuMTEyIDAgMy45MjEuNzA1IDUuMjM0IDIuMDQgMy41MTIgMy41NjcgMi4zNiAxMC4zMjctMi42MjEgMTUuMzktMi45IDIuOTQ2LTYuNjA0IDQuNzAzLTkuOTEgNC43MDMtMi4xMTIgMC0zLjkyNC0uNzA0LTUuMjM4LTIuMDM4di0uMDAxWiIgZmlsbD0iIzEyMTcxNiIvPgogIDxwYXRoIGQ9Ik04MS44MzggMzMuODYzYy02LjkxLTkuNjg0LTE3LjU1Ni0xNi43NC0yOS41OTgtMTYuNzQtMTIuMDQ0IDAtMjIuNjg3IDcuMDU2LTI5LjU5OSAxNi43NC04LjQwNyAxMS43NzgtMTMuMjggMjguNDc0LTguMjc3IDQyLjU5NiA0LjIzNyAxMS45NjcgMTQuNDA2IDIxLjA1NyAyNi4zNjQgMjQuNTIxYTQxLjM1MSA0MS4zNTEgMCAwIDAgMTEuNTEyIDEuNjI0YzMuODg3IDAgNy43NzMtLjU0IDExLjUxLTEuNjI0IDExLjk2LTMuNDYzIDIyLjEzLTEyLjU1NSAyNi4zNjUtMjQuNTIgNS4wMDMtMTQuMTIzLjEzMi0zMC44MTktOC4yNzctNDIuNTk2di0uMDAxWiIgZmlsbD0iIzgyOGQ4YyIvPgogIDxwYXRoIGQ9Ik04NC42OTQgMzkuMjIxYy0uNDgtMS45MzQtMS42OTYtMy43Ny0yLjgzLTUuMzU4YTQ1LjMyNSA0NS4zMjUgMCAwIDAtNC44MTQtNS42ODNjLTYuMjQ5LTMuMDQ4LTEzLjM5Mi0zLjA0Mi0xOC44MzYuNjktMi44MzggMS45NDUtNC44MjcgNC42NjUtNS45NzQgNy43NjMtMS4xNDYtMy4wOTgtMy4xMzctNS44MTYtNS45NzQtNy43NjQtNS40NDYtMy43My0xMi41ODgtMy43MzctMTguODM2LS42OWE0NS4xOTYgNDUuMTk2IDAgMCAwLTQuODE1IDUuNjg0Yy0xLjEzNCAxLjU5LTIuMzUgMy40MjQtMi44MjggNS4zNTgtLjUwMSAyLjAxNS0xLjIyMiA0LjcxNi0xLjEyNyA2Ljc1NC4xNTQgMy4zMTUgMi4xNzMgNS43NTUgNC44MzggNy41MDguNjUxLjQzMiA3LjYyNCA1Ljg1MyA2Ljk3NSA2LjIzOC40OTEtLjI5MyAxLjExMi0uNjUgMS44MDMtMS4wMTl2LjYyYzIuNTI4LTEuNDk4IDYuMjA0LTMuMzMyIDguNjY1LTMuMDQ1bC4wMy4wMDRjLjA3My4wMS4xMy4wNC4xOTguMDU0LjY3OC4xOCAxLjI3Mi41MTYgMS43MjcgMS4wOCAxLjA1MyAxLjMgMS4xNDggMi44MDQuNzgyIDQuMjY0LjI3LS4yMDIuNTE0LS40NTguNzgtLjY3NC0uMDMxIDEuMDA3LS4yNTUgMS43Ny0uMjU1IDEuNzdsLS40NTguNjU0YzIuNzkyLjUzNSA1LjYyNi44MDUgOC40NjkuODAzaC4wNDFjMi45NDUgMCA1Ljc4MS0uMjg1IDguNDgtLjgwM2wtLjQ1OS0uNjU0cy0uMjI1LS43NjMtLjI1NC0xLjc3Yy4yNjUuMjE2LjUwOS40NzIuNzgxLjY3NC0uMzY3LTEuNDYtLjI3Mi0yLjk2My43OC00LjI2NC40NTUtLjU2NCAxLjA1LS45IDEuNzI3LTEuMDguMDctLjAxNC4xMjctLjA0Ni4xOTgtLjA1NGwuMDMtLjAwNGMyLjQ2MS0uMjg4IDYuMTM3IDEuNTQ3IDguNjY1IDMuMDQ2di0uNjJjLjY5MS4zNjggMS4zMTIuNzI1IDEuODA1IDEuMDE4LS42NS0uMzg2IDYuMzIyLTUuODA3IDYuOTcyLTYuMjM2IDIuNjY2LTEuNzU1IDQuNjg2LTQuMTk1IDQuODM5LTcuNTEuMDk1LTIuMDM4LS42MjUtNC43MzktMS4xMjUtNi43NTRaTTUyLjI0IDY5Ljc4M2MtMTAuMTUgMC0xOC4zNzIgMTAuMjktMTguMzcyIDIyLjk4MSAwIDIuNTM2LjM0IDQuOTY1Ljk0NSA3LjI0MyAxLjExLjMzNyAyLjIxLjcwMiAzLjM0OC45NzFhNjEuMTY3IDYxLjE2NyAwIDAgMCAxNC4wNzkgMS42MjVjNC43NTQgMCA5LjUwNi0uNTQgMTQuMDgtMS42MjUgMS4xMzgtLjI3IDIuMjM3LS42MzIgMy4zNDgtLjk3MS42MDUtMi4yNzguOTQ1LTQuNzA3Ljk0NS03LjI0MyAwLTEyLjY5Mi04LjIyNC0yMi45OC0xOC4zNzItMjIuOThoLS4wMDFaIiBmaWxsPSIjZWRlZGVhIi8+CiAgPHBhdGggZD0iTTU0LjMxMyA0OC45NTRhNi4wNiA2LjA2IDAgMCAxLTEuNC4yNjRjLjAzNi0uMDgzLjEwNS0uMTQ4LjEwNS0uMjR2LTEuODQ2Yy4wODMtLjA2Ni4xNzUtLjExMi4yNDgtLjIwMmwxLjQyNS0xLjc1Yy41NjMtLjY5MS4yOTgtMS4yNTgtLjU4Ni0xLjI1OGgtMy43MjhjLS44ODYgMC0xLjE1LjU2Ny0uNTg3IDEuMjU3bDEuNDI1IDEuNzVjLjEyLjE0Ni4yNjYuMjY2LjQzMi4zNTN2MS42OTZjMCAuMDkyLjA2NC4xNTcuMDk4LjI0YTYuMzQ3IDYuMzQ3IDAgMCAxLTEuMzk1LS4yNjRjLS41ODItLjE4OS0xLjc4My0uODk2LTEuOTQ5LjIwMnYuMmMwIDIuMiAxLjc1IDMuOTgyIDMuOTI2IDMuOTg2aC4wMWMyLjE3NS0uMDA0IDMuOTIzLTEuNzg2IDMuOTIzLTMuOTg3di0uMTk5Yy0uMTY0LTEuMDk4LTEuMzY1LS4zOS0xLjk0Ni0uMjAyaC0uMDAxWiIgZmlsbD0iIzEyMTcxNiIvPgogIDxwYXRoIGQ9Ik01Mi4yNCAxOC40ODJjLTEwLjc4MyAwLTIxLjE3NiA1LjktMjguNTEgMTYuMThDMTQuNDkyIDQ3LjU5OSAxMS4zMTEgNjMuODIzIDE1LjYyNiA3NmMzLjk2MiAxMS4xOTcgMTMuNzIyIDIwLjI2OCAyNS40NjkgMjMuNjdhNDAuNDc4IDQwLjQ3OCAwIDAgMCAyMi4yODYgMEM3NS4xMzIgOTYuMjY4IDg0Ljg5IDg3LjE5NyA4OC44NTQgNzZjNC4zMTUtMTIuMTc3IDEuMTM0LTI4LjQwMi04LjEtNDEuMzM3LTcuMzM5LTEwLjI4Mi0xNy43My0xNi4xOC0yOC41MTQtMTYuMThabTAgODUuNDg0Yy00LjAyLjAwNS04LjAxOS0uNTYtMTEuODgtMS42NzktMTIuNzUxLTMuNjkzLTIyLjk0LTEzLjE3NC0yNy4yNTktMjUuMzY2LTUuNTg4LTE1Ljc4LjcwNS0zMy4wMDIgOC40NTktNDMuODZDMjkuNDAzIDIyLjA2NiA0MC41ODcgMTUuNzYgNTIuMjM4IDE1Ljc2YzExLjY1MyAwIDIyLjgzNyA2LjMwNyAzMC42ODUgMTcuMzAyIDcuNzQ5IDEwLjg1OCAxNC4wNDMgMjguMDggOC40NTMgNDMuODYtNC4zMTYgMTIuMTkyLTE0LjUwNSAyMS42NzItMjcuMjU4IDI1LjM2NGE0Mi40OTcgNDIuNDk3IDAgMCAxLTExLjg3OCAxLjY3OHYuMDAzWiIgZmlsbD0iIzEyMTcxNiIvPgogIDxwYXRoIGQ9Ik00MS40NyAzMy4xODFhNy43MDQgNy43MDQgMCAwIDAtMy43NTEtLjkzNWMtMy43OTEgMC03LjU2NyAzLjIzNi05LjQxOCA1LjQxMi0zLjExIDMuNjU4LTUuOTkgMTEuMDE0LS4wMzggMTMuNTM4IDIuMTUxLjkxMyA0LjUyMyAxLjE4OSA2LjgzNyAxLjIzMiAyLjk1Ny4wNTggNi4xMTctLjAxMSA4LjQ0OS0yLjEyOSAyLjM2Ni0yLjE0OCAyLjc0OS01LjY2IDIuNTI4LTguNzA3LS4yODUtMy45NTgtMS45MjEtNi45NDgtNC42MDctOC40MTFaIiBmaWxsPSIjMTIxNzE2Ii8+CiAgPHBhdGggZD0iTTQxLjYxIDM5LjUzOGMtLjA0LS41Mi0uNjA1LTEuMDk1LS45MzQtMS4zOTRhMy45OTggMy45OTggMCAwIDAtMi42NS0xLjAxM2MtLjMxIDAtLjYyOC4wMzUtLjk1LjEwNC0xLjI0NS4yNjUtMi4yOTIgMS4wMjgtMi44NyAyLjA5NS0uMjIuNDA0LS41OTUgMS4yMS0uNDk5IDEuNjcuMDgxLjM4My40MzguNjQ3LjgwMi43MTQuNDg0LjA5LjY3NC0uMTQuOTA0LS41NGwuMTQ0LS4yNDNjLjctMS4xMDMgMS42OS0xLjcxIDIuNzg4LTEuNzEuNjEzIDAgLjk4OS4xOCAxLjU0Ni41NTYuMzY3LjI0OS43NjYuNzQ1IDEuMjY0LjQ3OC4zNTktLjE5My40NzUtLjQ0Ni40NTYtLjcxN1oiIGZpbGw9IiNmZmZmZmUiLz4KICA8cGF0aCBkPSJNNjMuMDEgMzMuMTgxYTcuNzEgNy43MSAwIDAgMSAzLjc1Mi0uOTM1YzMuNzkxIDAgNy41NjUgMy4yMzYgOS40MTYgNS40MTIgMy4xMTQgMy42NTggNS45OTMgMTEuMDE0LjA0IDEzLjUzOC0yLjE1MS45MTMtNC41MjUgMS4xODktNi44MzggMS4yMzItMi45NTYuMDU4LTYuMTE0LS4wMTEtOC40NDgtMi4xMjktMi4zNjctMi4xNDgtMi43NDktNS42Ni0yLjUyOC04LjcwNy4yODUtMy45NTggMS45Mi02Ljk0OCA0LjYwNi04LjQxMVoiIGZpbGw9IiMxMjE3MTYiLz4KICA8cGF0aCBkPSJNNjIuODY5IDM5LjUzOGMuMDQxLS41Mi42MDUtMS4wOTUuOTM1LTEuMzk0YTMuOTk4IDMuOTk4IDAgMCAxIDIuNjUtMS4wMTNjLjMxIDAgLjYyNy4wMzUuOTQ5LjEwNCAxLjI0Ni4yNjUgMi4yOTQgMS4wMjggMi44NzEgMi4wOTUuMjIxLjQwNC41OTUgMS4yMS40OTggMS42Ny0uMDguMzgzLS40MzguNjQ3LS44MDEuNzE0LS40ODQuMDktLjY3NC0uMTQtLjkwNC0uNTRsLS4xNDMtLjI0M2MtLjcwMS0xLjEwMy0xLjY5MS0xLjcxLTIuNzg4LTEuNzEtLjYxNiAwLS45OS4xOC0xLjU0OC41NTYtLjM2Ni4yNDktLjc2Ni43NDUtMS4yNjQuNDc4LS4zNTgtLjE5My0uNDc1LS40NDYtLjQ1NS0uNzE3WiIgZmlsbD0iI2ZmZmZmZSIvPgogIDxwYXRoIGQ9Ik02MC42NTIgMTguNjkyYy4wNjEtLjIwMi4xMjctLjM5OC4xODQtLjYxM2EzOS40NzggMzkuNDc4IDAgMCAwLTguNTk2LS45NTZjLTIuOTQgMC01LjgxMi4zMzctOC41OTYuOTU4LjA1Ny4yMTMuMTIyLjQwOS4xODQuNjExbC0xLjQ2NC4yNi4yMDYuNjMzLjA2NC40OTVjLjQyOC0uMTUzLjg4MS0uMjUgMS4zNjQtLjI1Ljc3OCAwIDEuNi4zMjUgMi4yNDEuNzU2IDIuNDE0IDEuNjQ5IDQuMTgyIDMuODcyIDUuMzc2IDYuMzkuMTMzLjE5NS4zMjYuMzQ5LjYwMi4zNDlhLjc1Ljc1IDAgMCAwIC42NTEtLjQwM2guMDIxYzEuMTk2LTIuNDk2IDIuOTUzLTQuNjk4IDUuMzUxLTYuMzM2LjY0Mi0uNDMgMS40NjMtLjc1NiAyLjI0Mi0uNzU2LjQ4NCAwIC45MzYuMDk5IDEuMzYzLjI1bC4wNjUtLjQ5NS4yMDUtLjYzMi0xLjQ2My0uMjYxWiIgZmlsbD0iIzEyMTcxNiIvPgogIDxwYXRoIGQ9Ik01Mi4zMTYgMTA0LjI0YzE1LjUyMiAwIDI4LjEwNi0xMi41ODIgMjguMTA2LTI4LjEwNSAwLTE1LjUyMi0xMi41ODItMjguMTA3LTI4LjEwNi0yOC4xMDctMTUuNTIxIDAtMjguMTA2IDEyLjU4My0yOC4xMDYgMjguMTA3IDAgMTUuNTIxIDEyLjU4MyAyOC4xMDYgMjguMTA2IDI4LjEwNloiIGZpbGw9IiMxM2NlNjYiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMWFiMzVlIiBzdHJva2Utd2lkdGg9IjMuMDY0NSIvPgogIDxwYXRoIGQ9Ik0yNS42MzcgNjQuMzM2Yy0uMzcxIDAtLjcyNS0uMTU2LS45NzYtLjQyOWExLjM4NCAxLjM4NCAwIDAgMSAuMDU4LTEuOTI2Yy4zMDYtLjI5MSAzLjA1NS0yLjg5MyA1LjAwNC0zLjg0N2ExLjMzNSAxLjMzNSAwIDAgMSAxLjc4OC42MzYgMS4zNyAxLjM3IDAgMCAxLS42MjUgMS44MTVjLTEuMzM2LjY1NS0zLjU3OSAyLjY2My00LjMzIDMuMzgtLjI0Ny4yMzgtLjU3Ni4zNzEtLjkyLjM3MVoiIGZpbGw9IiMxMjE3MTYiLz4KICA8cGF0aCBkPSJNMzIuMTYzIDgzLjQyOGM0LjM5MyA0LjQ2NCA1LjM2NyAxMC43MiAyLjE2OCAxMy45NjctMy4yIDMuMjUxLTkuMzU2IDIuMjY5LTEzLjc1LTIuMTk2LTQuMzkyLTQuNDctNS4zNjctMTAuNzItMi4xNjEtMTMuOTcgMy4xOTMtMy4yNTMgOS4zNTEtMi4yNjcgMTMuNzQ0IDIuMmgtLjAwMVoiIGZpbGw9IiM4MjhkOGMiLz4KICA8cGF0aCBkPSJNMzAuNjg0IDg4LjYwNGMyLjQxNSAyLjQ1OCAyLjgxMiA2LjAzNy44ODMgOC4wMDEtMS45MzEgMS45NjMtNS40NjEgMS41NjMtNy44NzYtLjg5My0yLjQyMS0yLjQ2LTIuODItNi4wNDMtLjg4Ni04LjAwNyAxLjkzLTEuOTYyIDUuNDYxLTEuNTU5IDcuODguODk5WiIgZmlsbD0iI2VkZWRlYSIvPgogIDxwYXRoIGQ9Ik0yMy4zNDIgODAuNjczYy0xLjYyNiAwLTMgLjUyNC0zLjk3NSAxLjUxOS0xLjIzOCAxLjI1Ni0xLjczMiAzLjE1Ni0xLjM5IDUuMzUzLjM2NSAyLjM1NSAxLjYyNiA0LjczIDMuNTUzIDYuNjkgMy42OTYgMy43NjIgOS4yOSA0LjgwNyAxMS44NTQgMi4xOTcgMS4yMzUtMS4yNTYgMS43MjctMy4xNTUgMS4zODctNS4zNTItLjM2Ny0yLjM1Ni0xLjYyOC00LjczMS0zLjU1NS02LjY4OC0yLjI5MS0yLjMzLTUuMjMzLTMuNzE5LTcuODc2LTMuNzE5aC4wMDJabTYuMDYzIDIwLjAwMmMtMy4zODggMC02Ljk1LTEuNjQ3LTkuNzctNC41MTQtMi4zMjYtMi4zNjMtMy44NTQtNS4yNzQtNC4zMDYtOC4xOTMtLjQ4LTMuMDguMjgyLTUuODE2IDIuMTQyLTcuNzAzIDEuNDg3LTEuNTE2IDMuNTE3LTIuMzE2IDUuODY5LTIuMzE2IDMuMzg2IDAgNi45NDkgMS42NDcgOS43NzEgNC41MTcgMi4zMjUgMi4zNjEgMy44NTQgNS4yNyA0LjMwNiA4LjE5LjQ4IDMuMDgtLjI4IDUuODE2LTIuMTM4IDcuNzAyLTEuNDkyIDEuNTE3LTMuNTI0IDIuMzE3LTUuODc0IDIuMzE3WiIgZmlsbD0iIzEyMTcxNiIvPgogIDxwYXRoIGQ9Ik03Mi4zMTcgODMuNDI4Yy00LjM5MyA0LjQ2NC01LjM2NiAxMC43Mi0yLjE2NyAxMy45NjcgMy4xOTggMy4yNTEgOS4zNTYgMi4yNjkgMTMuNzUtMi4xOTYgNC4zOTItNC40NyA1LjM2NS0xMC43MiAyLjE2MS0xMy45Ny0zLjE5My0zLjI1My05LjM1MS0yLjI2Ny0xMy43NDQgMi4yWiIgZmlsbD0iIzgyOGQ4YyIvPgogIDxwYXRoIGQ9Ik03My43OTUgODguNjA0Yy0yLjQxMyAyLjQ1OC0yLjgxMSA2LjAzNy0uODggOC4wMDEgMS45MyAxLjk2MyA1LjQ1OSAxLjU2MyA3Ljg3NS0uODkzIDIuNDItMi40NiAyLjgxOC02LjA0My44ODYtOC4wMDctMS45MzItMS45NjItNS40NjEtMS41NTktNy44OC44OTlaIiBmaWxsPSIjZWRlZGVhIi8+CiAgPHBhdGggZD0iTTczLjI2NCA4NC4zOTJjLTEuOTI2IDEuOTU3LTMuMTg3IDQuMzMyLTMuNTU1IDYuNjg4LS4zNCAyLjE5Ny4xNTMgNC4wOTcgMS4zODggNS4zNTIgMi41NjIgMi42MSA4LjE1NiAxLjU2MyAxMS44NTQtMi4xOTcgMS45MjYtMS45NjEgMy4xODgtNC4zMzYgMy41NTMtNi42OS4zNDItMi4xOTYtLjE1My00LjA5OS0xLjM5MS01LjM1My0uOTc2LS45OTYtMi4zNDgtMS41MTktMy45NzMtMS41MTktMi42NDIgMC01LjU4NiAxLjM5MS03Ljg3NiAzLjcxOVptLTQuMDYyIDEzLjk2NmMtMS44NTktMS44ODYtMi42MTktNC42MjItMi4xNC03LjcwMi40NTMtMi45MiAxLjk4Mi01LjgyOSA0LjMwNi04LjE5IDIuODIzLTIuODcgNi4zODctNC41MTcgOS43NzItNC41MTcgMi4zNTIgMCA0LjM4Mi44MDEgNS44NjggMi4zMTYgMS44NjIgMS44ODcgMi42MjMgNC42MjMgMi4xNDUgNy43MDMtLjQ1MyAyLjkxOS0xLjk4MyA1LjgzLTQuMzA3IDguMTkzLTIuODIyIDIuODY3LTYuMzgzIDQuNTE0LTkuNzcgNC41MTQtMi4zNSAwLTQuMzgyLS44MDEtNS44NzQtMi4zMTdaIiBmaWxsPSIjMTIxNzE2Ii8+CiAgPHBhdGggZD0iTTMwLjE5NSA1Ny44MTZjMS45OTQtMS4yMzYgNy43NTctNC4zODUgMTEuNDU1LTIuMTI1IDEuOTMzIDEuMTggMy4wNTMgMi45OTcgMy4xNTcgNS4xMjYuMTU4IDMuMTY1LTEuOTM0IDYuNjMxLTUuNzM4IDkuNTEyLTIuNDkyIDEuODg1LTYuMDY1IDIuODg4LTkuODA0IDIuODg4YTIwLjgzIDIwLjgzIDAgMCAxLTUuODkzLS44NDZjLTUuNjAyLTEuNjU0LTkuODIyLTUuNTk1LTExLjg4NS0xMS4xLS4yNjQtLjcwMSAyLjA4LS4xODggMi43NzQtLjQ1NGw2LjcxNi0xMS40MjZjLjQ4IDAgLjg3Mi4yNzUgMS4xMjMuNjQ4IDEuMDY4IDIuMDA3IDIuMDc0IDIuOTY2IDMuNjczIDQuNDkyIDEuMzI3IDEuMjcgMi43NzggMi40NjcgNC40MjIgMy4yODVabTQ0LjA2OC4wMzRjLTEuOTk1LTEuMjM4LTcuNzU2LTQuMzg3LTExLjQ1Ny0yLjEyNS0xLjkzIDEuMTc4LTMuMDUyIDIuOTk3LTMuMTU2IDUuMTI1LS4xNTcgMy4xNjQgMS45MzUgNi42MyA1LjczOCA5LjUxMSAyLjQ5MyAxLjg4NiA2LjA2NiAyLjg4OCA5LjgwNSAyLjg4OCAxLjk2MSAwIDMuOTctLjI3NSA1Ljg5MS0uODQ0IDUuNjA0LTEuNjU1IDkuODIyLTUuNTk3IDExLjg4Ni0xMS4xLjI2NS0uNzAzLTIuMDgtLjE5LTIuNzczLS40NTVMODMuNDggNDkuNDIzYy0uNDggMC0uODc0LjI3Ni0xLjEyMy42NS0xLjA2OCAyLjAwNS0yLjA3MyAyLjk2NC0zLjY3MyA0LjQ5Mi0xLjMyOSAxLjI2OS0yLjc3OCAyLjQ2NS00LjQyMiAzLjI4NHYuMDAxWiIgZmlsbD0iIzgyOGQ4YyIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgPHBhdGggZD0iTTY0LjQ4MiA3MS43M2EyLjk3NSAyLjk3NSAwIDAgMCAwLTQuMjI1IDMuMDM0IDMuMDM0IDAgMCAwLTQuMjUgMGwtMTEuOSAxMS44My0zLjg4NS0zLjg2YTMuMDM0IDMuMDM0IDAgMCAwLTQuMjUgMCAyLjk3OCAyLjk3OCAwIDAgMCAwIDQuMjI0bDYuMDEgNS45NzVhMy4wMzQgMy4wMzQgMCAwIDAgNC4yNSAwbDE0LjAyNy0xMy45NDNoLS4wMDJaIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICA8cGF0aCBkPSJNNDEuNjUgNTUuNjkxYy0zLjY5OC0yLjI2LTkuNDYuODg5LTExLjQ1NSAyLjEyNS0xLjY0NC0uODItMy4wOTUtMi4wMTYtNC40MjItMy4yODUtMS42LTEuNTI2LTIuNjA1LTIuNDg2LTMuNjczLTQuNDkyLS4yNS0uMzczLS42NDMtLjY0OC0xLjEyMy0uNjQ4LTEuNTY3IDAtMS41NDEgMS42ODUtLjkyIDIuNjgxIDEuOTIyIDMuMDY1IDQuMTE3IDUuMDQ3IDcuMDgzIDcuMDc0LjgzNS41NjkgMS43MTYgMS4wOTYgMi42NTcgMS40NzUuNDA5LjE2My44ODIuMTIyIDEuMjUyLS4xMyAxLjYzMy0xLjEwMiA2LjgxNC0zLjkyOCA5LjIyNC0yLjQ2NSAxLjE3NC43MTYgMS43OTkgMS43MDEgMS44NiAyLjkyNy4xMDcgMi4yMS0xLjYzNiA0Ljg5Ny00LjY2NiA3LjE5LTMuMTEgMi4zNTMtOC41OTkgMy4wMTUtMTMuMzQ2IDEuNjEzLTMuMzgtLjk5Ni03Ljg4LTMuNDQ4LTEwLjEzLTkuNDUzYTEuMzMgMS4zMyAwIDAgMC0xLjczLS43ODcgMS4zNyAxLjM3IDAgMCAwLS43NzQgMS43NTZjMi4wNjMgNS41MDQgNi4yODMgOS40NDUgMTEuODg1IDExLjEgMS45MjIuNTY4IDMuOTMuODQ1IDUuODkzLjg0NSAzLjczOSAwIDcuMzEyLTEuMDAyIDkuODA0LTIuODg4IDMuODA0LTIuODggNS44OTYtNi4zNDcgNS43NC05LjUxMi0uMTA2LTIuMTI5LTEuMjI2LTMuOTQ3LTMuMTU3LTUuMTI2aC0uMDAyWm0yMS4xOCAwYzMuNjk4LTIuMjYgOS40Ni44ODkgMTEuNDU2IDIuMTI1IDEuNjQ0LS44MiAzLjA5NS0yLjAxNiA0LjQyLTMuMjg1IDEuNi0xLjUyNiAyLjYwNS0yLjQ4NiAzLjY3NS00LjQ5Mi4yNS0uMzczLjY0My0uNjQ4IDEuMTIxLS42NDggMS41NyAwIDEuNTQzIDEuNjg1LjkyIDIuNjgxLTEuOTIyIDMuMDY1LTQuMTE2IDUuMDQ3LTcuMDggNy4wNzQtLjgzOC41NjktMS43MTkgMS4wOTYtMi42NiAxLjQ3NWExLjM0NCAxLjM0NCAwIDAgMS0xLjI1LS4xM2MtMS42MzMtMS4xMDItNi44MTUtMy45MjgtOS4yMjUtMi40NjUtMS4xNzMuNzE2LTEuOCAxLjcwMS0xLjg1OSAyLjkyNy0uMTA3IDIuMjEgMS42MzYgNC44OTcgNC42NjQgNy4xOSAzLjExIDIuMzUzIDguNiAzLjAxNSAxMy4zNDYgMS42MTMgMy4zOC0uOTk2IDcuODgtMy40NDggMTAuMTMxLTkuNDUzYTEuMzMgMS4zMyAwIDAgMSAxLjcyOS0uNzg3IDEuMzcgMS4zNyAwIDAgMSAuNzc1IDEuNzU2Yy0yLjA2MiA1LjUwNC02LjI4MiA5LjQ0NS0xMS44ODYgMTEuMWEyMC44NDUgMjAuODQ1IDAgMCAxLTUuODkzLjg0NWMtMy43MzggMC03LjMxMi0xLjAwMi05LjgwMy0yLjg4OC0zLjgwNS0yLjg4LTUuODk2LTYuMzQ3LTUuNzM4LTkuNTEyLjEwNC0yLjEyOSAxLjIyNS0zLjk0NyAzLjE1Ni01LjEyNloiIGZpbGw9IiMxMjE3MTYiLz4KICA8cGF0aCBkPSJNNzguODQzIDY0LjMzNmMuMzcgMCAuNzI0LS4xNTYuOTc2LS40MjlhMS4zODYgMS4zODYgMCAwIDAtLjA1Ny0xLjkyNmMtLjMwNi0uMjkxLTMuMDU1LTIuODkzLTUuMDA2LTMuODQ3YTEuMzM2IDEuMzM2IDAgMCAwLTEuNzg4LjYzNiAxLjM3NyAxLjM3NyAwIDAgMCAuNjI3IDEuODE1YzEuMzM0LjY1NSAzLjU3OCAyLjY2MyA0LjMyOCAzLjM4LjI0Ny4yMzguNTc2LjM3MS45Mi4zNzFaIiBmaWxsPSIjMTIxNzE2Ii8+Cjwvc3ZnPgo='/>
|
|
137
|
+
<h3 style="font-size: 28px; font-weight: 600; margin-bottom: 3rem; margin-top: .5rem;">Successfully logged in</h3>
|
|
138
|
+
<div style="font-weight: 500;">
|
|
139
|
+
<div style="margin-bottom: 1rem;">You can go back to your terminal.</div>
|
|
140
|
+
<div>This window should close itself in 3 seconds.</div>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
<script>setTimeout(function() {window.close()}, 3000);</script>
|
|
145
|
+
</body>
|
|
146
|
+
</html>
|
|
147
|
+
`);
|
|
148
|
+
resolve(code);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
res.write(`
|
|
152
|
+
<html>
|
|
153
|
+
<body>
|
|
154
|
+
<div style="height:100%;width:100%;inset:0;position:absolute;display:grid;place-items:center;background-color:#EFF2F7;text-align:center;font-family:Inter;">
|
|
155
|
+
<h3 style="font-weight:200;">Login failed, please try again!</h3>
|
|
156
|
+
<p>
|
|
157
|
+
<b>${error}</b>: ${errorDescription}
|
|
158
|
+
</p>
|
|
159
|
+
</div>
|
|
160
|
+
</body>
|
|
161
|
+
</html>
|
|
162
|
+
`);
|
|
163
|
+
}
|
|
164
|
+
res.end();
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
server.listen(4242).on('error', (err) => {
|
|
168
|
+
if (err.code === 'EADDRINUSE') {
|
|
169
|
+
reject(new Error('Unable to start a local server on port 4242.' +
|
|
170
|
+
' Please check that `checkly login` isn\'t already running in a separate tab.' +
|
|
171
|
+
' On OS X and Linux, you can run `lsof -i :4242` to see which process is blocking the port.'));
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
reject(err);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
}, _AuthContext_fetchAccessToken = async function _AuthContext_fetchAccessToken() {
|
|
179
|
+
const code = await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_startServer).call(this);
|
|
180
|
+
const tokenParams = new URLSearchParams({
|
|
181
|
+
grant_type: 'authorization_code',
|
|
182
|
+
client_id: AUTH0_CLIENT_ID,
|
|
183
|
+
code_verifier: __classPrivateFieldGet(this, _AuthContext_codeVerifier, "f"),
|
|
184
|
+
code,
|
|
185
|
+
redirect_uri: AUTH0_CALLBACK_URL,
|
|
186
|
+
});
|
|
187
|
+
const tokenResponse = await axios_1.default.post('https://auth.checklyhq.com/oauth/token', tokenParams, {
|
|
188
|
+
headers: {
|
|
189
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
190
|
+
'Accept-Encoding': '*',
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
const { access_token: accessToken, id_token: idToken } = tokenResponse.data;
|
|
194
|
+
__classPrivateFieldSet(this, _AuthContext_accessToken, accessToken, "f");
|
|
195
|
+
__classPrivateFieldSet(this, _AuthContext_idToken, idToken, "f");
|
|
196
|
+
}, _AuthContext_getApiKey = async function _AuthContext_getApiKey() {
|
|
197
|
+
var _a;
|
|
198
|
+
try {
|
|
199
|
+
await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_fetchUser).call(this);
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
|
|
203
|
+
await __classPrivateFieldGet(this, _AuthContext_instances, "m", _AuthContext_registerUser).call(this);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
throw error;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const apiKeyName = `CLI User Key (${os.hostname()})`;
|
|
210
|
+
const { data } = await __classPrivateFieldGet(this, _AuthContext_instances, "a", _AuthContext_axiosInstance_get).post(`/users/me/api-keys?name=${apiKeyName}`);
|
|
211
|
+
return data;
|
|
212
|
+
}, _AuthContext_fetchUser = async function _AuthContext_fetchUser() {
|
|
213
|
+
const { data } = await __classPrivateFieldGet(this, _AuthContext_instances, "a", _AuthContext_axiosInstance_get).get('/users/me');
|
|
214
|
+
return data;
|
|
215
|
+
}, _AuthContext_registerUser = async function _AuthContext_registerUser() {
|
|
216
|
+
const { data } = await __classPrivateFieldGet(this, _AuthContext_instances, "a", _AuthContext_axiosInstance_get).post('/users/', { accessToken: __classPrivateFieldGet(this, _AuthContext_accessToken, "f") });
|
|
217
|
+
return data;
|
|
218
|
+
}, _AuthContext_axiosInstance_get = function _AuthContext_axiosInstance_get() {
|
|
219
|
+
// Keep axios instance stateless
|
|
220
|
+
return axios_1.default.create({
|
|
221
|
+
baseURL: (0, api_1.getDefaults)().baseURL,
|
|
222
|
+
headers: {
|
|
223
|
+
Accept: 'application/json, text/plain, */*',
|
|
224
|
+
Authorization: `Bearer ${__classPrivateFieldGet(this, _AuthContext_accessToken, "f")}`,
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
};
|
|
228
|
+
//# 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,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthCommand = void 0;
|
|
4
|
+
const baseCommand_1 = require("./baseCommand");
|
|
5
|
+
const api = require("../rest/api");
|
|
6
|
+
class AuthCommand extends baseCommand_1.BaseCommand {
|
|
7
|
+
async init() {
|
|
8
|
+
super.init();
|
|
9
|
+
await api.validateAuthentication();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.AuthCommand = AuthCommand;
|
|
13
|
+
AuthCommand.hidden = true;
|
|
14
|
+
//# sourceMappingURL=authCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authCommand.js","sourceRoot":"","sources":["../../src/commands/authCommand.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,mCAAkC;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,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseCommand = void 0;
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
|
+
const api_1 = require("../rest/api");
|
|
6
|
+
class BaseCommand extends core_1.Command {
|
|
7
|
+
init() {
|
|
8
|
+
api_1.api.defaults.headers['x-checkly-cli-version'] = this.config.version;
|
|
9
|
+
return super.init();
|
|
10
|
+
}
|
|
11
|
+
async run() {
|
|
12
|
+
await this.exit(0);
|
|
13
|
+
}
|
|
14
|
+
catch(err) {
|
|
15
|
+
// TODO: we can add Sentry here and log critical errors.
|
|
16
|
+
return super.catch(err);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.BaseCommand = BaseCommand;
|
|
20
|
+
BaseCommand.hidden = true;
|
|
21
|
+
//# sourceMappingURL=baseCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseCommand.js","sourceRoot":"","sources":["../../src/commands/baseCommand.ts"],"names":[],"mappings":";;;AAAA,sCAAqC;AACrC,qCAAiC;AAEjC,MAAsB,WAAY,SAAQ,cAAO;IAGrC,IAAI;QACZ,SAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;QACnE,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;;AAfH,kCAgBC;AAfQ,kBAAM,GAAG,IAAI,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AuthCommand } from './authCommand';
|
|
2
|
+
export default class Deploy extends AuthCommand {
|
|
3
|
+
static hidden: boolean;
|
|
4
|
+
static description: string;
|
|
5
|
+
static flags: {
|
|
6
|
+
preview: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
output: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
config: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
private formatPreview;
|
|
13
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const api = require("../rest/api");
|
|
4
|
+
const config_1 = require("../services/config");
|
|
5
|
+
const inquirer_1 = require("inquirer");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const authCommand_1 = require("./authCommand");
|
|
8
|
+
const project_parser_1 = require("../services/project-parser");
|
|
9
|
+
const checkly_config_loader_1 = require("../services/checkly-config-loader");
|
|
10
|
+
const api_1 = require("../rest/api");
|
|
11
|
+
const constructs_1 = require("../constructs");
|
|
12
|
+
const chalk = require("chalk");
|
|
13
|
+
const check_1 = require("../constructs/check");
|
|
14
|
+
const alert_channel_1 = require("../constructs/alert-channel");
|
|
15
|
+
const util_1 = require("../services/util");
|
|
16
|
+
const common_messages_1 = require("../messages/common-messages");
|
|
17
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
18
|
+
var ResourceDeployStatus;
|
|
19
|
+
(function (ResourceDeployStatus) {
|
|
20
|
+
ResourceDeployStatus["UPDATE"] = "UPDATE";
|
|
21
|
+
ResourceDeployStatus["CREATE"] = "CREATE";
|
|
22
|
+
ResourceDeployStatus["DELETE"] = "DELETE";
|
|
23
|
+
})(ResourceDeployStatus || (ResourceDeployStatus = {}));
|
|
24
|
+
class Deploy extends authCommand_1.AuthCommand {
|
|
25
|
+
async run() {
|
|
26
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
27
|
+
core_1.ux.action.start('Parsing your project', undefined, { stdout: true });
|
|
28
|
+
const { flags } = await this.parse(Deploy);
|
|
29
|
+
const { force, preview, output, config: configFilename } = flags;
|
|
30
|
+
const { configDirectory, configFilenames } = (0, util_1.splitConfigFilePath)(configFilename);
|
|
31
|
+
const { config: checklyConfig, constructs: checklyConfigConstructs, } = await (0, checkly_config_loader_1.loadChecklyConfig)(configDirectory, configFilenames);
|
|
32
|
+
const { data: avilableRuntimes } = await api_1.runtimes.getAll();
|
|
33
|
+
const project = await (0, project_parser_1.parseProject)({
|
|
34
|
+
directory: configDirectory,
|
|
35
|
+
projectLogicalId: checklyConfig.logicalId,
|
|
36
|
+
projectName: checklyConfig.projectName,
|
|
37
|
+
repoUrl: checklyConfig.repoUrl,
|
|
38
|
+
checkMatch: (_a = checklyConfig.checks) === null || _a === void 0 ? void 0 : _a.checkMatch,
|
|
39
|
+
browserCheckMatch: (_c = (_b = checklyConfig.checks) === null || _b === void 0 ? void 0 : _b.browserChecks) === null || _c === void 0 ? void 0 : _c.testMatch,
|
|
40
|
+
ignoreDirectoriesMatch: (_d = checklyConfig.checks) === null || _d === void 0 ? void 0 : _d.ignoreDirectoriesMatch,
|
|
41
|
+
checkDefaults: checklyConfig.checks,
|
|
42
|
+
browserCheckDefaults: (_e = checklyConfig.checks) === null || _e === void 0 ? void 0 : _e.browserChecks,
|
|
43
|
+
availableRuntimes: avilableRuntimes.reduce((acc, runtime) => {
|
|
44
|
+
acc[runtime.name] = runtime;
|
|
45
|
+
return acc;
|
|
46
|
+
}, {}),
|
|
47
|
+
checklyConfigConstructs,
|
|
48
|
+
});
|
|
49
|
+
core_1.ux.action.stop();
|
|
50
|
+
const { data: account } = await api.accounts.get(config_1.default.getAccountId());
|
|
51
|
+
if (!force && !preview) {
|
|
52
|
+
const { confirm } = await (0, inquirer_1.prompt)([{
|
|
53
|
+
name: 'confirm',
|
|
54
|
+
type: 'confirm',
|
|
55
|
+
message: `You are about to deploy your project "${project.name}" to account "${account.name}". Do you want to continue?`,
|
|
56
|
+
}]);
|
|
57
|
+
if (!confirm) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const projectPayload = project.synthesize(false);
|
|
63
|
+
const { data } = await api.projects.deploy(projectPayload, { dryRun: preview });
|
|
64
|
+
if (preview || output) {
|
|
65
|
+
this.log(this.formatPreview(data, project));
|
|
66
|
+
}
|
|
67
|
+
if (!preview) {
|
|
68
|
+
await core_1.ux.wait(500);
|
|
69
|
+
this.log(`Successfully deployed project "${project.name}" to account "${account.name}".`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
if (((_f = err === null || err === void 0 ? void 0 : err.response) === null || _f === void 0 ? void 0 : _f.status) === 400) {
|
|
74
|
+
throw new Error(`Failed to deploy your project due to a missing field. ${(_g = err.response.data) === null || _g === void 0 ? void 0 : _g.message}`);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
throw new Error(`Failed to deploy your project. ${err.message}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
formatPreview(previewData, project) {
|
|
82
|
+
var _a, _b;
|
|
83
|
+
// Current format of the data is: { checks: { logical-id-1: 'UPDATE' }, groups: { another-logical-id: 'CREATE' } }
|
|
84
|
+
// We convert it into update: [{ logicalId, resourceType, construct }, ...], create: [], delete: []
|
|
85
|
+
// This makes it easier to display.
|
|
86
|
+
const updating = [];
|
|
87
|
+
const creating = [];
|
|
88
|
+
const deleting = [];
|
|
89
|
+
for (const change of (_a = previewData === null || previewData === void 0 ? void 0 : previewData.diff) !== null && _a !== void 0 ? _a : []) {
|
|
90
|
+
const { type, logicalId, action } = change;
|
|
91
|
+
if (type === constructs_1.AlertChannelSubscription.__checklyType) {
|
|
92
|
+
// Don't report changes to alert channel subscriptions.
|
|
93
|
+
// User's don't create these directly, so it's more intuitive to consider it as part of the check.
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const construct = project.data[type][logicalId];
|
|
97
|
+
if (action === ResourceDeployStatus.UPDATE) {
|
|
98
|
+
updating.push({ resourceType: type, logicalId, construct });
|
|
99
|
+
}
|
|
100
|
+
else if (action === ResourceDeployStatus.CREATE) {
|
|
101
|
+
creating.push({ resourceType: type, logicalId, construct });
|
|
102
|
+
}
|
|
103
|
+
else if (action === ResourceDeployStatus.DELETE) {
|
|
104
|
+
// Since the resource is being deleted, the construct isn't in the project.
|
|
105
|
+
deleting.push({ resourceType: type, logicalId });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (!creating.length && !deleting.length && !updating.length) {
|
|
109
|
+
return '\nNo checks were detected. More information on how to set up a Checkly CLI project is available at https://checklyhq.com/docs/cli/.\n';
|
|
110
|
+
}
|
|
111
|
+
// Having some order will make the output easier to read.
|
|
112
|
+
const compareEntries = (a, b) => a.resourceType.localeCompare(b.resourceType) ||
|
|
113
|
+
a.logicalId.localeCompare(b.logicalId);
|
|
114
|
+
updating.sort(compareEntries);
|
|
115
|
+
creating.sort(compareEntries);
|
|
116
|
+
deleting.sort(compareEntries);
|
|
117
|
+
const output = [];
|
|
118
|
+
if (creating.length) {
|
|
119
|
+
output.push(chalk.bold.green('Create:'));
|
|
120
|
+
for (const { logicalId, construct } of creating) {
|
|
121
|
+
output.push(` ${construct.constructor.name}: ${logicalId}`);
|
|
122
|
+
}
|
|
123
|
+
output.push('');
|
|
124
|
+
}
|
|
125
|
+
if (deleting.length) {
|
|
126
|
+
output.push(chalk.bold.red('Delete:'));
|
|
127
|
+
const prettyResourceTypes = {
|
|
128
|
+
[check_1.Check.__checklyType]: 'Check',
|
|
129
|
+
[alert_channel_1.AlertChannel.__checklyType]: 'AlertChannel',
|
|
130
|
+
[constructs_1.CheckGroup.__checklyType]: 'CheckGroup',
|
|
131
|
+
};
|
|
132
|
+
for (const { resourceType, logicalId } of deleting) {
|
|
133
|
+
output.push(` ${(_b = prettyResourceTypes[resourceType]) !== null && _b !== void 0 ? _b : resourceType}: ${logicalId}`);
|
|
134
|
+
}
|
|
135
|
+
output.push('');
|
|
136
|
+
}
|
|
137
|
+
if (updating.length) {
|
|
138
|
+
output.push(chalk.bold.magenta('Update and Unchanged:'));
|
|
139
|
+
for (const { logicalId, construct } of updating) {
|
|
140
|
+
output.push(` ${construct.constructor.name}: ${logicalId}`);
|
|
141
|
+
}
|
|
142
|
+
output.push('');
|
|
143
|
+
}
|
|
144
|
+
return output.join('\n');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.default = Deploy;
|
|
148
|
+
Deploy.hidden = false;
|
|
149
|
+
Deploy.description = 'Deploy your project to your Checkly account.';
|
|
150
|
+
Deploy.flags = {
|
|
151
|
+
preview: core_1.Flags.boolean({
|
|
152
|
+
char: 'p',
|
|
153
|
+
description: 'Show a preview of the changes made by the deploy command.',
|
|
154
|
+
default: false,
|
|
155
|
+
}),
|
|
156
|
+
output: core_1.Flags.boolean({
|
|
157
|
+
char: 'o',
|
|
158
|
+
description: 'Shows the changes made after the deploy command.',
|
|
159
|
+
default: false,
|
|
160
|
+
}),
|
|
161
|
+
force: core_1.Flags.boolean({
|
|
162
|
+
char: 'f',
|
|
163
|
+
description: common_messages_1.default.forceMode,
|
|
164
|
+
default: false,
|
|
165
|
+
}),
|
|
166
|
+
config: core_1.Flags.string({
|
|
167
|
+
char: 'c',
|
|
168
|
+
description: common_messages_1.default.configFile,
|
|
169
|
+
}),
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|