@loadmill/executer 0.1.89 → 0.1.92
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 +6 -3
- package/dist/asserter.d.ts +0 -9
- package/dist/asserter.js +0 -141
- package/dist/asserter.js.map +0 -1
- package/dist/cookies.d.ts +0 -4
- package/dist/cookies.js +0 -79
- package/dist/cookies.js.map +0 -1
- package/dist/errors.d.ts +0 -5
- package/dist/errors.js +0 -38
- package/dist/errors.js.map +0 -1
- package/dist/extraction-combiner.d.ts +0 -17
- package/dist/extraction-combiner.js +0 -182
- package/dist/extraction-combiner.js.map +0 -1
- package/dist/failures.d.ts +0 -24
- package/dist/failures.js +0 -67
- package/dist/failures.js.map +0 -1
- package/dist/iteration-stats.d.ts +0 -2
- package/dist/iteration-stats.js +0 -38
- package/dist/iteration-stats.js.map +0 -1
- package/dist/message-creators.d.ts +0 -31
- package/dist/message-creators.js +0 -90
- package/dist/message-creators.js.map +0 -1
- package/dist/mill-info.d.ts +0 -66
- package/dist/mill-info.js +0 -3
- package/dist/mill-info.js.map +0 -1
- package/dist/mill-version.d.ts +0 -6
- package/dist/mill-version.js +0 -10
- package/dist/mill-version.js.map +0 -1
- package/dist/parameter-pools.d.ts +0 -3
- package/dist/parameter-pools.js +0 -69
- package/dist/parameter-pools.js.map +0 -1
- package/dist/post-script/ast-walker/index.d.ts +0 -18
- package/dist/post-script/ast-walker/index.js +0 -215
- package/dist/post-script/ast-walker/index.js.map +0 -1
- package/dist/post-script/ast-walker/type-guard.d.ts +0 -11
- package/dist/post-script/ast-walker/type-guard.js +0 -56
- package/dist/post-script/ast-walker/type-guard.js.map +0 -1
- package/dist/post-script/ast-walker/types.d.ts +0 -24
- package/dist/post-script/ast-walker/types.js +0 -25
- package/dist/post-script/ast-walker/types.js.map +0 -1
- package/dist/post-script/console-log.d.ts +0 -7
- package/dist/post-script/console-log.js +0 -31
- package/dist/post-script/console-log.js.map +0 -1
- package/dist/post-script/parser/acorn-js-parser.d.ts +0 -5
- package/dist/post-script/parser/acorn-js-parser.js +0 -20
- package/dist/post-script/parser/acorn-js-parser.js.map +0 -1
- package/dist/post-script/parser/js-parser.d.ts +0 -16
- package/dist/post-script/parser/js-parser.js +0 -3
- package/dist/post-script/parser/js-parser.js.map +0 -1
- package/dist/post-script/parser/parser.d.ts +0 -6
- package/dist/post-script/parser/parser.js +0 -3
- package/dist/post-script/parser/parser.js.map +0 -1
- package/dist/post-script/post-script-executor.d.ts +0 -24
- package/dist/post-script/post-script-executor.js +0 -125
- package/dist/post-script/post-script-executor.js.map +0 -1
- package/dist/post-script/virtual-machine/virtual-machine.d.ts +0 -13
- package/dist/post-script/virtual-machine/virtual-machine.js +0 -3
- package/dist/post-script/virtual-machine/virtual-machine.js.map +0 -1
- package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +0 -12
- package/dist/post-script/virtual-machine/vm2-virtual-machine.js +0 -81
- package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +0 -1
- package/dist/redact-data.d.ts +0 -2
- package/dist/redact-data.js +0 -71
- package/dist/redact-data.js.map +0 -1
- package/dist/report-types.d.ts +0 -102
- package/dist/report-types.js +0 -11
- package/dist/report-types.js.map +0 -1
- package/dist/request-sequence-result.d.ts +0 -44
- package/dist/request-sequence-result.js +0 -19
- package/dist/request-sequence-result.js.map +0 -1
- package/dist/request-stats.d.ts +0 -13
- package/dist/request-stats.js +0 -14
- package/dist/request-stats.js.map +0 -1
- package/dist/res-keeper.d.ts +0 -16
- package/dist/res-keeper.js +0 -104
- package/dist/res-keeper.js.map +0 -1
- package/dist/sampler.d.ts +0 -29
- package/dist/sampler.js +0 -276
- package/dist/sampler.js.map +0 -1
- package/dist/sequence.d.ts +0 -24
- package/dist/sequence.js +0 -1475
- package/dist/sequence.js.map +0 -1
- package/dist/single-runner.d.ts +0 -21
- package/dist/single-runner.js +0 -127
- package/dist/single-runner.js.map +0 -1
- package/dist/test-run-event-emitter.d.ts +0 -11
- package/dist/test-run-event-emitter.js +0 -36
- package/dist/test-run-event-emitter.js.map +0 -1
- package/dist/utils.d.ts +0 -1
- package/dist/utils.js +0 -29
- package/dist/utils.js.map +0 -1
- package/dist/work.d.ts +0 -15
- package/dist/work.js +0 -3
- package/dist/work.js.map +0 -1
- package/dist/ws.d.ts +0 -71
- package/dist/ws.js +0 -474
- package/dist/ws.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type-guard.js","sourceRoot":"","sources":["../../../src/post-script/ast-walker/type-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ArrayPattern as ESTArrayPattern, FunctionDeclaration as ESTFunctionDeclaration, Identifier, Pattern } from 'estree';
|
|
2
|
-
export interface ArrayPattern extends ESTArrayPattern {
|
|
3
|
-
elements: Array<Pattern>;
|
|
4
|
-
}
|
|
5
|
-
export interface FunctionDeclaration extends ESTFunctionDeclaration {
|
|
6
|
-
id: Identifier;
|
|
7
|
-
}
|
|
8
|
-
export declare enum Declarations {
|
|
9
|
-
FunctionDeclaration = "FunctionDeclaration",
|
|
10
|
-
VariableDeclaration = "VariableDeclaration"
|
|
11
|
-
}
|
|
12
|
-
export declare enum Expressions {
|
|
13
|
-
AssignmentExpression = "AssignmentExpression",
|
|
14
|
-
SequenceExpression = "SequenceExpression"
|
|
15
|
-
}
|
|
16
|
-
export declare enum Patterns {
|
|
17
|
-
ObjectPattern = "ObjectPattern",
|
|
18
|
-
ArrayPattern = "ArrayPattern",
|
|
19
|
-
RestElement = "RestElement",
|
|
20
|
-
Identifier = "Identifier"
|
|
21
|
-
}
|
|
22
|
-
export declare enum Statements {
|
|
23
|
-
ExpressionStatement = "ExpressionStatement"
|
|
24
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Statements = exports.Patterns = exports.Expressions = exports.Declarations = void 0;
|
|
4
|
-
var Declarations;
|
|
5
|
-
(function (Declarations) {
|
|
6
|
-
Declarations["FunctionDeclaration"] = "FunctionDeclaration";
|
|
7
|
-
Declarations["VariableDeclaration"] = "VariableDeclaration";
|
|
8
|
-
})(Declarations = exports.Declarations || (exports.Declarations = {}));
|
|
9
|
-
var Expressions;
|
|
10
|
-
(function (Expressions) {
|
|
11
|
-
Expressions["AssignmentExpression"] = "AssignmentExpression";
|
|
12
|
-
Expressions["SequenceExpression"] = "SequenceExpression";
|
|
13
|
-
})(Expressions = exports.Expressions || (exports.Expressions = {}));
|
|
14
|
-
var Patterns;
|
|
15
|
-
(function (Patterns) {
|
|
16
|
-
Patterns["ObjectPattern"] = "ObjectPattern";
|
|
17
|
-
Patterns["ArrayPattern"] = "ArrayPattern";
|
|
18
|
-
Patterns["RestElement"] = "RestElement";
|
|
19
|
-
Patterns["Identifier"] = "Identifier";
|
|
20
|
-
})(Patterns = exports.Patterns || (exports.Patterns = {}));
|
|
21
|
-
var Statements;
|
|
22
|
-
(function (Statements) {
|
|
23
|
-
Statements["ExpressionStatement"] = "ExpressionStatement";
|
|
24
|
-
})(Statements = exports.Statements || (exports.Statements = {}));
|
|
25
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/post-script/ast-walker/types.ts"],"names":[],"mappings":";;;AAeA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2DAA2C,CAAA;IAC3C,2DAA2C,CAAA;AAC7C,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4DAA6C,CAAA;IAC7C,wDAAyC,CAAA;AAC3C,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2CAA+B,CAAA;IAC/B,yCAA6B,CAAA;IAC7B,uCAA2B,CAAA;IAC3B,qCAAyB,CAAA;AAC3B,CAAC,EALW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAKnB;AAED,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,yDAA2C,CAAA;AAC7C,CAAC,EAFW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAErB"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.myConsole = exports.CONSOLE_LOG_LIMIT = exports.LINE_LIMIT = void 0;
|
|
4
|
-
exports.LINE_LIMIT = 2500;
|
|
5
|
-
exports.CONSOLE_LOG_LIMIT = 100;
|
|
6
|
-
var isPassedTheLimit = function (line) { return line.length > exports.LINE_LIMIT; };
|
|
7
|
-
exports.myConsole = {
|
|
8
|
-
stdout: [],
|
|
9
|
-
log: function () {
|
|
10
|
-
var args = [];
|
|
11
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
12
|
-
args[_i] = arguments[_i];
|
|
13
|
-
}
|
|
14
|
-
if (exports.myConsole.stdout.length >= exports.CONSOLE_LOG_LIMIT) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
var line = '';
|
|
18
|
-
for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
|
|
19
|
-
var item = args_1[_a];
|
|
20
|
-
line += typeof item === 'object' ? JSON.stringify(item, undefined, 2) : item;
|
|
21
|
-
if (isPassedTheLimit(line)) {
|
|
22
|
-
line = line.substring(0, exports.LINE_LIMIT) + '\n...';
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
line += ' ';
|
|
26
|
-
}
|
|
27
|
-
!!line && exports.myConsole.stdout.push(line);
|
|
28
|
-
},
|
|
29
|
-
setStdout: function (newStdout) { return exports.myConsole.stdout = newStdout; },
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=console-log.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"console-log.js","sourceRoot":"","sources":["../../src/post-script/console-log.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,IAAI,CAAC;AAClB,QAAA,iBAAiB,GAAG,GAAG,CAAC;AAErC,IAAM,gBAAgB,GAAG,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,GAAG,kBAAU,EAAxB,CAAwB,CAAC;AAE/C,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,EAAc;IACtB,GAAG,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QACX,IAAI,iBAAS,CAAC,MAAM,CAAC,MAAM,IAAI,yBAAiB,EAAE;YAChD,OAAO;SACR;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAmB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;YAApB,IAAM,IAAI,aAAA;YACb,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBAC1B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAU,CAAC,GAAG,OAAO,CAAC;gBAC/C,MAAM;aACP;YACD,IAAI,IAAI,GAAG,CAAC;SACb;QACD,CAAC,CAAC,IAAI,IAAI,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,SAAS,EAAE,UAAC,SAAS,IAAK,OAAA,iBAAS,CAAC,MAAM,GAAG,SAAS,EAA5B,CAA4B;CACvD,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AcornJSParser = void 0;
|
|
4
|
-
var acorn_1 = require("acorn");
|
|
5
|
-
var AcornJSParser = /** @class */ (function () {
|
|
6
|
-
function AcornJSParser() {
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(AcornJSParser.prototype, "parse", {
|
|
9
|
-
enumerable: false,
|
|
10
|
-
configurable: true,
|
|
11
|
-
writable: true,
|
|
12
|
-
value: function (script, options) {
|
|
13
|
-
if (options === void 0) { options = { ecmaVersion: 2020 }; }
|
|
14
|
-
return acorn_1.parse(script, options);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
return AcornJSParser;
|
|
18
|
-
}());
|
|
19
|
-
exports.AcornJSParser = AcornJSParser;
|
|
20
|
-
//# sourceMappingURL=acorn-js-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorn-js-parser.js","sourceRoot":"","sources":["../../../src/post-script/parser/acorn-js-parser.ts"],"names":[],"mappings":";;;AAAA,+BAAuC;AAGvC;IAAA;IAIA,CAAC;;;;;eAHC,UAAM,MAAc,EAAE,OAAwC;YAAxC,wBAAA,EAAA,YAAqB,WAAW,EAAE,IAAI,EAAE;YAC5D,OAAO,aAAK,CAAC,MAAM,EAAE,OAAO,CAAW,CAAC;QAC1C,CAAC;;IACH,oBAAC;AAAD,CAAC,AAJD,IAIC;AAJY,sCAAa"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Node, Program } from 'estree';
|
|
2
|
-
import { Parser } from './parser';
|
|
3
|
-
interface JSParser extends Parser {
|
|
4
|
-
parse(script: string, options?: JSParserOptions): ESTree;
|
|
5
|
-
}
|
|
6
|
-
declare type ExtendNode<T> = {
|
|
7
|
-
[K in keyof T]: T[K] extends object ? ExtendNode<T[K]> : T[K];
|
|
8
|
-
} & (T extends Node ? {
|
|
9
|
-
start: number;
|
|
10
|
-
end: number;
|
|
11
|
-
} : {});
|
|
12
|
-
declare type ESTree = ExtendNode<Program>;
|
|
13
|
-
declare type JSParserOptions = {
|
|
14
|
-
ecmaVersion: number | string;
|
|
15
|
-
};
|
|
16
|
-
export { ESTree, JSParser, JSParserOptions, };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"js-parser.js","sourceRoot":"","sources":["../../../src/post-script/parser/js-parser.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/post-script/parser/parser.ts"],"names":[],"mappings":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ParseJson } from '@loadmill/universal/dist/typescript-utils';
|
|
2
|
-
import { SequenceExecutorParameters } from '@loadmill/core/dist/parameters';
|
|
3
|
-
import { ParameterFunctionOperations } from '@loadmill/core/dist/parameters/parameter-functions/parameter-functions';
|
|
4
|
-
export declare class PostScriptRunner {
|
|
5
|
-
run: (outerStaticContext?: OuterStaticContext, dynamicContext?: SequenceExecutorParameters, userCode?: string, responseBody?: ParseJson) => {
|
|
6
|
-
result: SequenceExecutorParameters;
|
|
7
|
-
};
|
|
8
|
-
private wrapUserCode;
|
|
9
|
-
/**
|
|
10
|
-
* If the response JSON is an array, we need to unproxify it
|
|
11
|
-
* https://github.com/patriksimek/vm2/issues/437
|
|
12
|
-
*/
|
|
13
|
-
private unproxifyResponseBody;
|
|
14
|
-
validateCircularDependency: (obj: SequenceExecutorParameters) => void;
|
|
15
|
-
private removeAssertModule;
|
|
16
|
-
private unproxify;
|
|
17
|
-
}
|
|
18
|
-
declare type OuterStaticContext = {
|
|
19
|
-
staticContext: StaticContext;
|
|
20
|
-
};
|
|
21
|
-
declare type StaticContext = {
|
|
22
|
-
__: ParameterFunctionOperations;
|
|
23
|
-
};
|
|
24
|
-
export {};
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
14
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
15
|
-
to[j] = from[i];
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.PostScriptRunner = void 0;
|
|
23
|
-
var assert_1 = require("assert");
|
|
24
|
-
var cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
|
|
25
|
-
var ast_walker_1 = require("./ast-walker");
|
|
26
|
-
var vm2_virtual_machine_1 = require("./virtual-machine/vm2-virtual-machine");
|
|
27
|
-
var console_log_1 = require("./console-log");
|
|
28
|
-
var PostScriptRunner = /** @class */ (function () {
|
|
29
|
-
function PostScriptRunner() {
|
|
30
|
-
var _this = this;
|
|
31
|
-
Object.defineProperty(this, "run", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
configurable: true,
|
|
34
|
-
writable: true,
|
|
35
|
-
value: function (outerStaticContext, dynamicContext, userCode, responseBody) {
|
|
36
|
-
if (outerStaticContext === void 0) { outerStaticContext = { staticContext: { __: {} } }; }
|
|
37
|
-
if (dynamicContext === void 0) { dynamicContext = {}; }
|
|
38
|
-
if (userCode === void 0) { userCode = ''; }
|
|
39
|
-
if (responseBody === void 0) { responseBody = {}; }
|
|
40
|
-
var newVariables = new ast_walker_1.ASTWalker(userCode).detectDeclarations(Object.keys(outerStaticContext.staticContext));
|
|
41
|
-
var wrappedUserCode = _this.wrapUserCode(dynamicContext, userCode, newVariables);
|
|
42
|
-
var vm = new vm2_virtual_machine_1.VM2VirtualMachine();
|
|
43
|
-
vm.create({
|
|
44
|
-
globalObject: __assign(__assign({ assert: assert_1.strict }, dynamicContext), { console: console_log_1.myConsole, $: responseBody }),
|
|
45
|
-
staticObject: outerStaticContext,
|
|
46
|
-
});
|
|
47
|
-
var modifiedDynamicContext = vm.run(wrappedUserCode);
|
|
48
|
-
_this.validateCircularDependency(modifiedDynamicContext);
|
|
49
|
-
_this.removeAssertModule(modifiedDynamicContext);
|
|
50
|
-
return { result: _this.unproxify(modifiedDynamicContext) };
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
Object.defineProperty(this, "wrapUserCode", {
|
|
54
|
-
enumerable: true,
|
|
55
|
-
configurable: true,
|
|
56
|
-
writable: true,
|
|
57
|
-
value: function (dynamicContext, userCode, newVariables) {
|
|
58
|
-
if (dynamicContext === void 0) { dynamicContext = {}; }
|
|
59
|
-
if (userCode === void 0) { userCode = ''; }
|
|
60
|
-
if (newVariables === void 0) { newVariables = []; }
|
|
61
|
-
var prefix = "\n Buffer = {};\n global = { assert: global.assert, console: global.console };\n $ = " + _this.unproxifyResponseBody() + ";\n ";
|
|
62
|
-
var suffix = "\n exports = {\n " + __spreadArray(__spreadArray([], Object.keys(dynamicContext)), newVariables).join() + "\n };\n ";
|
|
63
|
-
return prefix + userCode + suffix;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
/**
|
|
67
|
-
* If the response JSON is an array, we need to unproxify it
|
|
68
|
-
* https://github.com/patriksimek/vm2/issues/437
|
|
69
|
-
*/
|
|
70
|
-
Object.defineProperty(this, "unproxifyResponseBody", {
|
|
71
|
-
enumerable: true,
|
|
72
|
-
configurable: true,
|
|
73
|
-
writable: true,
|
|
74
|
-
value: function () { return 'JSON.parse(JSON.stringify($))'; }
|
|
75
|
-
});
|
|
76
|
-
Object.defineProperty(this, "validateCircularDependency", {
|
|
77
|
-
enumerable: true,
|
|
78
|
-
configurable: true,
|
|
79
|
-
writable: true,
|
|
80
|
-
value: function (obj) {
|
|
81
|
-
function circularError(propName) {
|
|
82
|
-
return new TypeError("Cyclic object value. Circular reference in property " + propName);
|
|
83
|
-
}
|
|
84
|
-
findCircular(obj);
|
|
85
|
-
function findCircular(obj, _refs) {
|
|
86
|
-
if (_refs === void 0) { _refs = new WeakSet(); }
|
|
87
|
-
if (typeof obj === 'object' && obj !== null) {
|
|
88
|
-
_refs.add(obj);
|
|
89
|
-
for (var key in obj) {
|
|
90
|
-
if (_refs.has(obj[key])) {
|
|
91
|
-
throw circularError(key);
|
|
92
|
-
}
|
|
93
|
-
findCircular(obj[key], _refs);
|
|
94
|
-
}
|
|
95
|
-
_refs.delete(obj);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
Object.defineProperty(PostScriptRunner.prototype, "removeAssertModule", {
|
|
102
|
-
enumerable: false,
|
|
103
|
-
configurable: true,
|
|
104
|
-
writable: true,
|
|
105
|
-
value: function (context) {
|
|
106
|
-
Object.keys(context).forEach(function (key) {
|
|
107
|
-
var _a, _b;
|
|
108
|
-
if (((_b = (_a = context[key]) === null || _a === void 0 ? void 0 : _a.assert) === null || _b === void 0 ? void 0 : _b.name) === 'strict') {
|
|
109
|
-
context[key] = {};
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
Object.defineProperty(PostScriptRunner.prototype, "unproxify", {
|
|
115
|
-
enumerable: false,
|
|
116
|
-
configurable: true,
|
|
117
|
-
writable: true,
|
|
118
|
-
value: function (proxy) {
|
|
119
|
-
return cloneDeep_1.default(proxy);
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
return PostScriptRunner;
|
|
123
|
-
}());
|
|
124
|
-
exports.PostScriptRunner = PostScriptRunner;
|
|
125
|
-
//# sourceMappingURL=post-script-executor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"post-script-executor.js","sourceRoot":"","sources":["../../src/post-script/post-script-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface VirtualMachine {
|
|
2
|
-
engine: Engine;
|
|
3
|
-
create(options: VirtualMachineOptions): Engine;
|
|
4
|
-
run(code: string): object;
|
|
5
|
-
}
|
|
6
|
-
export interface VirtualMachineOptions {
|
|
7
|
-
globalObject?: object;
|
|
8
|
-
staticObject?: object;
|
|
9
|
-
timeout?: number;
|
|
10
|
-
memoryLimit?: number;
|
|
11
|
-
async?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare type Engine = any;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-machine.js","sourceRoot":"","sources":["../../../src/post-script/virtual-machine/virtual-machine.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { VM } from 'vm2';
|
|
2
|
-
import { SequenceExecutorParameters } from '../../../../core/dist/parameters';
|
|
3
|
-
import { Engine, VirtualMachine, VirtualMachineOptions } from './virtual-machine';
|
|
4
|
-
export declare class VM2VirtualMachine implements VirtualMachine {
|
|
5
|
-
engine: VM;
|
|
6
|
-
private DEFAULT_TIMOUT_MS;
|
|
7
|
-
create(options: VirtualMachineOptions): Engine;
|
|
8
|
-
makeStatic(obj?: object): void;
|
|
9
|
-
deepFreeze: (obj: object) => any;
|
|
10
|
-
setGlobals: (globalObject?: SequenceExecutorParameters) => void;
|
|
11
|
-
run(code: string): SequenceExecutorParameters;
|
|
12
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VM2VirtualMachine = void 0;
|
|
4
|
-
var vm2_1 = require("vm2");
|
|
5
|
-
var VM2VirtualMachine = /** @class */ (function () {
|
|
6
|
-
function VM2VirtualMachine() {
|
|
7
|
-
var _this = this;
|
|
8
|
-
Object.defineProperty(this, "engine", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
configurable: true,
|
|
11
|
-
writable: true,
|
|
12
|
-
value: void 0
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(this, "DEFAULT_TIMOUT_MS", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: Number(process.env.POSTSCRIPT_TIMEOUT_MS) || 1000
|
|
19
|
-
});
|
|
20
|
-
Object.defineProperty(this, "deepFreeze", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true,
|
|
24
|
-
value: function (obj) {
|
|
25
|
-
for (var _i = 0, _a = Object.keys(obj); _i < _a.length; _i++) {
|
|
26
|
-
var key = _a[_i];
|
|
27
|
-
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
28
|
-
_this.engine.freeze(obj[key], key); // freeze me
|
|
29
|
-
_this.deepFreeze(obj[key]); // freeze my childrens
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return _this.engine.freeze(obj); // freeze root
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(this, "setGlobals", {
|
|
36
|
-
enumerable: true,
|
|
37
|
-
configurable: true,
|
|
38
|
-
writable: true,
|
|
39
|
-
value: function (globalObject) {
|
|
40
|
-
if (globalObject === void 0) { globalObject = {}; }
|
|
41
|
-
_this.engine.setGlobals(globalObject);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
Object.defineProperty(VM2VirtualMachine.prototype, "create", {
|
|
46
|
-
enumerable: false,
|
|
47
|
-
configurable: true,
|
|
48
|
-
writable: true,
|
|
49
|
-
value: function (options) {
|
|
50
|
-
var timeout = options.timeout, globalObject = options.globalObject, async = options.async, staticObject = options.staticObject;
|
|
51
|
-
this.engine = new vm2_1.VM({
|
|
52
|
-
timeout: timeout || this.DEFAULT_TIMOUT_MS,
|
|
53
|
-
fixAsync: !async,
|
|
54
|
-
eval: false,
|
|
55
|
-
wasm: false,
|
|
56
|
-
});
|
|
57
|
-
this.makeStatic(staticObject);
|
|
58
|
-
this.setGlobals(globalObject);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(VM2VirtualMachine.prototype, "makeStatic", {
|
|
62
|
-
enumerable: false,
|
|
63
|
-
configurable: true,
|
|
64
|
-
writable: true,
|
|
65
|
-
value: function (obj) {
|
|
66
|
-
if (obj === void 0) { obj = {}; }
|
|
67
|
-
this.deepFreeze(obj);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
Object.defineProperty(VM2VirtualMachine.prototype, "run", {
|
|
71
|
-
enumerable: false,
|
|
72
|
-
configurable: true,
|
|
73
|
-
writable: true,
|
|
74
|
-
value: function (code) {
|
|
75
|
-
return this.engine.run(code);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
return VM2VirtualMachine;
|
|
79
|
-
}());
|
|
80
|
-
exports.VM2VirtualMachine = VM2VirtualMachine;
|
|
81
|
-
//# sourceMappingURL=vm2-virtual-machine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vm2-virtual-machine.js","sourceRoot":"","sources":["../../../src/post-script/virtual-machine/vm2-virtual-machine.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAKzB;IAAA;QAAA,iBAuCC;QAtCC;;;;;WAAkB;QAClB;;;;mBAA4B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,IAAI;WAAC;QAoB9E;;;;mBAAa,UAAC,GAAW;gBACvB,KAAkB,UAAgB,EAAhB,KAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,EAAE;oBAA/B,IAAM,GAAG,SAAA;oBACZ,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;wBACrD,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;wBAC/C,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB;qBAClD;iBACF;gBACD,OAAO,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;YAChD,CAAC;WAAC;QAEF;;;;mBAAa,UAAC,YAA6C;gBAA7C,6BAAA,EAAA,iBAA6C;gBACzD,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;WAAC;IAKJ,CAAC;;;;;eAnCC,UAAO,OAA8B;YAC3B,IAAA,OAAO,GAAwC,OAAO,QAA/C,EAAE,YAAY,GAA0B,OAAO,aAAjC,EAAE,KAAK,GAAmB,OAAO,MAA1B,EAAE,YAAY,GAAK,OAAO,aAAZ,CAAa;YAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,QAAE,CAAC;gBACnB,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,iBAAiB;gBAC1C,QAAQ,EAAE,CAAC,KAAK;gBAChB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAE9B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;;;;;;eAED,UAAW,GAAgB;YAAhB,oBAAA,EAAA,QAAgB;YACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;;;;;;eAgBD,UAAI,IAAY;YACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;;IACH,wBAAC;AAAD,CAAC,AAvCD,IAuCC;AAvCY,8CAAiB"}
|
package/dist/redact-data.d.ts
DELETED
package/dist/redact-data.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.redactSensitiveData = void 0;
|
|
7
|
-
var parameters_1 = require("@loadmill/core/dist/parameters");
|
|
8
|
-
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
9
|
-
var jsonpath_1 = __importDefault(require("jsonpath"));
|
|
10
|
-
var lodash_1 = require("lodash");
|
|
11
|
-
var qs_1 = __importDefault(require("qs"));
|
|
12
|
-
var redactedBodyText = 'Body Data Redacted';
|
|
13
|
-
function redactSensitiveData(resolvedRequests, sensitiveKeys) {
|
|
14
|
-
if (sensitiveKeys === void 0) { sensitiveKeys = []; }
|
|
15
|
-
resolvedRequests.forEach(function (rr) {
|
|
16
|
-
var _a, _b;
|
|
17
|
-
if ((_a = rr.postData) === null || _a === void 0 ? void 0 : _a.text) {
|
|
18
|
-
rr.postData.text = !lodash_1.isEmpty(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.postData.text, rr.postData.mimeType) : redactedBodyText;
|
|
19
|
-
}
|
|
20
|
-
if ((_b = rr.response) === null || _b === void 0 ? void 0 : _b.text) {
|
|
21
|
-
rr.response.text = !lodash_1.isEmpty(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.response.text, rr.response.type) : redactedBodyText;
|
|
22
|
-
}
|
|
23
|
-
if (rr.postParameters) {
|
|
24
|
-
redactPostParameters(rr.postParameters, sensitiveKeys);
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
exports.redactSensitiveData = redactSensitiveData;
|
|
29
|
-
function redactKeysFromBody(sensitiveKeys, text, mimeType) {
|
|
30
|
-
try {
|
|
31
|
-
if (mimeType === null || mimeType === void 0 ? void 0 : mimeType.startsWith('application/x-www-form-urlencoded')) {
|
|
32
|
-
var params = qs_1.default.parse(text);
|
|
33
|
-
redactKeysFromJson(params, sensitiveKeys);
|
|
34
|
-
return qs_1.default.stringify(params);
|
|
35
|
-
}
|
|
36
|
-
else if (mimeType === null || mimeType === void 0 ? void 0 : mimeType.includes('application/json')) {
|
|
37
|
-
var json = JSON.parse(text);
|
|
38
|
-
if (!json) {
|
|
39
|
-
return text;
|
|
40
|
-
}
|
|
41
|
-
redactKeysFromJson(json, sensitiveKeys);
|
|
42
|
-
return JSON.stringify(json);
|
|
43
|
-
}
|
|
44
|
-
return text;
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
log_1.default.error('Failed to redact request / response body', e);
|
|
48
|
-
return redactedBodyText;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function redactKeysFromJson(json, sensitiveKeys) {
|
|
52
|
-
sensitiveKeys.forEach(function (key) {
|
|
53
|
-
jsonpath_1.default.apply(json, "$.." + key, function (_value) { return 'Redacted'; });
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
function redactPostParameters(postParameters, sensitiveKeys) {
|
|
57
|
-
if (postParameters === void 0) { postParameters = []; }
|
|
58
|
-
if (sensitiveKeys === void 0) { sensitiveKeys = []; }
|
|
59
|
-
postParameters.forEach(function (p) {
|
|
60
|
-
var paramName = parameters_1.parameterUtils.getParameterName(p);
|
|
61
|
-
if (!lodash_1.isEmpty(sensitiveKeys)) {
|
|
62
|
-
if (sensitiveKeys.includes(paramName)) {
|
|
63
|
-
p[paramName] = 'Redacted';
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
p[paramName] = 'Redacted';
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=redact-data.js.map
|
package/dist/redact-data.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redact-data.js","sourceRoot":"","sources":["../src/redact-data.ts"],"names":[],"mappings":"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"}
|
package/dist/report-types.d.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { Failures } from './failures';
|
|
2
|
-
import { MillInfo } from './mill-info';
|
|
3
|
-
import { PerRequestResTime, PerRequestStats } from './request-stats';
|
|
4
|
-
export declare type LoadResult = 'done' | 'aborted' | 'failed';
|
|
5
|
-
/**
|
|
6
|
-
* This report contains all the info that comes from Redis each time there is a status update.
|
|
7
|
-
*/
|
|
8
|
-
export interface LoadStatusReport extends AggregatedStatsReport {
|
|
9
|
-
endTime?: number;
|
|
10
|
-
startTime?: number;
|
|
11
|
-
result?: LoadResult;
|
|
12
|
-
activeSessions?: number;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* This report contains all the aggregated stats computed from individual mill reports.
|
|
16
|
-
*/
|
|
17
|
-
export interface AggregatedStatsReport extends BasicStatsReport {
|
|
18
|
-
/**
|
|
19
|
-
* The number of separate sessions / mills that sent at least one report.
|
|
20
|
-
*/
|
|
21
|
-
reportedSessions?: number;
|
|
22
|
-
append?: boolean;
|
|
23
|
-
failures?: Failures;
|
|
24
|
-
browserStatsMap?: StatsMap;
|
|
25
|
-
locationStatsMap?: StatsMap;
|
|
26
|
-
serverMetrics?: ServerMetrics;
|
|
27
|
-
avgResTimeSequence?: SequenceObj;
|
|
28
|
-
requestStats?: PerRequestResTime;
|
|
29
|
-
failureReportsMap?: HashKeysToReportIds;
|
|
30
|
-
avgIterationTimeSequence?: SequenceObj;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* A mapping that aggregates stats according to a certain feature, e.g. stats per browser version.
|
|
34
|
-
*/
|
|
35
|
-
export interface StatsMap {
|
|
36
|
-
[feature: string]: BasicStatsReport & {
|
|
37
|
-
sessions: number;
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* A sequence of stats (currently only the average response time) reported within a certain
|
|
42
|
-
* interval (between `firstTime` and `lastTime`).
|
|
43
|
-
*/
|
|
44
|
-
export interface SequenceObj {
|
|
45
|
-
append?: boolean;
|
|
46
|
-
sequence: ClientMetrics;
|
|
47
|
-
}
|
|
48
|
-
export declare type ClientMetrics = ClientMetricsClump[];
|
|
49
|
-
export declare type ClientMetricsClump = {
|
|
50
|
-
s?: number;
|
|
51
|
-
f?: number;
|
|
52
|
-
avg: number;
|
|
53
|
-
time: number;
|
|
54
|
-
p50?: number;
|
|
55
|
-
p95?: number;
|
|
56
|
-
weight: number;
|
|
57
|
-
concurrency: number;
|
|
58
|
-
};
|
|
59
|
-
export declare type ServerMetrics = ServerMetricsClump[];
|
|
60
|
-
export declare type ServerMetricsClump = {
|
|
61
|
-
_t: number;
|
|
62
|
-
uc?: number;
|
|
63
|
-
tc?: number;
|
|
64
|
-
tm?: number;
|
|
65
|
-
hm?: number;
|
|
66
|
-
uhm?: number;
|
|
67
|
-
};
|
|
68
|
-
export declare type HashKeysToReportIds = {
|
|
69
|
-
[hashKey: string]: string;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* This is the report sent to Redis every time a mill report is received.
|
|
73
|
-
*/
|
|
74
|
-
export declare type ToStoreStatsReport = StatsReportWithMillInfo & {
|
|
75
|
-
timestamp: number;
|
|
76
|
-
firstReport: boolean;
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* This report includes a single mill stats report along with additional meta data.
|
|
80
|
-
*/
|
|
81
|
-
export declare type StatsReportWithMillInfo = FromMillStatsReport & MillInfo & {
|
|
82
|
-
lordId: string;
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* The stats report sent by the mill.
|
|
86
|
-
*/
|
|
87
|
-
export interface FromMillStatsReport extends BasicStatsReport {
|
|
88
|
-
failures?: Failures;
|
|
89
|
-
requestStats?: PerRequestStats;
|
|
90
|
-
iterationTimes?: number[];
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* The basic stats we are usually interested in.
|
|
94
|
-
*/
|
|
95
|
-
export interface BasicStatsReport {
|
|
96
|
-
hits?: number;
|
|
97
|
-
avgResTime?: number;
|
|
98
|
-
failedIterations?: number;
|
|
99
|
-
successfulIterations?: number;
|
|
100
|
-
avgIterationTime?: number;
|
|
101
|
-
}
|
|
102
|
-
export declare function isInformative({ hits, avgResTime, failedIterations, successfulIterations, }: FromMillStatsReport): boolean | 0 | undefined;
|