slnodejs 6.1.916 → 6.1.922
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/package.json +1 -1
- package/tsOutputs/build-scanner/build-diff-process.js +2 -0
- package/tsOutputs/build-scanner/build-diff-process.js.map +1 -1
- package/tsOutputs/build-scanner/instrumentation/browser-instrumenter.js +11 -2
- package/tsOutputs/build-scanner/instrumentation/browser-instrumenter.js.map +1 -1
- package/tsOutputs/cli-parse/cli.js +6 -0
- package/tsOutputs/cli-parse/cli.js.map +1 -1
- package/tsOutputs/cli-parse/contracts.d.ts +5 -0
- package/tsOutputs/cli-parse/contracts.js.map +1 -1
- package/tsOutputs/cli-parse/executors/build-args-dto.js +1 -0
- package/tsOutputs/cli-parse/executors/build-args-dto.js.map +1 -1
- package/tsOutputs/cli-parse/executors/build-executor.js +19 -1
- package/tsOutputs/cli-parse/executors/build-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/run-executor.js +2 -1
- package/tsOutputs/cli-parse/executors/run-executor.js.map +1 -1
- package/tsOutputs/common/agent-events/agent-events-controller.js.map +1 -1
- package/tsOutputs/common/config-process/config.d.ts +2 -0
- package/tsOutputs/common/config-process/config.js +2 -0
- package/tsOutputs/common/config-process/config.js.map +1 -1
- package/tsOutputs/common/constants/sl-env-vars.d.ts +6 -0
- package/tsOutputs/common/constants/sl-env-vars.js +6 -0
- package/tsOutputs/common/constants/sl-env-vars.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/hits-collector.js +1 -0
- package/tsOutputs/common/footprints-process-v6/hits-collector.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/hits-converter.d.ts +3 -1
- package/tsOutputs/common/footprints-process-v6/hits-converter.js +12 -3
- package/tsOutputs/common/footprints-process-v6/hits-converter.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/index.d.ts +4 -8
- package/tsOutputs/common/footprints-process-v6/index.js +2 -14
- package/tsOutputs/common/footprints-process-v6/index.js.map +1 -1
- package/tsOutputs/common/http/contracts.d.ts +1 -1
- package/tsOutputs/common/watchdog.d.ts +9 -8
- package/tsOutputs/common/watchdog.js +1 -4
- package/tsOutputs/common/watchdog.js.map +1 -1
- package/tsOutputs/test-listener/agent-loader.js +8 -2
- package/tsOutputs/test-listener/agent-loader.js.map +1 -1
- package/tsOutputs/test-listener/agent.d.ts +1 -1
- package/tsOutputs/test-listener/bootstrap.js +4 -0
- package/tsOutputs/test-listener/bootstrap.js.map +1 -1
- package/tsOutputs/test-listener/config-process/config-loader.js +1 -1
- package/tsOutputs/test-listener/config-process/config-loader.js.map +1 -1
- package/tsOutputs/test-listener/factory.d.ts +3 -5
- package/tsOutputs/test-listener/factory.js +18 -24
- package/tsOutputs/test-listener/factory.js.map +1 -1
- package/tsOutputs/test-listener/logs-process/index.d.ts +2 -2
- package/tsOutputs/common/uuid.js +0 -21
- package/tsOutputs/common/uuid.js.map +0 -1
- package/tsOutputs/test-listener/config-process/config-system.d.ts +0 -88
- package/tsOutputs/test-listener/config-process/config-system.js +0 -259
- package/tsOutputs/test-listener/config-process/config-system.js.map +0 -1
- package/tsOutputs/test-listener/config-process/index.js +0 -110
- package/tsOutputs/test-listener/config-process/index.js.map +0 -1
- package/tsOutputs/test-listener/config.d.ts +0 -50
- package/tsOutputs/test-listener/config.js +0 -62
- package/tsOutputs/test-listener/config.js.map +0 -1
- package/tsOutputs/test-listener/environment-data-service.d.ts +0 -11
- package/tsOutputs/test-listener/environment-data-service.js +0 -60
- package/tsOutputs/test-listener/environment-data-service.js.map +0 -1
- package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js +0 -36
- package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js.map +0 -1
- package/tsOutputs/test-listener/footprints-process/index.js +0 -226
- package/tsOutputs/test-listener/footprints-process/index.js.map +0 -1
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-base.js +0 -130
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-base.js.map +0 -1
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-contract.js +0 -3
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-contract.js.map +0 -1
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js +0 -272
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js.map +0 -1
- package/tsOutputs/test-listener/queue.js +0 -40
- package/tsOutputs/test-listener/queue.js.map +0 -1
- package/tsOutputs/test-listener/state-tracker-process/index.js +0 -143
- package/tsOutputs/test-listener/state-tracker-process/index.js.map +0 -1
- package/tsOutputs/test-listener/utils.js +0 -68
- package/tsOutputs/test-listener/utils.js.map +0 -1
- package/tsOutputs/test-listener/watchdog.d.ts +0 -89
- package/tsOutputs/test-listener/watchdog.js +0 -128
- package/tsOutputs/test-listener/watchdog.js.map +0 -1
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Utils = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Created by nadav on 21/03/2017.
|
|
6
|
-
*/
|
|
7
|
-
const jwt_decode_1 = require("jwt-decode");
|
|
8
|
-
class Utils {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.JWTPrefix = 'eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.';
|
|
11
|
-
}
|
|
12
|
-
parseToken(parsedToken, parsedArgs) {
|
|
13
|
-
try {
|
|
14
|
-
if (parsedArgs.customerid && parsedArgs.customerid.indexOf(this.JWTPrefix) == 0) {
|
|
15
|
-
parsedToken = parsedArgs.customerid;
|
|
16
|
-
parsedArgs.token = parsedToken;
|
|
17
|
-
}
|
|
18
|
-
if (!parsedToken) {
|
|
19
|
-
throw new Error('Token Must Be Given');
|
|
20
|
-
}
|
|
21
|
-
const tokenData = (0, jwt_decode_1.default)(parsedToken);
|
|
22
|
-
if (!tokenData['x-sl-server']) {
|
|
23
|
-
throw new Error('Doesn\'t Contain Server');
|
|
24
|
-
}
|
|
25
|
-
if (!tokenData['subject']) {
|
|
26
|
-
throw new Error('Doesn\'t Contain Subject');
|
|
27
|
-
}
|
|
28
|
-
let customerId = tokenData['subject'];
|
|
29
|
-
const subjectParts = tokenData['subject'].split('@');
|
|
30
|
-
if (subjectParts.length >= 1) {
|
|
31
|
-
customerId = subjectParts[0];
|
|
32
|
-
}
|
|
33
|
-
parsedArgs.server = tokenData['x-sl-server'];
|
|
34
|
-
parsedArgs.customerid = customerId;
|
|
35
|
-
parsedArgs.isValidToken = true;
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
console.error('Token Is Invalid. ' + err);
|
|
39
|
-
parsedArgs.isValidToken = false;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
resolveLabId(labId, env, appName) {
|
|
43
|
-
if (labId) {
|
|
44
|
-
return labId;
|
|
45
|
-
}
|
|
46
|
-
if (env) {
|
|
47
|
-
return env;
|
|
48
|
-
}
|
|
49
|
-
if (appName) {
|
|
50
|
-
return appName;
|
|
51
|
-
}
|
|
52
|
-
return 'DefaultLabId';
|
|
53
|
-
}
|
|
54
|
-
resolveTestStage(testStage, env, labId) {
|
|
55
|
-
if (testStage) {
|
|
56
|
-
return testStage;
|
|
57
|
-
}
|
|
58
|
-
if (env) {
|
|
59
|
-
return env;
|
|
60
|
-
}
|
|
61
|
-
if (labId) { // needed for backwards compatibility. only for nodejs
|
|
62
|
-
return labId;
|
|
63
|
-
}
|
|
64
|
-
return 'Unit Tests';
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.Utils = Utils;
|
|
68
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../test-listener/utils.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,2CAAmC;AAEnC,MAAa,KAAK;IAAlB;QACY,cAAS,GAAW,uCAAuC,CAAC;IA0DxE,CAAC;IAxDU,UAAU,CAAC,WAAW,EAAE,UAAU;QACrC,IAAI;YACA,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC7E,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;gBACpC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;aAClC;YACD,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;aAC1C;YACD,MAAM,SAAS,GAAG,IAAA,oBAAS,EAAC,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;aAC/C;YACD,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1B,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;aAChC;YACD,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;YAC7C,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;YACnC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;SAClC;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;YAC1C,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;SACnC;IACL,CAAC;IAEM,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO;QACnC,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,GAAG,EAAE;YACL,OAAO,GAAG,CAAC;SACd;QACD,IAAI,OAAO,EAAE;YACT,OAAO,OAAO,CAAC;SAClB;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEM,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK;QACzC,IAAI,SAAS,EAAE;YACX,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,GAAG,EAAE;YACL,OAAO,GAAG,CAAC;SACd;QACD,IAAI,KAAK,EAAE,EAAE,sDAAsD;YAC/D,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AA3DD,sBA2DC"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import events = require('events');
|
|
3
|
-
export interface ITimers {
|
|
4
|
-
setTimeout(callback: any, time: any): any;
|
|
5
|
-
clearTimeout(handle: any): void;
|
|
6
|
-
}
|
|
7
|
-
export interface IWatchdogOptions {
|
|
8
|
-
interval: number;
|
|
9
|
-
name?: string;
|
|
10
|
-
/**
|
|
11
|
-
* Makes the watchdog Auto-Reset, immediately restarting itself after firing the "alarm" event
|
|
12
|
-
* Defaults to false
|
|
13
|
-
*
|
|
14
|
-
* @type {boolean}
|
|
15
|
-
* @memberOf IWatchdogOptions
|
|
16
|
-
*/
|
|
17
|
-
autoReset?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Makes this timer run in the background by calling the unref() method on the timer handle.
|
|
20
|
-
* Running in the foreground (default) prevents the process from exiting, while running background doesn't.
|
|
21
|
-
* Defaults to false
|
|
22
|
-
*
|
|
23
|
-
* @type {boolean}
|
|
24
|
-
* @memberOf IWatchdogOptions
|
|
25
|
-
*/
|
|
26
|
-
unref?: boolean;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Wraps timers to fire an "alarm" alarm after a given interval. Supports
|
|
30
|
-
*
|
|
31
|
-
* @export
|
|
32
|
-
* @class Watchdog
|
|
33
|
-
* @extends {events.EventEmitter}
|
|
34
|
-
*/
|
|
35
|
-
export declare class Watchdog extends events.EventEmitter {
|
|
36
|
-
private options;
|
|
37
|
-
private timers;
|
|
38
|
-
private handle;
|
|
39
|
-
private pendingAlarmDuringSuspended;
|
|
40
|
-
private suspended;
|
|
41
|
-
private stopped;
|
|
42
|
-
constructor(options: IWatchdogOptions, timers: ITimers);
|
|
43
|
-
abort(): void;
|
|
44
|
-
/**
|
|
45
|
-
* Restarts the watchdog
|
|
46
|
-
*
|
|
47
|
-
* @memberOf Watchdog
|
|
48
|
-
*/
|
|
49
|
-
reset(): void;
|
|
50
|
-
/**
|
|
51
|
-
* Stops the watchdog
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* @memberOf Watchdog
|
|
55
|
-
*/
|
|
56
|
-
stop(): void;
|
|
57
|
-
/**
|
|
58
|
-
* Starts the watchdog
|
|
59
|
-
*
|
|
60
|
-
* @memberOf Watchdog
|
|
61
|
-
*/
|
|
62
|
-
start(): void;
|
|
63
|
-
/**
|
|
64
|
-
* Returns the current status of the watchdog
|
|
65
|
-
* @returns
|
|
66
|
-
*
|
|
67
|
-
* @memberOf Watchdog
|
|
68
|
-
*/
|
|
69
|
-
getStatus(): {
|
|
70
|
-
pendingAlarmDuringSuspended: boolean;
|
|
71
|
-
running: boolean;
|
|
72
|
-
suspended: boolean;
|
|
73
|
-
};
|
|
74
|
-
/**
|
|
75
|
-
* Suspends this watchdog, which prevents it from firing events.
|
|
76
|
-
*
|
|
77
|
-
* @memberOf Watchdog
|
|
78
|
-
*/
|
|
79
|
-
suspend(): void;
|
|
80
|
-
/**
|
|
81
|
-
* Resumes this watchdog from suspended mode. If an alarm was fired while suspended, it will be fired now.
|
|
82
|
-
*
|
|
83
|
-
* @memberOf Watchdog
|
|
84
|
-
*/
|
|
85
|
-
resume(): void;
|
|
86
|
-
private fireAlarm;
|
|
87
|
-
setInterval(newInterval: number): void;
|
|
88
|
-
getInterval(): number;
|
|
89
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Watchdog = void 0;
|
|
4
|
-
const events = require("events");
|
|
5
|
-
/**
|
|
6
|
-
* Wraps timers to fire an "alarm" alarm after a given interval. Supports
|
|
7
|
-
*
|
|
8
|
-
* @export
|
|
9
|
-
* @class Watchdog
|
|
10
|
-
* @extends {events.EventEmitter}
|
|
11
|
-
*/
|
|
12
|
-
class Watchdog extends events.EventEmitter {
|
|
13
|
-
constructor(options, timers) {
|
|
14
|
-
super();
|
|
15
|
-
this.options = options;
|
|
16
|
-
this.timers = timers;
|
|
17
|
-
this.handle = null;
|
|
18
|
-
this.pendingAlarmDuringSuspended = false;
|
|
19
|
-
this.suspended = false;
|
|
20
|
-
this.stopped = true;
|
|
21
|
-
if (!options) {
|
|
22
|
-
throw new Error('options is required');
|
|
23
|
-
}
|
|
24
|
-
if (!timers) {
|
|
25
|
-
throw new Error('timers is required');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
abort() {
|
|
29
|
-
if (this.handle) {
|
|
30
|
-
this.timers.clearTimeout(this.handle);
|
|
31
|
-
this.handle = null;
|
|
32
|
-
this.pendingAlarmDuringSuspended = false;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Restarts the watchdog
|
|
37
|
-
*
|
|
38
|
-
* @memberOf Watchdog
|
|
39
|
-
*/
|
|
40
|
-
reset() {
|
|
41
|
-
this.abort();
|
|
42
|
-
if (!this.stopped) {
|
|
43
|
-
this.handle = this.timers.setTimeout(() => { this.fireAlarm(); }, this.options.interval);
|
|
44
|
-
if (this.options.unref) {
|
|
45
|
-
this.handle.unref(); // Don't hold the process alive if this timer is still pending
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Stops the watchdog
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* @memberOf Watchdog
|
|
54
|
-
*/
|
|
55
|
-
stop() {
|
|
56
|
-
this.stopped = true;
|
|
57
|
-
this.abort();
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Starts the watchdog
|
|
61
|
-
*
|
|
62
|
-
* @memberOf Watchdog
|
|
63
|
-
*/
|
|
64
|
-
start() {
|
|
65
|
-
this.stopped = false;
|
|
66
|
-
this.reset();
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Returns the current status of the watchdog
|
|
70
|
-
* @returns
|
|
71
|
-
*
|
|
72
|
-
* @memberOf Watchdog
|
|
73
|
-
*/
|
|
74
|
-
getStatus() {
|
|
75
|
-
return {
|
|
76
|
-
pendingAlarmDuringSuspended: this.pendingAlarmDuringSuspended,
|
|
77
|
-
running: !this.stopped,
|
|
78
|
-
suspended: this.suspended,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Suspends this watchdog, which prevents it from firing events.
|
|
83
|
-
*
|
|
84
|
-
* @memberOf Watchdog
|
|
85
|
-
*/
|
|
86
|
-
suspend() {
|
|
87
|
-
this.suspended = true;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Resumes this watchdog from suspended mode. If an alarm was fired while suspended, it will be fired now.
|
|
91
|
-
*
|
|
92
|
-
* @memberOf Watchdog
|
|
93
|
-
*/
|
|
94
|
-
resume() {
|
|
95
|
-
this.suspended = false;
|
|
96
|
-
if (this.pendingAlarmDuringSuspended) {
|
|
97
|
-
this.pendingAlarmDuringSuspended = false;
|
|
98
|
-
this.fireAlarm();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
fireAlarm() {
|
|
102
|
-
this.handle = null;
|
|
103
|
-
if (this.suspended) {
|
|
104
|
-
this.pendingAlarmDuringSuspended = true; //raise this flag and quit
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
try {
|
|
108
|
-
this.emit('alarm', this);
|
|
109
|
-
}
|
|
110
|
-
catch (err) {
|
|
111
|
-
// TODO: Log?
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (this.options.autoReset) {
|
|
115
|
-
this.reset();
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
setInterval(newInterval) {
|
|
119
|
-
if (newInterval <= 0)
|
|
120
|
-
throw new Error('Invalid value for interval: ' + newInterval);
|
|
121
|
-
this.options.interval = newInterval;
|
|
122
|
-
}
|
|
123
|
-
getInterval() {
|
|
124
|
-
return this.options.interval;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
exports.Watchdog = Watchdog;
|
|
128
|
-
//# sourceMappingURL=watchdog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../../test-listener/watchdog.ts"],"names":[],"mappings":"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"}
|