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
|
@@ -0,0 +1,151 @@
|
|
|
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.BrowserCheck = void 0;
|
|
27
|
+
const path = __importStar(require("path"));
|
|
28
|
+
const check_1 = require("./check");
|
|
29
|
+
const project_1 = require("./project");
|
|
30
|
+
const parser_1 = require("../services/check-parser/parser");
|
|
31
|
+
const util_1 = require("../services/util");
|
|
32
|
+
const snapshot_service_1 = require("../services/snapshot-service");
|
|
33
|
+
/**
|
|
34
|
+
* Creates a Browser Check
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
*
|
|
38
|
+
* This class make use of the Browser Checks endpoints.
|
|
39
|
+
*/
|
|
40
|
+
class BrowserCheck extends check_1.Check {
|
|
41
|
+
/**
|
|
42
|
+
* Constructs the Browser Check instance
|
|
43
|
+
*
|
|
44
|
+
* @param logicalId unique project-scoped resource name identification
|
|
45
|
+
* @param props check configuration properties
|
|
46
|
+
* {@link https://checklyhq.com/docs/cli/constructs-reference/#browsercheck Read more in the docs}
|
|
47
|
+
*/
|
|
48
|
+
constructor(logicalId, props) {
|
|
49
|
+
if (props.group) {
|
|
50
|
+
BrowserCheck.applyDefaultBrowserCheckGroupConfig(props, props.group.getBrowserCheckDefaults());
|
|
51
|
+
}
|
|
52
|
+
BrowserCheck.applyDefaultBrowserCheckConfig(props);
|
|
53
|
+
super(logicalId, props);
|
|
54
|
+
this.sslCheckDomain = props.sslCheckDomain;
|
|
55
|
+
this.playwrightConfig = props.playwrightConfig;
|
|
56
|
+
if ('content' in props.code) {
|
|
57
|
+
const script = props.code.content;
|
|
58
|
+
this.script = script;
|
|
59
|
+
}
|
|
60
|
+
else if ('entrypoint' in props.code) {
|
|
61
|
+
const entrypoint = props.code.entrypoint;
|
|
62
|
+
let absoluteEntrypoint = null;
|
|
63
|
+
if (path.isAbsolute(entrypoint)) {
|
|
64
|
+
absoluteEntrypoint = entrypoint;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
if (!project_1.Session.checkFileAbsolutePath) {
|
|
68
|
+
throw new Error('You cannot use relative paths without the checkFileAbsolutePath in session');
|
|
69
|
+
}
|
|
70
|
+
absoluteEntrypoint = path.join(path.dirname(project_1.Session.checkFileAbsolutePath), entrypoint);
|
|
71
|
+
}
|
|
72
|
+
// runtimeId will always be set by check or browser check defaults so it is safe to use ! operator
|
|
73
|
+
const bundle = BrowserCheck.bundle(absoluteEntrypoint, this.runtimeId);
|
|
74
|
+
if (!bundle.script) {
|
|
75
|
+
throw new Error(`Browser check "${logicalId}" is not allowed to be empty`);
|
|
76
|
+
}
|
|
77
|
+
this.script = bundle.script;
|
|
78
|
+
this.scriptPath = bundle.scriptPath;
|
|
79
|
+
this.dependencies = bundle.dependencies;
|
|
80
|
+
this.rawSnapshots = bundle.snapshots;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
throw new Error('Unrecognized type for the "code" property. The "code" property should be a string of JS/TS code.');
|
|
84
|
+
}
|
|
85
|
+
project_1.Session.registerConstruct(this);
|
|
86
|
+
this.addSubscriptions();
|
|
87
|
+
this.addPrivateLocationCheckAssignments();
|
|
88
|
+
}
|
|
89
|
+
static applyDefaultBrowserCheckGroupConfig(props, groupProps) {
|
|
90
|
+
var _a;
|
|
91
|
+
let configKey;
|
|
92
|
+
for (configKey in groupProps) {
|
|
93
|
+
const newVal = (_a = props[configKey]) !== null && _a !== void 0 ? _a : groupProps[configKey];
|
|
94
|
+
props[configKey] = newVal;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
static applyDefaultBrowserCheckConfig(props) {
|
|
98
|
+
var _a;
|
|
99
|
+
if (!project_1.Session.browserCheckDefaults) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
let configKey;
|
|
103
|
+
for (configKey in project_1.Session.browserCheckDefaults) {
|
|
104
|
+
const newVal = (_a = props[configKey]) !== null && _a !== void 0 ? _a : project_1.Session.browserCheckDefaults[configKey];
|
|
105
|
+
props[configKey] = newVal;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
static bundle(entry, runtimeId) {
|
|
109
|
+
const runtime = project_1.Session.availableRuntimes[runtimeId];
|
|
110
|
+
if (!runtime) {
|
|
111
|
+
throw new Error(`${runtimeId} is not supported`);
|
|
112
|
+
}
|
|
113
|
+
const parser = new parser_1.Parser({
|
|
114
|
+
supportedNpmModules: Object.keys(runtime.dependencies),
|
|
115
|
+
checkUnsupportedModules: project_1.Session.verifyRuntimeDependencies,
|
|
116
|
+
});
|
|
117
|
+
const parsed = parser.parse(entry);
|
|
118
|
+
// Maybe we can get the parsed deps with the content immediately
|
|
119
|
+
const deps = [];
|
|
120
|
+
for (const { filePath, content } of parsed.dependencies) {
|
|
121
|
+
deps.push({
|
|
122
|
+
path: (0, util_1.pathToPosix)(path.relative(project_1.Session.basePath, filePath)),
|
|
123
|
+
content,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
script: parsed.entrypoint.content,
|
|
128
|
+
scriptPath: (0, util_1.pathToPosix)(path.relative(project_1.Session.basePath, parsed.entrypoint.filePath)),
|
|
129
|
+
dependencies: deps,
|
|
130
|
+
snapshots: (0, snapshot_service_1.detectSnapshots)(project_1.Session.basePath, parsed.entrypoint.filePath),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
getSourceFile() {
|
|
134
|
+
var _a;
|
|
135
|
+
return (_a = this.__checkFilePath) !== null && _a !== void 0 ? _a : this.scriptPath;
|
|
136
|
+
}
|
|
137
|
+
synthesize() {
|
|
138
|
+
return {
|
|
139
|
+
...super.synthesize(),
|
|
140
|
+
checkType: 'BROWSER',
|
|
141
|
+
script: this.script,
|
|
142
|
+
scriptPath: this.scriptPath,
|
|
143
|
+
dependencies: this.dependencies,
|
|
144
|
+
sslCheckDomain: this.sslCheckDomain || null, // empty string is converted to null
|
|
145
|
+
snapshots: this.snapshots,
|
|
146
|
+
playwrightConfig: this.playwrightConfig,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.BrowserCheck = BrowserCheck;
|
|
151
|
+
//# sourceMappingURL=browser-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-check.js","sourceRoot":"","sources":["../../src/constructs/browser-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { Construct } from './construct';
|
|
2
|
+
import { AlertChannel } from './alert-channel';
|
|
3
|
+
import { EnvironmentVariable } from './environment-variable';
|
|
4
|
+
import { PrivateLocation } from './private-location';
|
|
5
|
+
import { CheckConfigDefaults } from '../services/checkly-config-loader';
|
|
6
|
+
import { ApiCheckDefaultConfig } from './api-check';
|
|
7
|
+
import type { Region } from '..';
|
|
8
|
+
import type { Frequency } from './frequency';
|
|
9
|
+
import type { RetryStrategy } from './retry-strategy';
|
|
10
|
+
import { AlertEscalation } from './alert-escalation-policy';
|
|
11
|
+
type BrowserCheckConfig = CheckConfigDefaults & {
|
|
12
|
+
/**
|
|
13
|
+
* Glob pattern to include multiple files, i.e. all `.spec.ts` files
|
|
14
|
+
*/
|
|
15
|
+
testMatch: string | string[];
|
|
16
|
+
};
|
|
17
|
+
type MultiStepCheckConfig = CheckConfigDefaults & {
|
|
18
|
+
/**
|
|
19
|
+
* Glob pattern to include multiple files, i.e. all `.spec.ts` files
|
|
20
|
+
*/
|
|
21
|
+
testMatch: string | string[];
|
|
22
|
+
};
|
|
23
|
+
export interface CheckGroupProps {
|
|
24
|
+
/**
|
|
25
|
+
* The name of the check group.
|
|
26
|
+
*/
|
|
27
|
+
name: string;
|
|
28
|
+
/**
|
|
29
|
+
* Determines if the checks in the group are running or not.
|
|
30
|
+
*/
|
|
31
|
+
activated?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Determines if any notifications will be sent out when a check in this group fails and/or recovers.
|
|
34
|
+
*/
|
|
35
|
+
muted?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Setting this to "true" will trigger a retry when a check fails from the failing region and another,
|
|
38
|
+
* randomly selected region before marking the check as failed.
|
|
39
|
+
* @deprecated Use {@link CheckGroupProps.retryStrategy} instead.
|
|
40
|
+
*/
|
|
41
|
+
doubleCheck?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* The runtime version, i.e. fixed set of runtime dependencies, used to execute checks in this group.
|
|
44
|
+
*/
|
|
45
|
+
runtimeId?: string;
|
|
46
|
+
/**
|
|
47
|
+
* An array of one or more data center locations where to run the checks.
|
|
48
|
+
*/
|
|
49
|
+
locations?: Array<keyof Region>;
|
|
50
|
+
/**
|
|
51
|
+
* An array of one or more private locations where to run the checks.
|
|
52
|
+
*/
|
|
53
|
+
privateLocations?: Array<string | PrivateLocation>;
|
|
54
|
+
/**
|
|
55
|
+
* Tags for organizing and filtering checks.
|
|
56
|
+
*/
|
|
57
|
+
tags?: Array<string>;
|
|
58
|
+
/**
|
|
59
|
+
* Determines how many checks are invoked concurrently when triggering a check group from CI/CD or through the API.
|
|
60
|
+
*/
|
|
61
|
+
concurrency?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Optional fallback value for checks belonging to the group. How often the check should run in minutes.
|
|
64
|
+
*/
|
|
65
|
+
frequency?: number | Frequency;
|
|
66
|
+
environmentVariables?: Array<EnvironmentVariable>;
|
|
67
|
+
/**
|
|
68
|
+
* List of alert channels to be alerted when checks in this group fail or recover.
|
|
69
|
+
*/
|
|
70
|
+
alertChannels?: Array<AlertChannel>;
|
|
71
|
+
browserChecks?: BrowserCheckConfig;
|
|
72
|
+
multiStepChecks?: MultiStepCheckConfig;
|
|
73
|
+
alertEscalationPolicy?: AlertEscalation;
|
|
74
|
+
/**
|
|
75
|
+
* A valid piece of Node.js code to run in the setup phase of an API check in this group.
|
|
76
|
+
* @deprecated use the "ApiCheck.setupScript" property instead and use common JS/TS code
|
|
77
|
+
* composition to add group specific setup routines.
|
|
78
|
+
*/
|
|
79
|
+
localSetupScript?: string;
|
|
80
|
+
/**
|
|
81
|
+
* A valid piece of Node.js code to run in the teardown phase of an API check in this group.
|
|
82
|
+
* @deprecated use the "ApiCheck.tearDownScript" property instead and use common JS/TS code
|
|
83
|
+
* composition to add group specific teardown routines.
|
|
84
|
+
*/
|
|
85
|
+
localTearDownScript?: string;
|
|
86
|
+
apiCheckDefaults?: ApiCheckDefaultConfig;
|
|
87
|
+
/**
|
|
88
|
+
* Sets a retry policy for the group. Use RetryStrategyBuilder to create a retry policy.
|
|
89
|
+
*/
|
|
90
|
+
retryStrategy?: RetryStrategy;
|
|
91
|
+
/**
|
|
92
|
+
* Determines whether the checks in the group should run on all selected locations in parallel or round-robin.
|
|
93
|
+
* See https://www.checklyhq.com/docs/monitoring/global-locations/ to learn more about scheduling strategies.
|
|
94
|
+
*/
|
|
95
|
+
runParallel?: boolean;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Creates a Check Group
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
*
|
|
102
|
+
* This class make use of the Check Groups endpoints.
|
|
103
|
+
*/
|
|
104
|
+
export declare class CheckGroup extends Construct {
|
|
105
|
+
name: string;
|
|
106
|
+
activated?: boolean;
|
|
107
|
+
muted?: boolean;
|
|
108
|
+
doubleCheck?: boolean;
|
|
109
|
+
runtimeId?: string;
|
|
110
|
+
locations: Array<keyof Region>;
|
|
111
|
+
privateLocations?: Array<string | PrivateLocation>;
|
|
112
|
+
tags?: Array<string>;
|
|
113
|
+
concurrency?: number;
|
|
114
|
+
frequency?: number | Frequency;
|
|
115
|
+
environmentVariables?: Array<EnvironmentVariable>;
|
|
116
|
+
alertChannels?: Array<AlertChannel>;
|
|
117
|
+
localSetupScript?: string;
|
|
118
|
+
localTearDownScript?: string;
|
|
119
|
+
apiCheckDefaults: ApiCheckDefaultConfig;
|
|
120
|
+
browserChecks?: BrowserCheckConfig;
|
|
121
|
+
multiStepChecks?: MultiStepCheckConfig;
|
|
122
|
+
retryStrategy?: RetryStrategy;
|
|
123
|
+
runParallel?: boolean;
|
|
124
|
+
alertSettings?: AlertEscalation;
|
|
125
|
+
useGlobalAlertSettings?: boolean;
|
|
126
|
+
static readonly __checklyType = "check-group";
|
|
127
|
+
/**
|
|
128
|
+
* Constructs the CheckGroup instance
|
|
129
|
+
*
|
|
130
|
+
* @param logicalId unique project-scoped resource name identification
|
|
131
|
+
* @param props CheckGroup configuration properties
|
|
132
|
+
*
|
|
133
|
+
* {@link https://checklyhq.com/docs/cli/constructs-reference/#checkgroup Read more in the docs}
|
|
134
|
+
*/
|
|
135
|
+
constructor(logicalId: string, props: CheckGroupProps);
|
|
136
|
+
private __addChecks;
|
|
137
|
+
private __addSubscriptions;
|
|
138
|
+
private __addPrivateLocationGroupAssignments;
|
|
139
|
+
getCheckDefaults(): CheckConfigDefaults;
|
|
140
|
+
getBrowserCheckDefaults(): CheckConfigDefaults;
|
|
141
|
+
getMultiStepCheckDefaults(): CheckConfigDefaults;
|
|
142
|
+
synthesize(): {
|
|
143
|
+
name: string;
|
|
144
|
+
activated: boolean | undefined;
|
|
145
|
+
muted: boolean | undefined;
|
|
146
|
+
tags: string[] | undefined;
|
|
147
|
+
locations: (keyof Region)[];
|
|
148
|
+
runtimeId: string | undefined;
|
|
149
|
+
privateLocations: undefined;
|
|
150
|
+
concurrency: number | undefined;
|
|
151
|
+
localSetupScript: string | undefined;
|
|
152
|
+
localTearDownScript: string | undefined;
|
|
153
|
+
apiCheckDefaults: ApiCheckDefaultConfig;
|
|
154
|
+
environmentVariables: import("./key-value-pair").default[] | undefined;
|
|
155
|
+
retryStrategy: RetryStrategy | null | undefined;
|
|
156
|
+
doubleCheck: boolean | undefined;
|
|
157
|
+
runParallel: boolean | undefined;
|
|
158
|
+
alertSettings: AlertEscalation | undefined;
|
|
159
|
+
useGlobalAlertSettings: boolean | undefined;
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
export {};
|
|
@@ -0,0 +1,208 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.CheckGroup = void 0;
|
|
30
|
+
const path = __importStar(require("path"));
|
|
31
|
+
const glob_1 = require("glob");
|
|
32
|
+
const ref_1 = require("./ref");
|
|
33
|
+
const project_1 = require("./project");
|
|
34
|
+
const construct_1 = require("./construct");
|
|
35
|
+
const browser_check_1 = require("./browser-check");
|
|
36
|
+
const alert_channel_subscription_1 = require("./alert-channel-subscription");
|
|
37
|
+
const private_location_group_assignment_1 = require("./private-location-group-assignment");
|
|
38
|
+
const util_1 = require("../services/util");
|
|
39
|
+
const multi_step_check_1 = require("./multi-step-check");
|
|
40
|
+
const constants_1 = __importDefault(require("../constants"));
|
|
41
|
+
const defaultApiCheckDefaults = {
|
|
42
|
+
headers: [],
|
|
43
|
+
queryParameters: [],
|
|
44
|
+
url: '',
|
|
45
|
+
basicAuth: {
|
|
46
|
+
username: '',
|
|
47
|
+
password: '',
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Creates a Check Group
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
*
|
|
55
|
+
* This class make use of the Check Groups endpoints.
|
|
56
|
+
*/
|
|
57
|
+
class CheckGroup extends construct_1.Construct {
|
|
58
|
+
/**
|
|
59
|
+
* Constructs the CheckGroup instance
|
|
60
|
+
*
|
|
61
|
+
* @param logicalId unique project-scoped resource name identification
|
|
62
|
+
* @param props CheckGroup configuration properties
|
|
63
|
+
*
|
|
64
|
+
* {@link https://checklyhq.com/docs/cli/constructs-reference/#checkgroup Read more in the docs}
|
|
65
|
+
*/
|
|
66
|
+
constructor(logicalId, props) {
|
|
67
|
+
var _a, _b, _c, _d, _e;
|
|
68
|
+
super(CheckGroup.__checklyType, logicalId);
|
|
69
|
+
this.name = props.name;
|
|
70
|
+
this.activated = props.activated;
|
|
71
|
+
this.muted = props.muted;
|
|
72
|
+
this.doubleCheck = props.doubleCheck;
|
|
73
|
+
this.tags = props.tags;
|
|
74
|
+
this.runtimeId = props.runtimeId;
|
|
75
|
+
this.locations = (_a = props.locations) !== null && _a !== void 0 ? _a : [];
|
|
76
|
+
this.privateLocations = props.privateLocations;
|
|
77
|
+
this.concurrency = props.concurrency;
|
|
78
|
+
// `frequency` is not a CheckGroup resource property. Not present in synthesize()
|
|
79
|
+
this.frequency = props.frequency;
|
|
80
|
+
this.apiCheckDefaults = { ...defaultApiCheckDefaults, ...props.apiCheckDefaults };
|
|
81
|
+
this.alertSettings = props.alertEscalationPolicy;
|
|
82
|
+
this.useGlobalAlertSettings = !this.alertSettings;
|
|
83
|
+
this.environmentVariables = (_b = props.environmentVariables) !== null && _b !== void 0 ? _b : [];
|
|
84
|
+
this.environmentVariables.forEach(ev => {
|
|
85
|
+
// only empty string is checked because the KeyValuePair.value doesn't allow undefined or null.
|
|
86
|
+
if (ev.value === '') {
|
|
87
|
+
throw new Error(`Environment variable "${ev.key}" from check group "${logicalId}" is not allowed to be empty`);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
this.alertChannels = (_c = props.alertChannels) !== null && _c !== void 0 ? _c : [];
|
|
91
|
+
this.localSetupScript = props.localSetupScript;
|
|
92
|
+
this.localTearDownScript = props.localTearDownScript;
|
|
93
|
+
this.retryStrategy = props.retryStrategy;
|
|
94
|
+
this.runParallel = props.runParallel;
|
|
95
|
+
// `browserChecks` is not a CheckGroup resource property. Not present in synthesize()
|
|
96
|
+
this.browserChecks = props.browserChecks;
|
|
97
|
+
const fileAbsolutePath = project_1.Session.checkFileAbsolutePath;
|
|
98
|
+
if ((_d = props.browserChecks) === null || _d === void 0 ? void 0 : _d.testMatch) {
|
|
99
|
+
this.__addChecks(fileAbsolutePath, props.browserChecks.testMatch, constants_1.default.BROWSER);
|
|
100
|
+
}
|
|
101
|
+
this.multiStepChecks = props.multiStepChecks;
|
|
102
|
+
if ((_e = props.multiStepChecks) === null || _e === void 0 ? void 0 : _e.testMatch) {
|
|
103
|
+
this.__addChecks(fileAbsolutePath, props.multiStepChecks.testMatch, constants_1.default.MULTI_STEP);
|
|
104
|
+
}
|
|
105
|
+
project_1.Session.registerConstruct(this);
|
|
106
|
+
this.__addSubscriptions();
|
|
107
|
+
this.__addPrivateLocationGroupAssignments();
|
|
108
|
+
}
|
|
109
|
+
__addChecks(fileAbsolutePath, testMatch, checkType) {
|
|
110
|
+
const parent = path.dirname(fileAbsolutePath);
|
|
111
|
+
const matched = glob_1.glob.sync(testMatch, { nodir: true, cwd: parent });
|
|
112
|
+
for (const match of matched) {
|
|
113
|
+
const filepath = path.join(parent, match);
|
|
114
|
+
const props = {
|
|
115
|
+
group: this,
|
|
116
|
+
name: match,
|
|
117
|
+
code: {
|
|
118
|
+
entrypoint: filepath,
|
|
119
|
+
},
|
|
120
|
+
// the browserChecks props inherited from the group are applied in BrowserCheck.constructor()
|
|
121
|
+
};
|
|
122
|
+
const checkLogicalId = (0, util_1.pathToPosix)(path.relative(project_1.Session.basePath, filepath));
|
|
123
|
+
checkType === constants_1.default.BROWSER
|
|
124
|
+
? new browser_check_1.BrowserCheck(checkLogicalId, props)
|
|
125
|
+
: new multi_step_check_1.MultiStepCheck(checkLogicalId, props);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
__addSubscriptions() {
|
|
129
|
+
if (!this.alertChannels) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
for (const alertChannel of this.alertChannels) {
|
|
133
|
+
const subscription = new alert_channel_subscription_1.AlertChannelSubscription(`check-group-alert-channel-subscription#${this.logicalId}#${alertChannel.logicalId}`, {
|
|
134
|
+
alertChannelId: ref_1.Ref.from(alertChannel.logicalId),
|
|
135
|
+
groupId: ref_1.Ref.from(this.logicalId),
|
|
136
|
+
activated: true,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
__addPrivateLocationGroupAssignments() {
|
|
141
|
+
if (!this.privateLocations) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
for (const privateLocation of this.privateLocations) {
|
|
145
|
+
// slugName strings are processed in loadAllPrivateLocations()
|
|
146
|
+
if (typeof privateLocation === 'string') {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
// use private location assignment for instances
|
|
150
|
+
const assignment = new private_location_group_assignment_1.PrivateLocationGroupAssignment(`private-location-group-assignment#${this.logicalId}#${privateLocation.logicalId}`, {
|
|
151
|
+
privateLocationId: ref_1.Ref.from(privateLocation.logicalId),
|
|
152
|
+
groupId: ref_1.Ref.from(this.logicalId),
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
getCheckDefaults() {
|
|
157
|
+
// TODO: investigate if make sense to add all other check's properties
|
|
158
|
+
return {
|
|
159
|
+
frequency: this.frequency,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
getBrowserCheckDefaults() {
|
|
163
|
+
var _a;
|
|
164
|
+
// TODO: investigate if make sense to add all other browser-check's properties
|
|
165
|
+
return {
|
|
166
|
+
frequency: (_a = this.browserChecks) === null || _a === void 0 ? void 0 : _a.frequency,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
getMultiStepCheckDefaults() {
|
|
170
|
+
var _a;
|
|
171
|
+
return {
|
|
172
|
+
frequency: (_a = this.multiStepChecks) === null || _a === void 0 ? void 0 : _a.frequency,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
synthesize() {
|
|
176
|
+
var _a, _b;
|
|
177
|
+
return {
|
|
178
|
+
name: this.name,
|
|
179
|
+
activated: this.activated,
|
|
180
|
+
muted: this.muted,
|
|
181
|
+
tags: this.tags,
|
|
182
|
+
locations: this.locations,
|
|
183
|
+
runtimeId: this.runtimeId,
|
|
184
|
+
// private-location instances are assigned with loadAllPrivateLocations()
|
|
185
|
+
privateLocations: undefined,
|
|
186
|
+
concurrency: this.concurrency,
|
|
187
|
+
localSetupScript: this.localSetupScript,
|
|
188
|
+
localTearDownScript: this.localTearDownScript,
|
|
189
|
+
apiCheckDefaults: this.apiCheckDefaults,
|
|
190
|
+
environmentVariables: this.environmentVariables,
|
|
191
|
+
// The backend doesn't actually support the `NO_RETRIES` type, it uses `null` instead.
|
|
192
|
+
retryStrategy: ((_a = this.retryStrategy) === null || _a === void 0 ? void 0 : _a.type) === 'NO_RETRIES'
|
|
193
|
+
? null
|
|
194
|
+
: this.retryStrategy,
|
|
195
|
+
// When `retryStrategy: NO_RETRIES` and `doubleCheck: undefined`, we want to let the user disable all retries.
|
|
196
|
+
// The backend has a Joi default of `doubleCheck: true`, though, so we need special handling for this case.
|
|
197
|
+
doubleCheck: this.doubleCheck === undefined && ((_b = this.retryStrategy) === null || _b === void 0 ? void 0 : _b.type) === 'NO_RETRIES'
|
|
198
|
+
? false
|
|
199
|
+
: this.doubleCheck,
|
|
200
|
+
runParallel: this.runParallel,
|
|
201
|
+
alertSettings: this.alertSettings,
|
|
202
|
+
useGlobalAlertSettings: this.useGlobalAlertSettings,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
exports.CheckGroup = CheckGroup;
|
|
207
|
+
CheckGroup.__checklyType = 'check-group';
|
|
208
|
+
//# sourceMappingURL=check-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-group.js","sourceRoot":"","sources":["../../src/constructs/check-group.ts"],"names":[],"mappings":"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"}
|