@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.
Files changed (97) hide show
  1. package/package.json +6 -3
  2. package/dist/asserter.d.ts +0 -9
  3. package/dist/asserter.js +0 -141
  4. package/dist/asserter.js.map +0 -1
  5. package/dist/cookies.d.ts +0 -4
  6. package/dist/cookies.js +0 -79
  7. package/dist/cookies.js.map +0 -1
  8. package/dist/errors.d.ts +0 -5
  9. package/dist/errors.js +0 -38
  10. package/dist/errors.js.map +0 -1
  11. package/dist/extraction-combiner.d.ts +0 -17
  12. package/dist/extraction-combiner.js +0 -182
  13. package/dist/extraction-combiner.js.map +0 -1
  14. package/dist/failures.d.ts +0 -24
  15. package/dist/failures.js +0 -67
  16. package/dist/failures.js.map +0 -1
  17. package/dist/iteration-stats.d.ts +0 -2
  18. package/dist/iteration-stats.js +0 -38
  19. package/dist/iteration-stats.js.map +0 -1
  20. package/dist/message-creators.d.ts +0 -31
  21. package/dist/message-creators.js +0 -90
  22. package/dist/message-creators.js.map +0 -1
  23. package/dist/mill-info.d.ts +0 -66
  24. package/dist/mill-info.js +0 -3
  25. package/dist/mill-info.js.map +0 -1
  26. package/dist/mill-version.d.ts +0 -6
  27. package/dist/mill-version.js +0 -10
  28. package/dist/mill-version.js.map +0 -1
  29. package/dist/parameter-pools.d.ts +0 -3
  30. package/dist/parameter-pools.js +0 -69
  31. package/dist/parameter-pools.js.map +0 -1
  32. package/dist/post-script/ast-walker/index.d.ts +0 -18
  33. package/dist/post-script/ast-walker/index.js +0 -215
  34. package/dist/post-script/ast-walker/index.js.map +0 -1
  35. package/dist/post-script/ast-walker/type-guard.d.ts +0 -11
  36. package/dist/post-script/ast-walker/type-guard.js +0 -56
  37. package/dist/post-script/ast-walker/type-guard.js.map +0 -1
  38. package/dist/post-script/ast-walker/types.d.ts +0 -24
  39. package/dist/post-script/ast-walker/types.js +0 -25
  40. package/dist/post-script/ast-walker/types.js.map +0 -1
  41. package/dist/post-script/console-log.d.ts +0 -7
  42. package/dist/post-script/console-log.js +0 -31
  43. package/dist/post-script/console-log.js.map +0 -1
  44. package/dist/post-script/parser/acorn-js-parser.d.ts +0 -5
  45. package/dist/post-script/parser/acorn-js-parser.js +0 -20
  46. package/dist/post-script/parser/acorn-js-parser.js.map +0 -1
  47. package/dist/post-script/parser/js-parser.d.ts +0 -16
  48. package/dist/post-script/parser/js-parser.js +0 -3
  49. package/dist/post-script/parser/js-parser.js.map +0 -1
  50. package/dist/post-script/parser/parser.d.ts +0 -6
  51. package/dist/post-script/parser/parser.js +0 -3
  52. package/dist/post-script/parser/parser.js.map +0 -1
  53. package/dist/post-script/post-script-executor.d.ts +0 -24
  54. package/dist/post-script/post-script-executor.js +0 -125
  55. package/dist/post-script/post-script-executor.js.map +0 -1
  56. package/dist/post-script/virtual-machine/virtual-machine.d.ts +0 -13
  57. package/dist/post-script/virtual-machine/virtual-machine.js +0 -3
  58. package/dist/post-script/virtual-machine/virtual-machine.js.map +0 -1
  59. package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +0 -12
  60. package/dist/post-script/virtual-machine/vm2-virtual-machine.js +0 -81
  61. package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +0 -1
  62. package/dist/redact-data.d.ts +0 -2
  63. package/dist/redact-data.js +0 -71
  64. package/dist/redact-data.js.map +0 -1
  65. package/dist/report-types.d.ts +0 -102
  66. package/dist/report-types.js +0 -11
  67. package/dist/report-types.js.map +0 -1
  68. package/dist/request-sequence-result.d.ts +0 -44
  69. package/dist/request-sequence-result.js +0 -19
  70. package/dist/request-sequence-result.js.map +0 -1
  71. package/dist/request-stats.d.ts +0 -13
  72. package/dist/request-stats.js +0 -14
  73. package/dist/request-stats.js.map +0 -1
  74. package/dist/res-keeper.d.ts +0 -16
  75. package/dist/res-keeper.js +0 -104
  76. package/dist/res-keeper.js.map +0 -1
  77. package/dist/sampler.d.ts +0 -29
  78. package/dist/sampler.js +0 -276
  79. package/dist/sampler.js.map +0 -1
  80. package/dist/sequence.d.ts +0 -24
  81. package/dist/sequence.js +0 -1475
  82. package/dist/sequence.js.map +0 -1
  83. package/dist/single-runner.d.ts +0 -21
  84. package/dist/single-runner.js +0 -127
  85. package/dist/single-runner.js.map +0 -1
  86. package/dist/test-run-event-emitter.d.ts +0 -11
  87. package/dist/test-run-event-emitter.js +0 -36
  88. package/dist/test-run-event-emitter.js.map +0 -1
  89. package/dist/utils.d.ts +0 -1
  90. package/dist/utils.js +0 -29
  91. package/dist/utils.js.map +0 -1
  92. package/dist/work.d.ts +0 -15
  93. package/dist/work.js +0 -3
  94. package/dist/work.js.map +0 -1
  95. package/dist/ws.d.ts +0 -71
  96. package/dist/ws.js +0 -474
  97. 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,7 +0,0 @@
