checkly 5.6.0 → 6.0.0-prerelease-541d8e1
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/dist/commands/baseCommand.d.ts +1 -1
- package/dist/commands/baseCommand.js +3 -3
- package/dist/commands/baseCommand.js.map +1 -1
- package/dist/commands/deploy.js +37 -18
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/import/plan.js +54 -27
- package/dist/commands/import/plan.js.map +1 -1
- package/dist/commands/test.js +84 -53
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/trigger.d.ts +0 -1
- package/dist/commands/trigger.js +4 -6
- package/dist/commands/trigger.js.map +1 -1
- package/dist/constructs/api-check-bundle.d.ts +57 -0
- package/dist/constructs/api-check-bundle.js +34 -0
- package/dist/constructs/api-check-bundle.js.map +1 -0
- package/dist/constructs/api-check.d.ts +14 -20
- package/dist/constructs/api-check.js +86 -83
- package/dist/constructs/api-check.js.map +1 -1
- package/dist/constructs/browser-check-bundle.d.ts +58 -0
- package/dist/constructs/browser-check-bundle.js +31 -0
- package/dist/constructs/browser-check-bundle.js.map +1 -0
- package/dist/constructs/browser-check.d.ts +10 -22
- package/dist/constructs/browser-check.js +54 -67
- package/dist/constructs/browser-check.js.map +1 -1
- package/dist/constructs/check-group-codegen.d.ts +6 -5
- package/dist/constructs/check-group-codegen.js +14 -7
- package/dist/constructs/check-group-codegen.js.map +1 -1
- package/dist/constructs/check-group-ref.d.ts +14 -0
- package/dist/constructs/check-group-ref.js +37 -0
- package/dist/constructs/check-group-ref.js.map +1 -0
- package/dist/constructs/check-group-v1.d.ts +294 -0
- package/dist/constructs/check-group-v1.js +271 -0
- package/dist/constructs/check-group-v1.js.map +1 -0
- package/dist/constructs/check-group-v2.d.ts +120 -0
- package/dist/constructs/check-group-v2.js +87 -0
- package/dist/constructs/check-group-v2.js.map +1 -0
- package/dist/constructs/check-group.d.ts +4 -175
- package/dist/constructs/check-group.js +8 -246
- package/dist/constructs/check-group.js.map +1 -1
- package/dist/constructs/check.d.ts +2 -2
- package/dist/constructs/construct-diagnostics.d.ts +33 -0
- package/dist/constructs/construct-diagnostics.js +101 -0
- package/dist/constructs/construct-diagnostics.js.map +1 -0
- package/dist/constructs/construct.d.ts +35 -1
- package/dist/constructs/construct.js +48 -1
- package/dist/constructs/construct.js.map +1 -1
- package/dist/constructs/dashboard-bundle.d.ts +11 -0
- package/dist/constructs/dashboard-bundle.js +19 -0
- package/dist/constructs/dashboard-bundle.js.map +1 -0
- package/dist/constructs/dashboard.d.ts +26 -22
- package/dist/constructs/dashboard.js +39 -46
- package/dist/constructs/dashboard.js.map +1 -1
- package/dist/constructs/diagnostics.d.ts +36 -0
- package/dist/constructs/diagnostics.js +69 -0
- package/dist/constructs/diagnostics.js.map +1 -0
- package/dist/constructs/index.d.ts +1 -0
- package/dist/constructs/index.js +1 -0
- package/dist/constructs/index.js.map +1 -1
- package/dist/constructs/multi-step-check-bundle.d.ts +46 -0
- package/dist/constructs/multi-step-check-bundle.js +25 -0
- package/dist/constructs/multi-step-check-bundle.js.map +1 -0
- package/dist/constructs/multi-step-check.d.ts +9 -11
- package/dist/constructs/multi-step-check.js +50 -65
- package/dist/constructs/multi-step-check.js.map +1 -1
- package/dist/constructs/playwright-check-bundle.d.ts +49 -0
- package/dist/constructs/playwright-check-bundle.js +28 -0
- package/dist/constructs/playwright-check-bundle.js.map +1 -0
- package/dist/constructs/playwright-check.d.ts +9 -15
- package/dist/constructs/playwright-check.js +37 -33
- package/dist/constructs/playwright-check.js.map +1 -1
- package/dist/constructs/private-location.d.ts +2 -0
- package/dist/constructs/private-location.js +7 -5
- package/dist/constructs/private-location.js.map +1 -1
- package/dist/constructs/project-bundle.d.ts +30 -0
- package/dist/constructs/project-bundle.js +44 -0
- package/dist/constructs/project-bundle.js.map +1 -0
- package/dist/constructs/project.d.ts +41 -18
- package/dist/constructs/project.js +72 -31
- package/dist/constructs/project.js.map +1 -1
- package/dist/reporters/util.d.ts +0 -1
- package/dist/reporters/util.js +1 -5
- package/dist/reporters/util.js.map +1 -1
- package/dist/rest/projects.d.ts +2 -0
- package/dist/rest/projects.js.map +1 -1
- package/dist/rest/test-sessions.d.ts +2 -1
- package/dist/rest/test-sessions.js.map +1 -1
- package/dist/services/check-parser/package-files/json-source-file.js +2 -1
- package/dist/services/check-parser/package-files/json-source-file.js.map +1 -1
- package/dist/services/check-parser/package-files/loader.d.ts +2 -2
- package/dist/services/check-parser/package-files/loader.js +2 -2
- package/dist/services/check-parser/package-files/loader.js.map +1 -1
- package/dist/services/check-parser/package-files/resolver.d.ts +8 -8
- package/dist/services/check-parser/package-files/resolver.js +34 -32
- package/dist/services/check-parser/package-files/resolver.js.map +1 -1
- package/dist/services/check-parser/package-files/source-file.d.ts +1 -1
- package/dist/services/check-parser/package-files/source-file.js +5 -4
- package/dist/services/check-parser/package-files/source-file.js.map +1 -1
- package/dist/services/check-parser/parser.d.ts +3 -3
- package/dist/services/check-parser/parser.js +22 -23
- package/dist/services/check-parser/parser.js.map +1 -1
- package/dist/services/checkly-config-codegen.js +0 -3
- package/dist/services/checkly-config-codegen.js.map +1 -1
- package/dist/services/checkly-config-loader.d.ts +0 -1
- package/dist/services/checkly-config-loader.js.map +1 -1
- package/dist/services/project-parser.d.ts +4 -2
- package/dist/services/project-parser.js +109 -67
- package/dist/services/project-parser.js.map +1 -1
- package/dist/services/test-runner.d.ts +6 -4
- package/dist/services/test-runner.js +33 -22
- package/dist/services/test-runner.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +3 -3
- package/package.json +1 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Construct, Content, Entrypoint } from './construct';
|
|
2
|
+
import { Diagnostics } from './diagnostics';
|
|
3
|
+
import { DashboardBundle } from './dashboard-bundle';
|
|
2
4
|
export interface DashboardProps {
|
|
3
5
|
/**
|
|
4
6
|
* A list of one or more tags that filter what checks will be shown in the dashboard.
|
|
@@ -102,28 +104,28 @@ export interface DashboardProps {
|
|
|
102
104
|
* This class make use of the Dashboard endpoints.
|
|
103
105
|
*/
|
|
104
106
|
export declare class Dashboard extends Construct {
|
|
105
|
-
tags?: Array<string>;
|
|
106
|
-
customUrl?: string;
|
|
107
|
-
customDomain?: string;
|
|
108
|
-
logo?: string;
|
|
109
|
-
favicon?: string;
|
|
110
|
-
link?: string;
|
|
111
|
-
header?: string;
|
|
112
|
-
description?: string;
|
|
113
|
-
width?: 'FULL' | '960PX';
|
|
114
|
-
refreshRate?: 60 | 300 | 600;
|
|
115
|
-
paginate?: boolean;
|
|
116
|
-
paginationRate?: 30 | 60 | 300;
|
|
117
|
-
checksPerPage?: number;
|
|
118
|
-
useTagsAndOperator?: boolean;
|
|
119
|
-
hideTags?: boolean;
|
|
120
|
-
enableIncidents?: boolean;
|
|
121
|
-
expandChecks?: boolean;
|
|
122
|
-
showHeader?: boolean;
|
|
123
|
-
customCSS?:
|
|
124
|
-
isPrivate?: boolean;
|
|
125
|
-
showP95?: boolean;
|
|
126
|
-
showP99?: boolean;
|
|
107
|
+
readonly tags?: Array<string>;
|
|
108
|
+
readonly customUrl?: string;
|
|
109
|
+
readonly customDomain?: string;
|
|
110
|
+
readonly logo?: string;
|
|
111
|
+
readonly favicon?: string;
|
|
112
|
+
readonly link?: string;
|
|
113
|
+
readonly header?: string;
|
|
114
|
+
readonly description?: string;
|
|
115
|
+
readonly width?: 'FULL' | '960PX';
|
|
116
|
+
readonly refreshRate?: 60 | 300 | 600;
|
|
117
|
+
readonly paginate?: boolean;
|
|
118
|
+
readonly paginationRate?: 30 | 60 | 300;
|
|
119
|
+
readonly checksPerPage?: number;
|
|
120
|
+
readonly useTagsAndOperator?: boolean;
|
|
121
|
+
readonly hideTags?: boolean;
|
|
122
|
+
readonly enableIncidents?: boolean;
|
|
123
|
+
readonly expandChecks?: boolean;
|
|
124
|
+
readonly showHeader?: boolean;
|
|
125
|
+
readonly customCSS?: Content | Entrypoint;
|
|
126
|
+
readonly isPrivate?: boolean;
|
|
127
|
+
readonly showP95?: boolean;
|
|
128
|
+
readonly showP99?: boolean;
|
|
127
129
|
static readonly __checklyType = "dashboard";
|
|
128
130
|
/**
|
|
129
131
|
* Constructs the Dashboard instance
|
|
@@ -134,5 +136,7 @@ export declare class Dashboard extends Construct {
|
|
|
134
136
|
* {@link https://checklyhq.com/docs/cli/constructs-reference/#dashboard Read more in the docs}
|
|
135
137
|
*/
|
|
136
138
|
constructor(logicalId: string, props: DashboardProps);
|
|
139
|
+
validate(diagnostics: Diagnostics): Promise<void>;
|
|
140
|
+
bundle(): Promise<DashboardBundle>;
|
|
137
141
|
synthesize(): any | null;
|
|
138
142
|
}
|
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
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;
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
4
|
};
|
|
25
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
6
|
exports.Dashboard = void 0;
|
|
27
|
-
const
|
|
7
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
28
8
|
const construct_1 = require("./construct");
|
|
29
9
|
const project_1 = require("./project");
|
|
30
|
-
const
|
|
10
|
+
const construct_diagnostics_1 = require("./construct-diagnostics");
|
|
11
|
+
const dashboard_bundle_1 = require("./dashboard-bundle");
|
|
31
12
|
/**
|
|
32
13
|
* Creates a Dashboard
|
|
33
14
|
*
|
|
@@ -90,32 +71,45 @@ class Dashboard extends construct_1.Construct {
|
|
|
90
71
|
this.isPrivate = props.isPrivate;
|
|
91
72
|
this.showP95 = props.showP95;
|
|
92
73
|
this.showP99 = props.showP99;
|
|
93
|
-
|
|
94
|
-
|
|
74
|
+
project_1.Session.registerConstruct(this);
|
|
75
|
+
}
|
|
76
|
+
async validate(diagnostics) {
|
|
77
|
+
if (!this.customUrl && !this.customDomain) {
|
|
78
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('customUrl', new Error(`Required unless "customDomain" is set.`)));
|
|
79
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('customDomain', new Error(`Required unless "customUrl" is set.`)));
|
|
95
80
|
}
|
|
96
|
-
if (
|
|
97
|
-
if (
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
absoluteEntrypoint = path.join(path.dirname(project_1.Session.checkFileAbsolutePath), entrypoint);
|
|
81
|
+
if (this.customCSS) {
|
|
82
|
+
if (!(0, construct_1.isEntrypoint)(this.customCSS) && !(0, construct_1.isContent)(this.customCSS)) {
|
|
83
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('customCSS', new Error(`Either "entrypoint" or "content" is required.`)));
|
|
84
|
+
}
|
|
85
|
+
else if ((0, construct_1.isEntrypoint)(this.customCSS) && (0, construct_1.isContent)(this.customCSS)) {
|
|
86
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('customCSS', new Error(`Provide exactly one of "entrypoint" or "content", but not both.`)));
|
|
87
|
+
}
|
|
88
|
+
else if ((0, construct_1.isEntrypoint)(this.customCSS)) {
|
|
89
|
+
const entrypoint = this.resolveContentFilePath(this.customCSS.entrypoint);
|
|
90
|
+
try {
|
|
91
|
+
await promises_1.default.access(entrypoint, promises_1.default.constants.R_OK);
|
|
108
92
|
}
|
|
109
|
-
|
|
110
|
-
|
|
93
|
+
catch (err) {
|
|
94
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('customCSS', new Error(`Unable to access file "${entrypoint}": ${err.message}`, { cause: err })));
|
|
111
95
|
}
|
|
112
|
-
this.customCSS = String(fs.readFileSync(absoluteEntrypoint));
|
|
113
|
-
}
|
|
114
|
-
else if ('content' in props.customCSS) {
|
|
115
|
-
this.customCSS = props.customCSS.content;
|
|
116
96
|
}
|
|
117
97
|
}
|
|
118
|
-
|
|
98
|
+
}
|
|
99
|
+
async bundle() {
|
|
100
|
+
const customCSS = await (async () => {
|
|
101
|
+
if (this.customCSS) {
|
|
102
|
+
if ((0, construct_1.isEntrypoint)(this.customCSS)) {
|
|
103
|
+
const entrypoint = this.resolveContentFilePath(this.customCSS.entrypoint);
|
|
104
|
+
const content = await promises_1.default.readFile(entrypoint);
|
|
105
|
+
return content.toString('utf8');
|
|
106
|
+
}
|
|
107
|
+
return this.customCSS.content;
|
|
108
|
+
}
|
|
109
|
+
})();
|
|
110
|
+
return new dashboard_bundle_1.DashboardBundle(this, {
|
|
111
|
+
customCSS,
|
|
112
|
+
});
|
|
119
113
|
}
|
|
120
114
|
synthesize() {
|
|
121
115
|
return {
|
|
@@ -137,7 +131,6 @@ class Dashboard extends construct_1.Construct {
|
|
|
137
131
|
enableIncidents: this.enableIncidents,
|
|
138
132
|
expandChecks: this.expandChecks,
|
|
139
133
|
showHeader: this.showHeader,
|
|
140
|
-
customCSS: this.customCSS,
|
|
141
134
|
isPrivate: this.isPrivate,
|
|
142
135
|
showP95: this.showP95,
|
|
143
136
|
showP99: this.showP99,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/constructs/dashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/constructs/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface DiagnosticOptions {
|
|
2
|
+
title: string;
|
|
3
|
+
message: string;
|
|
4
|
+
}
|
|
5
|
+
export declare abstract class Diagnostic {
|
|
6
|
+
title: string;
|
|
7
|
+
message: string;
|
|
8
|
+
constructor(options: DiagnosticOptions);
|
|
9
|
+
abstract isFatal(): boolean;
|
|
10
|
+
abstract isBenign(): boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ErrorDiagnosticOptions extends DiagnosticOptions {
|
|
13
|
+
error: any;
|
|
14
|
+
}
|
|
15
|
+
export declare class ErrorDiagnostic extends Diagnostic {
|
|
16
|
+
error: any;
|
|
17
|
+
constructor(options: ErrorDiagnosticOptions);
|
|
18
|
+
isFatal(): boolean;
|
|
19
|
+
isBenign(): boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare class WarningDiagnostic extends Diagnostic {
|
|
22
|
+
isFatal(): boolean;
|
|
23
|
+
isBenign(): boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare class NoticeDiagnostic extends Diagnostic {
|
|
26
|
+
isFatal(): boolean;
|
|
27
|
+
isBenign(): boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare class Diagnostics {
|
|
30
|
+
#private;
|
|
31
|
+
observations: Diagnostic[];
|
|
32
|
+
isFatal(): boolean;
|
|
33
|
+
isBenign(): boolean;
|
|
34
|
+
add(diagnostic: Diagnostic): void;
|
|
35
|
+
extend(...diagnostics: Diagnostics[]): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Diagnostics = exports.NoticeDiagnostic = exports.WarningDiagnostic = exports.ErrorDiagnostic = exports.Diagnostic = void 0;
|
|
4
|
+
class Diagnostic {
|
|
5
|
+
title;
|
|
6
|
+
message;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.title = options.title;
|
|
9
|
+
this.message = options.message;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.Diagnostic = Diagnostic;
|
|
13
|
+
class ErrorDiagnostic extends Diagnostic {
|
|
14
|
+
error;
|
|
15
|
+
constructor(options) {
|
|
16
|
+
super(options);
|
|
17
|
+
this.error = options.error;
|
|
18
|
+
}
|
|
19
|
+
isFatal() {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
isBenign() {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ErrorDiagnostic = ErrorDiagnostic;
|
|
27
|
+
class WarningDiagnostic extends Diagnostic {
|
|
28
|
+
isFatal() {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
isBenign() {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.WarningDiagnostic = WarningDiagnostic;
|
|
36
|
+
class NoticeDiagnostic extends Diagnostic {
|
|
37
|
+
isFatal() {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
isBenign() {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.NoticeDiagnostic = NoticeDiagnostic;
|
|
45
|
+
class Diagnostics {
|
|
46
|
+
observations = [];
|
|
47
|
+
#fatal = false;
|
|
48
|
+
#benign = true;
|
|
49
|
+
isFatal() {
|
|
50
|
+
return this.#fatal;
|
|
51
|
+
}
|
|
52
|
+
isBenign() {
|
|
53
|
+
return this.#benign;
|
|
54
|
+
}
|
|
55
|
+
add(diagnostic) {
|
|
56
|
+
this.observations.push(diagnostic);
|
|
57
|
+
this.#fatal ||= diagnostic.isFatal();
|
|
58
|
+
this.#benign &&= diagnostic.isBenign();
|
|
59
|
+
}
|
|
60
|
+
extend(...diagnostics) {
|
|
61
|
+
for (const diags of diagnostics) {
|
|
62
|
+
for (const observation of diags.observations) {
|
|
63
|
+
this.add(observation);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.Diagnostics = Diagnostics;
|
|
69
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/constructs/diagnostics.ts"],"names":[],"mappings":";;;AAKA,MAAsB,UAAU;IAC9B,KAAK,CAAQ;IACb,OAAO,CAAQ;IAEf,YAAa,OAA0B;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAChC,CAAC;CAIF;AAXD,gCAWC;AAMD,MAAa,eAAgB,SAAQ,UAAU;IAC7C,KAAK,CAAK;IAEV,YAAa,OAA+B;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAfD,0CAeC;AAED,MAAa,iBAAkB,SAAQ,UAAU;IAC/C,OAAO;QACL,OAAO,KAAK,CAAA;IACd,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AARD,8CAQC;AAED,MAAa,gBAAiB,SAAQ,UAAU;IAC9C,OAAO;QACL,OAAO,KAAK,CAAA;IACd,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AARD,4CAQC;AAED,MAAa,WAAW;IACtB,YAAY,GAAiB,EAAE,CAAA;IAC/B,MAAM,GAAG,KAAK,CAAA;IACd,OAAO,GAAG,IAAI,CAAA;IAEd,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,GAAG,CAAE,UAAsB;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,EAAE,CAAA;QACpC,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAA;IACxC,CAAC;IAED,MAAM,CAAE,GAAG,WAA0B;QACnC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA1BD,kCA0BC"}
|
package/dist/constructs/index.js
CHANGED
|
@@ -49,4 +49,5 @@ __exportStar(require("./status-page"), exports);
|
|
|
49
49
|
__exportStar(require("./status-page-service"), exports);
|
|
50
50
|
__exportStar(require("./incident"), exports);
|
|
51
51
|
__exportStar(require("./playwright-check"), exports);
|
|
52
|
+
__exportStar(require("./diagnostics"), exports);
|
|
52
53
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constructs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,sDAAmC;AACnC,wDAAqC;AACrC,wDAAqC;AACrC,2DAAwC;AACxC,4DAAyC;AACzC,0DAAuC;AACvC,8CAA2B;AAC3B,kDAA+B;AAC/B,oDAAiC;AACjC,gDAA6B;AAC7B,+DAA4C;AAC5C,yDAAsC;AACtC,gDAA6B;AAC7B,gDAA6B;AAC7B,8CAA2B;AAC3B,uDAAoC;AACpC,kDAA+B;AAC/B,qDAAkC;AAClC,sEAAmD;AACnD,sEAAmD;AACnD,0CAAuB;AACvB,8CAA2B;AAC3B,6DAA0C;AAC1C,mDAAgC;AAChC,qDAAkC;AAClC,4DAAyC;AACzC,8CAA2B;AAC3B,6DAA0C;AAC1C,0DAAuC;AACvC,2DAAwC;AACxC,gDAA6B;AAC7B,wDAAqC;AACrC,6CAA0B;AAC1B,qDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constructs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,sDAAmC;AACnC,wDAAqC;AACrC,wDAAqC;AACrC,2DAAwC;AACxC,4DAAyC;AACzC,0DAAuC;AACvC,8CAA2B;AAC3B,kDAA+B;AAC/B,oDAAiC;AACjC,gDAA6B;AAC7B,+DAA4C;AAC5C,yDAAsC;AACtC,gDAA6B;AAC7B,gDAA6B;AAC7B,8CAA2B;AAC3B,uDAAoC;AACpC,kDAA+B;AAC/B,qDAAkC;AAClC,sEAAmD;AACnD,sEAAmD;AACnD,0CAAuB;AACvB,8CAA2B;AAC3B,6DAA0C;AAC1C,mDAAgC;AAChC,qDAAkC;AAClC,4DAAyC;AACzC,8CAA2B;AAC3B,6DAA0C;AAC1C,0DAAuC;AACvC,2DAAwC;AACxC,gDAA6B;AAC7B,wDAAqC;AACrC,6CAA0B;AAC1B,qDAAkC;AAClC,gDAA6B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Bundle } from './construct';
|
|
2
|
+
import { MultiStepCheck } from './multi-step-check';
|
|
3
|
+
import { SharedFileRef } from './project';
|
|
4
|
+
export interface MultiStepCheckBundleProps {
|
|
5
|
+
script: string;
|
|
6
|
+
scriptPath?: string;
|
|
7
|
+
dependencies?: SharedFileRef[];
|
|
8
|
+
}
|
|
9
|
+
export declare class MultiStepCheckBundle implements Bundle {
|
|
10
|
+
multiStepCheck: MultiStepCheck;
|
|
11
|
+
script: string;
|
|
12
|
+
scriptPath?: string;
|
|
13
|
+
dependencies?: SharedFileRef[];
|
|
14
|
+
constructor(multiStepCheck: MultiStepCheck, props: MultiStepCheckBundleProps);
|
|
15
|
+
synthesize(): {
|
|
16
|
+
script: string;
|
|
17
|
+
scriptPath: string | undefined;
|
|
18
|
+
dependencies: number[] | undefined;
|
|
19
|
+
checkType: string;
|
|
20
|
+
playwrightConfig: import("./playwright-config").PlaywrightConfig | undefined;
|
|
21
|
+
name: string;
|
|
22
|
+
activated: boolean | undefined;
|
|
23
|
+
muted: boolean | undefined;
|
|
24
|
+
shouldFail: boolean | undefined;
|
|
25
|
+
runtimeId: string | undefined;
|
|
26
|
+
locations: (keyof import("..").Region)[] | undefined;
|
|
27
|
+
privateLocations: undefined;
|
|
28
|
+
tags: string[] | undefined;
|
|
29
|
+
frequency: number | undefined;
|
|
30
|
+
frequencyOffset: number | undefined;
|
|
31
|
+
groupId: import("./ref").Ref | undefined;
|
|
32
|
+
environmentVariables: import("./key-value-pair").default[] | undefined;
|
|
33
|
+
retryStrategy: import("./retry-strategy").RetryStrategy | null | undefined;
|
|
34
|
+
doubleCheck: boolean | undefined;
|
|
35
|
+
alertSettings: import("./alert-escalation-policy").AlertEscalation | undefined;
|
|
36
|
+
useGlobalAlertSettings: boolean | undefined;
|
|
37
|
+
runParallel: boolean | undefined;
|
|
38
|
+
triggerIncident: {
|
|
39
|
+
serviceId: import("./ref").Ref;
|
|
40
|
+
severity: "MINOR" | "MEDIUM" | "MAJOR" | "CRITICAL";
|
|
41
|
+
name: string;
|
|
42
|
+
description: string;
|
|
43
|
+
notifySubscribers: boolean;
|
|
44
|
+
} | undefined;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultiStepCheckBundle = void 0;
|
|
4
|
+
class MultiStepCheckBundle {
|
|
5
|
+
multiStepCheck;
|
|
6
|
+
script;
|
|
7
|
+
scriptPath;
|
|
8
|
+
dependencies;
|
|
9
|
+
constructor(multiStepCheck, props) {
|
|
10
|
+
this.multiStepCheck = multiStepCheck;
|
|
11
|
+
this.script = props.script;
|
|
12
|
+
this.scriptPath = props.scriptPath;
|
|
13
|
+
this.dependencies = props.dependencies;
|
|
14
|
+
}
|
|
15
|
+
synthesize() {
|
|
16
|
+
return {
|
|
17
|
+
...this.multiStepCheck.synthesize(),
|
|
18
|
+
script: this.script,
|
|
19
|
+
scriptPath: this.scriptPath,
|
|
20
|
+
dependencies: this.dependencies,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.MultiStepCheckBundle = MultiStepCheckBundle;
|
|
25
|
+
//# sourceMappingURL=multi-step-check-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-step-check-bundle.js","sourceRoot":"","sources":["../../src/constructs/multi-step-check-bundle.ts"],"names":[],"mappings":";;;AAUA,MAAa,oBAAoB;IAC/B,cAAc,CAAgB;IAC9B,MAAM,CAAQ;IACd,UAAU,CAAS;IACnB,YAAY,CAAkB;IAE9B,YAAa,cAA8B,EAAE,KAAgC;QAC3E,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;IACxC,CAAC;IAED,UAAU;QACR,OAAO;YACL,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAA;IACH,CAAC;CACF;AArBD,oDAqBC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Check, CheckProps } from './check';
|
|
2
2
|
import { Content, Entrypoint } from './construct';
|
|
3
|
-
import { CheckDependency } from './browser-check';
|
|
4
3
|
import { PlaywrightConfig } from './playwright-config';
|
|
4
|
+
import { Diagnostics } from './diagnostics';
|
|
5
|
+
import { MultiStepCheckBundle } from './multi-step-check-bundle';
|
|
5
6
|
export interface MultiStepCheckProps extends CheckProps {
|
|
6
7
|
/**
|
|
7
8
|
* A valid piece of Node.js javascript code describing a multi-step interaction
|
|
@@ -18,10 +19,8 @@ export interface MultiStepCheckProps extends CheckProps {
|
|
|
18
19
|
* This class make use of the multi-step checks endpoints.
|
|
19
20
|
*/
|
|
20
21
|
export declare class MultiStepCheck extends Check {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
dependencies?: Array<CheckDependency>;
|
|
24
|
-
playwrightConfig?: PlaywrightConfig;
|
|
22
|
+
readonly code: Content | Entrypoint;
|
|
23
|
+
readonly playwrightConfig?: PlaywrightConfig;
|
|
25
24
|
/**
|
|
26
25
|
* Constructs the multi-step instance
|
|
27
26
|
*
|
|
@@ -30,19 +29,18 @@ export declare class MultiStepCheck extends Check {
|
|
|
30
29
|
* {@link https://checklyhq.com/docs/cli/constructs-reference/#multistepcheck Read more in the docs}
|
|
31
30
|
*/
|
|
32
31
|
constructor(logicalId: string, props: MultiStepCheckProps);
|
|
32
|
+
validate(diagnostics: Diagnostics): Promise<void>;
|
|
33
33
|
private static applyDefaultMultiStepCheckGroupConfig;
|
|
34
34
|
private static applyDefaultMultiStepCheckConfig;
|
|
35
|
-
static bundle(entry: string, runtimeId?: string): {
|
|
35
|
+
static bundle(entry: string, runtimeId?: string): Promise<{
|
|
36
36
|
script: string;
|
|
37
37
|
scriptPath: string;
|
|
38
|
-
dependencies:
|
|
39
|
-
}
|
|
38
|
+
dependencies: number[];
|
|
39
|
+
}>;
|
|
40
40
|
getSourceFile(): string | undefined;
|
|
41
|
+
bundle(): Promise<MultiStepCheckBundle>;
|
|
41
42
|
synthesize(): {
|
|
42
43
|
checkType: string;
|
|
43
|
-
script: string;
|
|
44
|
-
scriptPath: string | undefined;
|
|
45
|
-
dependencies: CheckDependency[] | undefined;
|
|
46
44
|
playwrightConfig: PlaywrightConfig | undefined;
|
|
47
45
|
name: string;
|
|
48
46
|
activated: boolean | undefined;
|
|
@@ -1,37 +1,16 @@
|
|
|
1
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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
6
|
exports.MultiStepCheck = void 0;
|
|
30
|
-
const
|
|
7
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
31
8
|
const check_1 = require("./check");
|
|
32
9
|
const project_1 = require("./project");
|
|
33
|
-
const
|
|
10
|
+
const construct_1 = require("./construct");
|
|
34
11
|
const constants_1 = __importDefault(require("../constants"));
|
|
12
|
+
const construct_diagnostics_1 = require("./construct-diagnostics");
|
|
13
|
+
const multi_step_check_bundle_1 = require("./multi-step-check-bundle");
|
|
35
14
|
/**
|
|
36
15
|
* Creates a multi-step Check
|
|
37
16
|
*
|
|
@@ -40,9 +19,7 @@ const constants_1 = __importDefault(require("../constants"));
|
|
|
40
19
|
* This class make use of the multi-step checks endpoints.
|
|
41
20
|
*/
|
|
42
21
|
class MultiStepCheck extends check_1.Check {
|
|
43
|
-
|
|
44
|
-
scriptPath;
|
|
45
|
-
dependencies;
|
|
22
|
+
code;
|
|
46
23
|
playwrightConfig;
|
|
47
24
|
/**
|
|
48
25
|
* Constructs the multi-step instance
|
|
@@ -57,41 +34,37 @@ class MultiStepCheck extends check_1.Check {
|
|
|
57
34
|
}
|
|
58
35
|
MultiStepCheck.applyDefaultMultiStepCheckConfig(props);
|
|
59
36
|
super(logicalId, props);
|
|
37
|
+
this.code = props.code;
|
|
60
38
|
this.playwrightConfig = props.playwrightConfig;
|
|
61
|
-
|
|
62
|
-
|
|
39
|
+
project_1.Session.registerConstruct(this);
|
|
40
|
+
this.addSubscriptions();
|
|
41
|
+
this.addPrivateLocationCheckAssignments();
|
|
42
|
+
}
|
|
43
|
+
async validate(diagnostics) {
|
|
44
|
+
if (!(0, construct_1.isEntrypoint)(this.code) && !(0, construct_1.isContent)(this.code)) {
|
|
45
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('code', new Error(`Either "entrypoint" or "content" is required.`)));
|
|
63
46
|
}
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
this.script = script;
|
|
47
|
+
else if ((0, construct_1.isEntrypoint)(this.code) && (0, construct_1.isContent)(this.code)) {
|
|
48
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('code', new Error(`Provide exactly one of "entrypoint" or "content", but not both.`)));
|
|
67
49
|
}
|
|
68
|
-
else if (
|
|
69
|
-
const entrypoint =
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
else {
|
|
75
|
-
if (!project_1.Session.checkFileAbsolutePath) {
|
|
76
|
-
throw new Error('You cannot use relative paths without the checkFileAbsolutePath in session');
|
|
50
|
+
else if ((0, construct_1.isEntrypoint)(this.code)) {
|
|
51
|
+
const entrypoint = this.resolveContentFilePath(this.code.entrypoint);
|
|
52
|
+
try {
|
|
53
|
+
const stats = await promises_1.default.stat(entrypoint);
|
|
54
|
+
if (stats.size === 0) {
|
|
55
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('code', new Error(`The entrypoint file "${entrypoint}" must not be empty.`)));
|
|
77
56
|
}
|
|
78
|
-
absoluteEntrypoint = path.join(path.dirname(project_1.Session.checkFileAbsolutePath), entrypoint);
|
|
79
57
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (!bundle.script) {
|
|
83
|
-
throw new Error(`Multi-Step check "${logicalId}" is not allowed to be empty`);
|
|
58
|
+
catch (err) {
|
|
59
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('code', new Error(`Unable to access entrypoint file "${entrypoint}": ${err.message}`, { cause: err })));
|
|
84
60
|
}
|
|
85
|
-
this.script = bundle.script;
|
|
86
|
-
this.scriptPath = bundle.scriptPath;
|
|
87
|
-
this.dependencies = bundle.dependencies;
|
|
88
61
|
}
|
|
89
|
-
|
|
90
|
-
|
|
62
|
+
const runtime = project_1.Session.getRuntime(this.runtimeId);
|
|
63
|
+
if (runtime) {
|
|
64
|
+
if (!runtime.multiStepSupport) {
|
|
65
|
+
diagnostics.add(new construct_diagnostics_1.UnsupportedRuntimeFeatureDiagnostic(runtime.name, new Error(`Multi-Step Checks are not supported.`)));
|
|
66
|
+
}
|
|
91
67
|
}
|
|
92
|
-
project_1.Session.registerConstruct(this);
|
|
93
|
-
this.addSubscriptions();
|
|
94
|
-
this.addPrivateLocationCheckAssignments();
|
|
95
68
|
}
|
|
96
69
|
static applyDefaultMultiStepCheckGroupConfig(props, groupProps) {
|
|
97
70
|
let configKey;
|
|
@@ -110,37 +83,49 @@ class MultiStepCheck extends check_1.Check {
|
|
|
110
83
|
props[configKey] = newVal;
|
|
111
84
|
}
|
|
112
85
|
}
|
|
113
|
-
static bundle(entry, runtimeId) {
|
|
86
|
+
static async bundle(entry, runtimeId) {
|
|
114
87
|
const runtime = project_1.Session.getRuntime(runtimeId);
|
|
115
88
|
if (!runtime) {
|
|
116
89
|
throw new Error(`${runtimeId} is not supported`);
|
|
117
90
|
}
|
|
118
91
|
const parser = project_1.Session.getParser(runtime);
|
|
119
|
-
const parsed = parser.parse(entry);
|
|
92
|
+
const parsed = await parser.parse(entry);
|
|
120
93
|
// Maybe we can get the parsed deps with the content immediately
|
|
121
94
|
const deps = [];
|
|
122
95
|
for (const { filePath, content } of parsed.dependencies) {
|
|
123
|
-
deps.push({
|
|
124
|
-
path:
|
|
96
|
+
deps.push(project_1.Session.registerSharedFile({
|
|
97
|
+
path: project_1.Session.relativePosixPath(filePath),
|
|
125
98
|
content,
|
|
126
|
-
});
|
|
99
|
+
}));
|
|
127
100
|
}
|
|
128
101
|
return {
|
|
129
102
|
script: parsed.entrypoint.content,
|
|
130
|
-
scriptPath:
|
|
103
|
+
scriptPath: project_1.Session.relativePosixPath(parsed.entrypoint.filePath),
|
|
131
104
|
dependencies: deps,
|
|
132
105
|
};
|
|
133
106
|
}
|
|
134
107
|
getSourceFile() {
|
|
135
|
-
return this.__checkFilePath
|
|
108
|
+
return this.__checkFilePath;
|
|
109
|
+
}
|
|
110
|
+
async bundle() {
|
|
111
|
+
return new multi_step_check_bundle_1.MultiStepCheckBundle(this, await (async () => {
|
|
112
|
+
if ((0, construct_1.isEntrypoint)(this.code)) {
|
|
113
|
+
const bundle = await MultiStepCheck.bundle(this.resolveContentFilePath(this.code.entrypoint), this.runtimeId);
|
|
114
|
+
if (!bundle.script) {
|
|
115
|
+
throw new Error(`The "code" property must not point to an empty file.`);
|
|
116
|
+
}
|
|
117
|
+
return bundle;
|
|
118
|
+
}
|
|
119
|
+
const script = this.code.content;
|
|
120
|
+
return {
|
|
121
|
+
script,
|
|
122
|
+
};
|
|
123
|
+
})());
|
|
136
124
|
}
|
|
137
125
|
synthesize() {
|
|
138
126
|
return {
|
|
139
127
|
...super.synthesize(),
|
|
140
128
|
checkType: constants_1.default.MULTI_STEP,
|
|
141
|
-
script: this.script,
|
|
142
|
-
scriptPath: this.scriptPath,
|
|
143
|
-
dependencies: this.dependencies,
|
|
144
129
|
playwrightConfig: this.playwrightConfig,
|
|
145
130
|
};
|
|
146
131
|
}
|