@elastic/synthetics 1.5.3 → 1.7.0
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/bundles/lib/index.js +186 -192
- package/dist/common_types.d.ts +1 -0
- package/dist/common_types.d.ts.map +1 -1
- package/dist/core/index.d.ts +4 -4
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +17 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/runner.d.ts.map +1 -1
- package/dist/core/runner.js +23 -3
- package/dist/core/runner.js.map +1 -1
- package/dist/core/transform.d.ts +2 -18
- package/dist/core/transform.d.ts.map +1 -1
- package/dist/core/transform.js +0 -3
- package/dist/core/transform.js.map +1 -1
- package/dist/dsl/journey.d.ts +13 -0
- package/dist/dsl/journey.d.ts.map +1 -1
- package/dist/dsl/journey.js +2 -0
- package/dist/dsl/journey.js.map +1 -1
- package/dist/dsl/step.d.ts +19 -0
- package/dist/dsl/step.d.ts.map +1 -1
- package/dist/dsl/step.js +3 -0
- package/dist/dsl/step.js.map +1 -1
- package/dist/formatter/javascript.d.ts.map +1 -1
- package/dist/formatter/javascript.js +2 -11
- package/dist/formatter/javascript.js.map +1 -1
- package/dist/helpers.js +1 -1
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/push/bundler.d.ts.map +1 -1
- package/dist/push/bundler.js +4 -2
- package/dist/push/bundler.js.map +1 -1
- package/dist/push/request.d.ts.map +1 -1
- package/dist/push/request.js +1 -0
- package/dist/push/request.js.map +1 -1
- package/dist/reporters/base.d.ts +1 -0
- package/dist/reporters/base.d.ts.map +1 -1
- package/dist/reporters/base.js +2 -0
- package/dist/reporters/base.js.map +1 -1
- package/dist/reporters/build_kite_cli.d.ts +39 -0
- package/dist/reporters/build_kite_cli.d.ts.map +1 -0
- package/dist/reporters/build_kite_cli.js +111 -0
- package/dist/reporters/build_kite_cli.js.map +1 -0
- package/dist/reporters/index.d.ts +1 -1
- package/dist/reporters/index.d.ts.map +1 -1
- package/dist/reporters/index.js +2 -0
- package/dist/reporters/index.js.map +1 -1
- package/package.json +8 -5
- package/src/common_types.ts +1 -0
- package/src/core/index.ts +47 -21
- package/src/core/runner.ts +28 -3
- package/src/core/transform.ts +0 -3
- package/src/dsl/journey.ts +18 -0
- package/src/dsl/step.ts +20 -0
- package/src/formatter/javascript.ts +2 -11
- package/src/helpers.ts +1 -1
- package/src/index.ts +17 -1
- package/src/push/bundler.ts +4 -2
- package/src/push/request.ts +1 -0
- package/src/reporters/base.ts +1 -1
- package/src/reporters/build_kite_cli.ts +111 -0
- package/src/reporters/index.ts +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../src/push/bundler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../src/push/bundler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAiBH,qBAAa,OAAO;IAClB,SAAS,sBAA6B;;IAGhC,OAAO,CAAC,OAAO,EAAE,MAAM;IAoBvB,GAAG,CAAC,UAAU,EAAE,MAAM;IAsBtB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IASnC,MAAM,CAAC,UAAU,EAAE,MAAM;IAIzB,SAAS,CAAC,UAAU,EAAE,MAAM;IAU5B,OAAO,CAAC,UAAU,EAAE,MAAM;CAIjC"}
|
package/dist/push/bundler.js
CHANGED
|
@@ -58,7 +58,8 @@ const esbuild = __importStar(require("esbuild"));
|
|
|
58
58
|
const archiver_1 = __importDefault(require("archiver"));
|
|
59
59
|
const transform_1 = require("../core/transform");
|
|
60
60
|
const plugin_1 = require("./plugin");
|
|
61
|
-
|
|
61
|
+
// 1500KB Max Gzipped limit for bundled code to be pushed as Kibana project monitors.
|
|
62
|
+
const SIZE_LIMIT_KB = 1500;
|
|
62
63
|
function relativeToCwd(entry) {
|
|
63
64
|
return path_1.default.relative(process.cwd(), entry);
|
|
64
65
|
}
|
|
@@ -72,6 +73,7 @@ class Bundler {
|
|
|
72
73
|
entryPoints: [absPath],
|
|
73
74
|
bundle: true,
|
|
74
75
|
write: false,
|
|
76
|
+
minifyWhitespace: true,
|
|
75
77
|
sourcemap: 'inline',
|
|
76
78
|
external: ['@elastic/synthetics'],
|
|
77
79
|
plugins: [(0, plugin_1.SyntheticsBundlePlugin)()],
|
|
@@ -119,7 +121,7 @@ class Bundler {
|
|
|
119
121
|
const { size } = await (0, promises_1.stat)(outputPath);
|
|
120
122
|
const sizeKb = size / 1024;
|
|
121
123
|
if (sizeKb > SIZE_LIMIT_KB) {
|
|
122
|
-
throw new Error(`
|
|
124
|
+
throw new Error(`Bundled monitor code exceeds the recommended ${SIZE_LIMIT_KB}KB limit. Please check your dependencies and try again.`);
|
|
123
125
|
}
|
|
124
126
|
}
|
|
125
127
|
async cleanup(outputPath) {
|
package/dist/push/bundler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../src/push/bundler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAwB;AACxB,0CAAqD;AACrD,2BAAuC;AACvC,iDAAmC;AACnC,wDAAgC;AAChC,iDAAkD;AAClD,qCAAkD;AAElD,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../src/push/bundler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/push/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAOzC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,WAAW,CAAC,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/push/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAOzC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,WAAW,CAAC,OAAO,EAAE,iBAAiB,oCAc3D;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,CAAC,CAAC,CAKZ;AAUD,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,GACpC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAkB1C;AAED,wBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,WAEpC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAM/D;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,UAShB;AAcD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,UAG7D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,UAG5D"}
|
package/dist/push/request.js
CHANGED
|
@@ -39,6 +39,7 @@ async function sendRequest(options) {
|
|
|
39
39
|
'content-type': 'application/json',
|
|
40
40
|
'user-agent': `Elastic/Synthetics ${version}`,
|
|
41
41
|
'kbn-xsrf': 'true',
|
|
42
|
+
'x-elastic-internal-origin': 'elastic-synthetics',
|
|
42
43
|
},
|
|
43
44
|
// align with the default timeout of the kibana route
|
|
44
45
|
headersTimeout: 2 * 60 * 1000,
|
package/dist/push/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/push/request.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,yCAAiD;AAEjD,mCAAiC;AACjC,wCAA6C;AAE7C,uDAAuD;AACvD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAS3C,KAAK,UAAU,WAAW,CAAC,OAA0B;IAC1D,OAAO,MAAM,IAAA,gBAAO,EAAC,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,OAAO,CAAC,IAAI,EAAE;YACvC,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,sBAAsB,OAAO,EAAE;YAC7C,UAAU,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/push/request.ts"],"names":[],"mappings":"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"}
|
package/dist/reporters/base.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ import SonicBoom from 'sonic-boom';
|
|
|
26
26
|
import { Reporter, ReporterOptions } from '.';
|
|
27
27
|
import { JourneyEndResult, JourneyStartResult, StepEndResult } from '../common_types';
|
|
28
28
|
import { Journey, Step } from '../dsl';
|
|
29
|
+
export declare function renderDuration(durationMs: any): number;
|
|
29
30
|
export default class BaseReporter implements Reporter {
|
|
30
31
|
stream: SonicBoom;
|
|
31
32
|
fd: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEvC,wBAAgB,cAAc,CAAC,UAAU,KAAA,UAExC;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,QAAQ;IACnD,MAAM,EAAE,SAAS,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO;;;;;MAKL;gBAEU,OAAO,GAAE,eAAoB;IAWzC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKzC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,kBAAkB;IAIvD,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa;IAcvD,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,gBAAgB;IAapD,KAAK;IA6BL,KAAK,CAAC,OAAO,KAAA;CAMd"}
|
package/dist/reporters/base.js
CHANGED
|
@@ -27,6 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.renderDuration = void 0;
|
|
30
31
|
const sonic_boom_1 = __importDefault(require("sonic-boom"));
|
|
31
32
|
const colors_1 = require("kleur/colors");
|
|
32
33
|
const reporter_util_1 = require("./reporter-util");
|
|
@@ -34,6 +35,7 @@ const helpers_1 = require("../helpers");
|
|
|
34
35
|
function renderDuration(durationMs) {
|
|
35
36
|
return parseInt(durationMs);
|
|
36
37
|
}
|
|
38
|
+
exports.renderDuration = renderDuration;
|
|
37
39
|
class BaseReporter {
|
|
38
40
|
stream;
|
|
39
41
|
fd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIT License
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2020-present, Elastic NV
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
|
14
|
+
* all copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
+
* THE SOFTWARE.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
import { ReporterOptions } from '.';
|
|
26
|
+
import BaseReporter from './base';
|
|
27
|
+
import { JourneyEndResult, JourneyStartResult, StepEndResult } from '../common_types';
|
|
28
|
+
import { Journey, Step } from '../dsl';
|
|
29
|
+
export default class BuildKiteCLIReporter extends BaseReporter {
|
|
30
|
+
journeys: Map<string, Array<StepEndResult & {
|
|
31
|
+
name: string;
|
|
32
|
+
}>>;
|
|
33
|
+
constructor(options?: ReporterOptions);
|
|
34
|
+
onJourneyStart(journey: Journey, {}: JourneyStartResult): void;
|
|
35
|
+
onStepEnd(journey: Journey, step: Step, result: StepEndResult): void;
|
|
36
|
+
onJourneyEnd(journey: Journey, endResult: JourneyEndResult): Promise<void>;
|
|
37
|
+
onEnd(): void;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=build_kite_cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build_kite_cli.d.ts","sourceRoot":"","sources":["../../src/reporters/build_kite_cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAEpC,OAAO,YAAgC,MAAM,QAAQ,CAAC;AAEtD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IAC5D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAa;gBAE/D,OAAO,GAAE,eAAoB;IAIhC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,kBAAkB;IAIvD,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa;IAQvD,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB;IAShE,KAAK;CA4Cf"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MIT License
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2020-present, Elastic NV
|
|
6
|
+
*
|
|
7
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
* in the Software without restriction, including without limitation the rights
|
|
10
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
* furnished to do so, subject to the following conditions:
|
|
13
|
+
*
|
|
14
|
+
* The above copyright notice and this permission notice shall be included in
|
|
15
|
+
* all copies or substantial portions of the Software.
|
|
16
|
+
*
|
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
+
* THE SOFTWARE.
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
27
|
+
if (k2 === undefined) k2 = k;
|
|
28
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
29
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
30
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
31
|
+
}
|
|
32
|
+
Object.defineProperty(o, k2, desc);
|
|
33
|
+
}) : (function(o, m, k, k2) {
|
|
34
|
+
if (k2 === undefined) k2 = k;
|
|
35
|
+
o[k2] = m[k];
|
|
36
|
+
}));
|
|
37
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
38
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
39
|
+
}) : function(o, v) {
|
|
40
|
+
o["default"] = v;
|
|
41
|
+
});
|
|
42
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
43
|
+
if (mod && mod.__esModule) return mod;
|
|
44
|
+
var result = {};
|
|
45
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
46
|
+
__setModuleDefault(result, mod);
|
|
47
|
+
return result;
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
const colors_1 = require("kleur/colors");
|
|
51
|
+
const base_1 = __importStar(require("./base"));
|
|
52
|
+
const helpers_1 = require("../helpers");
|
|
53
|
+
const reporter_util_1 = require("./reporter-util");
|
|
54
|
+
class BuildKiteCLIReporter extends base_1.default {
|
|
55
|
+
journeys = new Map();
|
|
56
|
+
constructor(options = {}) {
|
|
57
|
+
super(options);
|
|
58
|
+
}
|
|
59
|
+
onJourneyStart(journey, {}) {
|
|
60
|
+
this.write(`\n--- Journey: ${journey.name}`);
|
|
61
|
+
}
|
|
62
|
+
onStepEnd(journey, step, result) {
|
|
63
|
+
super.onStepEnd(journey, step, result);
|
|
64
|
+
if (!this.journeys.has(journey.name)) {
|
|
65
|
+
this.journeys.set(journey.name, []);
|
|
66
|
+
}
|
|
67
|
+
this.journeys.get(journey.name)?.push({ name: step.name, ...result });
|
|
68
|
+
}
|
|
69
|
+
async onJourneyEnd(journey, endResult) {
|
|
70
|
+
const { start, end, status } = endResult;
|
|
71
|
+
super.onJourneyEnd(journey, endResult);
|
|
72
|
+
const message = `${helpers_1.symbols[status]} Took (${(0, base_1.renderDuration)(end - start)} seconds)`;
|
|
73
|
+
this.write(message);
|
|
74
|
+
}
|
|
75
|
+
onEnd() {
|
|
76
|
+
const { failed, succeeded, skipped } = this.metrics;
|
|
77
|
+
const total = failed + succeeded + skipped;
|
|
78
|
+
if (total > 0) {
|
|
79
|
+
const failedJourneys = Array.from(this.journeys.entries()).filter(([, steps]) => steps.some(step => step.status === 'failed'));
|
|
80
|
+
// if more than 5 journeys, we also report failed journeys at the end
|
|
81
|
+
if (failedJourneys.length > 0 && this.journeys.size > 5) {
|
|
82
|
+
failedJourneys.forEach(([journeyName, steps]) => {
|
|
83
|
+
const name = (0, colors_1.red)(`Journey: ${journeyName} :slightly_frowning_face:`);
|
|
84
|
+
this.write(`\n+++ ${name}`);
|
|
85
|
+
steps.forEach(stepResult => {
|
|
86
|
+
const { status, end, start, error, name: stepName } = stepResult;
|
|
87
|
+
const message = `${helpers_1.symbols[status]} Step: '${stepName}' ${status} (${(0, base_1.renderDuration)((end - start) * 1000)} ms)`;
|
|
88
|
+
this.write((0, helpers_1.indent)(message));
|
|
89
|
+
if (error) {
|
|
90
|
+
this.write((0, reporter_util_1.renderError)((0, reporter_util_1.serializeError)(error)));
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
let message = '\n';
|
|
97
|
+
if (total === 0) {
|
|
98
|
+
message = 'No tests found!';
|
|
99
|
+
message += ` (${(0, base_1.renderDuration)((0, helpers_1.now)())} ms) \n`;
|
|
100
|
+
this.write(message);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
message += succeeded > 0 ? (0, colors_1.green)(` ${succeeded} passed`) : '';
|
|
104
|
+
message += failed > 0 ? (0, colors_1.red)(` ${failed} failed`) : '';
|
|
105
|
+
message += skipped > 0 ? (0, colors_1.cyan)(` ${skipped} skipped`) : '';
|
|
106
|
+
message += ` (${(0, base_1.renderDuration)((0, helpers_1.now)() / 1000)} seconds) \n`;
|
|
107
|
+
this.write(message);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.default = BuildKiteCLIReporter;
|
|
111
|
+
//# sourceMappingURL=build_kite_cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build_kite_cli.js","sourceRoot":"","sources":["../../src/reporters/build_kite_cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ export type ReporterOptions = {
|
|
|
29
29
|
colors?: boolean;
|
|
30
30
|
dryRun?: boolean;
|
|
31
31
|
};
|
|
32
|
-
export type BuiltInReporterName = 'default' | 'json' | 'junit';
|
|
32
|
+
export type BuiltInReporterName = 'default' | 'json' | 'junit' | 'buildkite-cli';
|
|
33
33
|
export type ReporterInstance = new (opts: ReporterOptions) => Reporter;
|
|
34
34
|
export declare const reporters: {
|
|
35
35
|
[key in BuiltInReporterName]: ReporterInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACd,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAGzB,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,MAAM,GACN,OAAO,GACP,eAAe,CAAC;AACpB,MAAM,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE,eAAe,KAAK,QAAQ,CAAC;AACvE,eAAO,MAAM,SAAS,EAAE;KACrB,GAAG,IAAI,mBAAmB,GAAG,gBAAgB;CAM/C,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,iBAAiB,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,cAAc,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpE,WAAW,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACjD,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACtE,YAAY,CAAC,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,gBAAgB,GACvB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC"}
|
package/dist/reporters/index.js
CHANGED
|
@@ -31,9 +31,11 @@ exports.reporters = void 0;
|
|
|
31
31
|
const base_1 = __importDefault(require("./base"));
|
|
32
32
|
const json_1 = __importDefault(require("./json"));
|
|
33
33
|
const junit_1 = __importDefault(require("./junit"));
|
|
34
|
+
const build_kite_cli_1 = __importDefault(require("./build_kite_cli"));
|
|
34
35
|
exports.reporters = {
|
|
35
36
|
default: base_1.default,
|
|
36
37
|
json: json_1.default,
|
|
37
38
|
junit: junit_1.default,
|
|
39
|
+
'buildkite-cli': build_kite_cli_1.default,
|
|
38
40
|
};
|
|
39
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;AAEH,kDAAkC;AAClC,kDAAkC;AAClC,oDAAoC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;AAEH,kDAAkC;AAClC,kDAAkC;AAClC,oDAAoC;AAQpC,sEAAoD;AAavC,QAAA,SAAS,GAElB;IACF,OAAO,EAAE,cAAY;IACrB,IAAI,EAAE,cAAY;IAClB,KAAK,EAAE,eAAa;IACpB,eAAe,EAAE,wBAAoB;CACtC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elastic/synthetics",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Elastic synthetic monitoring agent",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -46,14 +46,14 @@
|
|
|
46
46
|
"commander": "^10.0.1",
|
|
47
47
|
"deepmerge": "^4.3.1",
|
|
48
48
|
"enquirer": "^2.3.6",
|
|
49
|
-
"esbuild": "^0.
|
|
49
|
+
"esbuild": "^0.19.11",
|
|
50
50
|
"http-proxy": "^1.18.1",
|
|
51
51
|
"kleur": "^4.1.5",
|
|
52
52
|
"micromatch": "^4.0.5",
|
|
53
53
|
"pirates": "^4.0.5",
|
|
54
|
-
"playwright": "=1.
|
|
55
|
-
"playwright-chromium": "=1.
|
|
56
|
-
"playwright-core": "=1.
|
|
54
|
+
"playwright": "=1.40.1",
|
|
55
|
+
"playwright-chromium": "=1.40.1",
|
|
56
|
+
"playwright-core": "=1.40.1",
|
|
57
57
|
"semver": "^7.5.4",
|
|
58
58
|
"sharp": "^0.32.6",
|
|
59
59
|
"snakecase-keys": "^4.0.1",
|
|
@@ -88,6 +88,9 @@
|
|
|
88
88
|
"typescript": "^5.1.6",
|
|
89
89
|
"unzipper": "^0.10.11"
|
|
90
90
|
},
|
|
91
|
+
"overrides": {
|
|
92
|
+
"follow-redirects": "^1.15.4"
|
|
93
|
+
},
|
|
91
94
|
"engines": {
|
|
92
95
|
"node": ">=18.12.0"
|
|
93
96
|
}
|
package/src/common_types.ts
CHANGED
package/src/core/index.ts
CHANGED
|
@@ -23,7 +23,13 @@
|
|
|
23
23
|
*
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
|
-
import {
|
|
26
|
+
import {
|
|
27
|
+
Journey,
|
|
28
|
+
JourneyCallback,
|
|
29
|
+
JourneyOptions,
|
|
30
|
+
JourneyWithAnnotations,
|
|
31
|
+
StepWithAnnotations,
|
|
32
|
+
} from '../dsl';
|
|
27
33
|
import Runner from './runner';
|
|
28
34
|
import { VoidCallback, HooksCallback, Location } from '../common_types';
|
|
29
35
|
import { wrapFnWithLocation } from '../helpers';
|
|
@@ -41,28 +47,48 @@ if (!global[SYNTHETICS_RUNNER]) {
|
|
|
41
47
|
|
|
42
48
|
export const runner: Runner = global[SYNTHETICS_RUNNER];
|
|
43
49
|
|
|
44
|
-
|
|
45
|
-
(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
const createJourney = (type?: 'skip' | 'only') =>
|
|
51
|
+
wrapFnWithLocation(
|
|
52
|
+
(
|
|
53
|
+
location: Location,
|
|
54
|
+
options: JourneyOptions | string,
|
|
55
|
+
callback: JourneyCallback
|
|
56
|
+
) => {
|
|
57
|
+
log(`Journey register: ${JSON.stringify(options)}`);
|
|
58
|
+
if (typeof options === 'string') {
|
|
59
|
+
options = { name: options, id: options };
|
|
60
|
+
}
|
|
61
|
+
const j = new Journey(options, callback, location);
|
|
62
|
+
|
|
63
|
+
if (type) {
|
|
64
|
+
j[type] = true;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
runner.addJourney(j);
|
|
68
|
+
return j;
|
|
53
69
|
}
|
|
54
|
-
|
|
55
|
-
runner.addJourney(j);
|
|
56
|
-
return j;
|
|
57
|
-
}
|
|
58
|
-
);
|
|
70
|
+
);
|
|
59
71
|
|
|
60
|
-
export const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
72
|
+
export const journey = createJourney() as JourneyWithAnnotations;
|
|
73
|
+
journey.skip = createJourney('skip');
|
|
74
|
+
journey.only = createJourney('only');
|
|
75
|
+
|
|
76
|
+
const createStep = (type?: 'skip' | 'soft' | 'only') =>
|
|
77
|
+
wrapFnWithLocation(
|
|
78
|
+
(location: Location, name: string, callback: VoidCallback) => {
|
|
79
|
+
log(`Step register: ${name}`);
|
|
80
|
+
const step = runner.currentJourney?.addStep(name, callback, location);
|
|
81
|
+
if (type) {
|
|
82
|
+
step[type] = true;
|
|
83
|
+
}
|
|
84
|
+
return step;
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
export const step = createStep() as StepWithAnnotations;
|
|
89
|
+
step.skip = createStep('skip');
|
|
90
|
+
step.soft = createStep('soft');
|
|
91
|
+
step.only = createStep('only');
|
|
66
92
|
|
|
67
93
|
export const monitor = {
|
|
68
94
|
use: wrapFnWithLocation((location: Location, config: MonitorConfig) => {
|
package/src/core/runner.ts
CHANGED
|
@@ -256,19 +256,30 @@ export default class Runner {
|
|
|
256
256
|
options: RunOptions
|
|
257
257
|
) {
|
|
258
258
|
const results: Array<StepResult> = [];
|
|
259
|
+
const isOnlyExists = journey.steps.filter(s => s.only).length > 0;
|
|
259
260
|
let skipStep = false;
|
|
260
261
|
for (const step of journey.steps) {
|
|
261
262
|
const start = monotonicTimeInSeconds();
|
|
262
263
|
this.#reporter?.onStepStart?.(journey, step);
|
|
263
264
|
let data: StepResult = { status: 'succeeded' };
|
|
264
|
-
|
|
265
|
+
/**
|
|
266
|
+
* Skip the step
|
|
267
|
+
* - if the step is marked as skip
|
|
268
|
+
* - if the previous step fails and the current step is not marked as soft
|
|
269
|
+
* - if the step is not marked as only and there are steps marked as only
|
|
270
|
+
*/
|
|
271
|
+
if (
|
|
272
|
+
step.skip ||
|
|
273
|
+
(skipStep && !step.only) ||
|
|
274
|
+
(isOnlyExists && !step.only)
|
|
275
|
+
) {
|
|
265
276
|
data.status = 'skipped';
|
|
266
277
|
} else {
|
|
267
278
|
data = await this.runStep(step, context, options);
|
|
268
279
|
/**
|
|
269
280
|
* skip next steps if the previous step returns error
|
|
270
281
|
*/
|
|
271
|
-
if (data.error) skipStep = true;
|
|
282
|
+
if (data.error && !step.soft) skipStep = true;
|
|
272
283
|
}
|
|
273
284
|
this.#reporter?.onStepEnd?.(journey, step, {
|
|
274
285
|
start,
|
|
@@ -366,6 +377,7 @@ export default class Runner {
|
|
|
366
377
|
result.error = stepResult.error;
|
|
367
378
|
}
|
|
368
379
|
}
|
|
380
|
+
result.steps = stepResults;
|
|
369
381
|
await this.runAfterHook(journey, hookArgs);
|
|
370
382
|
} catch (e) {
|
|
371
383
|
result.status = 'failed';
|
|
@@ -410,6 +422,11 @@ export default class Runner {
|
|
|
410
422
|
const monitors: Monitor[] = [];
|
|
411
423
|
for (const journey of this.journeys) {
|
|
412
424
|
this.#currentJourney = journey;
|
|
425
|
+
if (journey.skip) {
|
|
426
|
+
throw new Error(
|
|
427
|
+
`Journey ${journey.name} is skipped. Please remove the journey.skip annotation and try again.`
|
|
428
|
+
);
|
|
429
|
+
}
|
|
413
430
|
/**
|
|
414
431
|
* Execute dummy callback to get all monitor specific
|
|
415
432
|
* configurations for the current journey
|
|
@@ -436,6 +453,14 @@ export default class Runner {
|
|
|
436
453
|
}).catch(e => (this.hookError = e));
|
|
437
454
|
|
|
438
455
|
const { dryRun, match, tags } = options;
|
|
456
|
+
/**
|
|
457
|
+
* Skip other journeys when using `.only`
|
|
458
|
+
*/
|
|
459
|
+
const onlyJournerys = this.journeys.filter(j => j.only);
|
|
460
|
+
if (onlyJournerys.length > 0) {
|
|
461
|
+
this.journeys = onlyJournerys;
|
|
462
|
+
}
|
|
463
|
+
|
|
439
464
|
for (const journey of this.journeys) {
|
|
440
465
|
/**
|
|
441
466
|
* Used by heartbeat to gather all registered journeys
|
|
@@ -444,7 +469,7 @@ export default class Runner {
|
|
|
444
469
|
this.#reporter.onJourneyRegister?.(journey);
|
|
445
470
|
continue;
|
|
446
471
|
}
|
|
447
|
-
if (!journey.isMatch(match, tags)) {
|
|
472
|
+
if (!journey.isMatch(match, tags) || journey.skip) {
|
|
448
473
|
continue;
|
|
449
474
|
}
|
|
450
475
|
const journeyResult: JourneyResult = this.hookError
|
package/src/core/transform.ts
CHANGED
package/src/dsl/journey.ts
CHANGED
|
@@ -61,6 +61,8 @@ export class Journey {
|
|
|
61
61
|
steps: Step[] = [];
|
|
62
62
|
hooks: Hooks = { before: [], after: [] };
|
|
63
63
|
monitor: Monitor;
|
|
64
|
+
skip = false;
|
|
65
|
+
only = false;
|
|
64
66
|
|
|
65
67
|
constructor(
|
|
66
68
|
options: JourneyOptions,
|
|
@@ -107,3 +109,19 @@ export class Journey {
|
|
|
107
109
|
return isMatch(this.tags, this.name, tagsPattern, matchPattern);
|
|
108
110
|
}
|
|
109
111
|
}
|
|
112
|
+
|
|
113
|
+
type JourneyType = (
|
|
114
|
+
options: string | JourneyOptions,
|
|
115
|
+
callback: JourneyCallback
|
|
116
|
+
) => Journey;
|
|
117
|
+
|
|
118
|
+
export type JourneyWithAnnotations = JourneyType & {
|
|
119
|
+
/**
|
|
120
|
+
* Skip this journey and all its steps
|
|
121
|
+
*/
|
|
122
|
+
skip: JourneyType;
|
|
123
|
+
/**
|
|
124
|
+
* Run only this journey and skip rest of the journeys
|
|
125
|
+
*/
|
|
126
|
+
only: JourneyType;
|
|
127
|
+
};
|
package/src/dsl/step.ts
CHANGED
|
@@ -30,6 +30,9 @@ export class Step {
|
|
|
30
30
|
index: number;
|
|
31
31
|
callback: VoidCallback;
|
|
32
32
|
location?: Location;
|
|
33
|
+
skip = false;
|
|
34
|
+
soft = false;
|
|
35
|
+
only = false;
|
|
33
36
|
|
|
34
37
|
constructor(
|
|
35
38
|
name: string,
|
|
@@ -43,3 +46,20 @@ export class Step {
|
|
|
43
46
|
this.location = location;
|
|
44
47
|
}
|
|
45
48
|
}
|
|
49
|
+
|
|
50
|
+
type StepType = (name: string, callback: VoidCallback) => Step;
|
|
51
|
+
|
|
52
|
+
export type StepWithAnnotations = StepType & {
|
|
53
|
+
/**
|
|
54
|
+
* Skip this step on the journey
|
|
55
|
+
*/
|
|
56
|
+
skip: StepType;
|
|
57
|
+
/**
|
|
58
|
+
* Failure of soft step will not skip rest of the steps in the journey
|
|
59
|
+
*/
|
|
60
|
+
soft: StepType;
|
|
61
|
+
/**
|
|
62
|
+
* Run only this step and skip rest of the steps in the journey
|
|
63
|
+
*/
|
|
64
|
+
only: StepType;
|
|
65
|
+
};
|