1
- export declare const LINE_LIMIT = 2500;
2
- export declare const CONSOLE_LOG_LIMIT = 100;
3
- export declare const myConsole: {
4
- stdout: string[];
5
- log: (...args: any[]) => void;
6
- setStdout: (newStdout: any) => any;
7
- };
@@ -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,5 +0,0 @@
1
- import { Options } from 'acorn';
2
- import { ESTree, JSParser } from './js-parser';
3
- export declare class AcornJSParser implements JSParser {
4
- parse(script: string, options?: Options): ESTree;
5
- }
@@ -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,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=js-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js-parser.js","sourceRoot":"","sources":["../../../src/post-script/parser/js-parser.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export interface Parser {
2
- parse(script: string): AbstractSyntaxTree;
3
- }
4
- export declare type AbstractSyntaxTree = {
5
- [name: string]: any;
6
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=parser.js.map
@@ -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":";;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA0C;AAC1C,+DAAyC;AAMzC,2CAAyC;AACzC,6EAA0E;AAC1E,6CAA0C;AAE1C;IAAA;QAAA,iBAqFC;QApFC;;;;mBAAa,UACX,kBAAsE,EACtE,cAA+C,EAC/C,QAAqB,EACrB,YAA4B;gBAH5B,mCAAA,EAAA,uBAA2C,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;gBACtE,+BAAA,EAAA,mBAA+C;gBAC/C,yBAAA,EAAA,aAAqB;gBACrB,6BAAA,EAAA,iBAA4B;gBAE5B,IAAM,YAAY,GAAG,IAAI,sBAAS,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC/G,IAAM,eAAe,GAAG,KAAI,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAElF,IAAM,EAAE,GAAG,IAAI,uCAAiB,EAAE,CAAC;gBACnC,EAAE,CAAC,MAAM,CAAC;oBACR,YAAY,sBAAI,MAAM,iBAAA,IAAK,cAAc,KAAE,OAAO,EAAE,uBAAS,EAAE,CAAC,EAAE,YAAY,GAAE;oBAChF,YAAY,EAAE,kBAAkB;iBACjC,CAAC,CAAC;gBAEH,IAAM,sBAAsB,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACvD,KAAI,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,CAAC;gBACxD,KAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;gBAChD,OAAO,EAAE,MAAM,EAAE,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5D,CAAC;WAAC;QAEF;;;;mBAAuB,UACrB,cAA+C,EAC/C,QAAqB,EACrB,YAA2B;gBAF3B,+BAAA,EAAA,mBAA+C;gBAC/C,yBAAA,EAAA,aAAqB;gBACrB,6BAAA,EAAA,iBAA2B;gBAE3B,IAAM,MAAM,GACZ,yGAGQ,KAAI,CAAC,qBAAqB,EAAE,YACnC,CAAC;gBAEF,IAAM,MAAM,GACZ,kCAEM,gCAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAK,YAAY,EAAE,IAAI,EAAE,qBAE7D,CAAC;gBAEF,OAAO,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;YACpC,CAAC;WAAC;QAEF;;;WAGG;QACF;;;;mBAAgC,cAAM,OAAA,+BAA+B,EAA/B,CAA+B;WAAC;QAEvE;;;;mBAA6B,UAAC,GAA+B;gBAC3D,SAAS,aAAa,CAAE,QAAgB;oBACtC,OAAO,IAAI,SAAS,CAAC,yDAAuD,QAAU,CAAC,CAAC;gBAC1F,CAAC;gBAED,YAAY,CAAC,GAAG,CAAC,CAAC;gBAElB,SAAS,YAAY,CACnB,GAA+B,EAC/B,KAA0D;oBAA1D,sBAAA,EAAA,YAAiD,OAAO,EAAE;oBAE1D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;wBAC3C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACf,KAAK,IAAM,GAAG,IAAI,GAAG,EAAE;4BACrB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gCACvB,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;6BAC1B;4BACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;yBAC/B;wBACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBACnB;gBACH,CAAC;YACH,CAAC;WAAC;IAaJ,CAAC;;;;;eAXC,UAA2B,OAAmC;YAC5D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;;gBAC9B,IAAI,CAAA,MAAA,MAAA,OAAO,CAAC,GAAG,CAAC,0CAAE,MAAM,0CAAE,IAAI,MAAK,QAAQ,EAAE;oBAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;QACL,CAAC;;;;;;eAED,UAAkB,KAAwB;YACxC,OAAO,mBAAS,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;;IACH,uBAAC;AAAD,CAAC,AArFD,IAqFC;AArFY,4CAAgB"}
@@ -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,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=virtual-machine.js.map
@@ -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"}
@@ -1,2 +0,0 @@
1
- import { ResolvedRequest } from './request-sequence-result';
2
- export declare function redactSensitiveData(resolvedRequests: ResolvedRequest[], sensitiveKeys?: string[]): void;
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"redact-data.js","sourceRoot":"","sources":["../src/redact-data.ts"],"names":[],"mappings":"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"}
@@ -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;