@memlab/cli 1.0.15 → 1.0.19

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 (169) hide show
  1. package/README.md +2 -2
  2. package/bin/memlab.js +2 -2
  3. package/bin/preinstall +1 -1
  4. package/dist/BaseCommand.d.ts +1 -1
  5. package/dist/BaseCommand.js +1 -1
  6. package/dist/CommandLoader.d.ts +1 -1
  7. package/dist/CommandLoader.js +2 -2
  8. package/dist/Dispatcher.d.ts +1 -1
  9. package/dist/Dispatcher.js +1 -1
  10. package/dist/TypesThirdParty.d.ts +1 -1
  11. package/dist/TypesThirdParty.js +1 -1
  12. package/dist/commands/CleanLoggerDataCommand.d.ts +1 -1
  13. package/dist/commands/CleanLoggerDataCommand.js +1 -1
  14. package/dist/commands/CleanRunDataCommand.d.ts +1 -1
  15. package/dist/commands/CleanRunDataCommand.js +1 -1
  16. package/dist/commands/GetVersionCommand.d.ts +1 -1
  17. package/dist/commands/GetVersionCommand.js +1 -1
  18. package/dist/commands/InitDirectoryCommand.d.ts +1 -1
  19. package/dist/commands/InitDirectoryCommand.js +1 -1
  20. package/dist/commands/ListScenariosCommand.d.ts +1 -1
  21. package/dist/commands/ListScenariosCommand.js +1 -1
  22. package/dist/commands/MemLabRunCommand.d.ts +1 -1
  23. package/dist/commands/MemLabRunCommand.js +1 -1
  24. package/dist/commands/PrintSummaryCommand.d.ts +1 -1
  25. package/dist/commands/PrintSummaryCommand.js +1 -1
  26. package/dist/commands/ResetDirectoryCommand.d.ts +1 -1
  27. package/dist/commands/ResetDirectoryCommand.js +1 -1
  28. package/dist/commands/RunMeasureCommand.d.ts +1 -1
  29. package/dist/commands/RunMeasureCommand.js +5 -1
  30. package/dist/commands/WarmupAppCommand.d.ts +1 -1
  31. package/dist/commands/WarmupAppCommand.js +5 -1
  32. package/dist/commands/heap/CheckLeakCommand.d.ts +1 -1
  33. package/dist/commands/heap/CheckLeakCommand.js +1 -1
  34. package/dist/commands/heap/GetRetainerTraceCommand.d.ts +1 -1
  35. package/dist/commands/heap/GetRetainerTraceCommand.js +1 -1
  36. package/dist/commands/heap/HeapAnalysisCommand.d.ts +1 -1
  37. package/dist/commands/heap/HeapAnalysisCommand.js +1 -1
  38. package/dist/commands/heap/HeapAnalysisSubCommandWrapper.d.ts +1 -1
  39. package/dist/commands/heap/HeapAnalysisSubCommandWrapper.js +1 -1
  40. package/dist/commands/heap/interactive/InteractiveCommandLoader.d.ts +1 -1
  41. package/dist/commands/heap/interactive/InteractiveCommandLoader.js +1 -1
  42. package/dist/commands/heap/interactive/InteractiveHeapCommand.d.ts +1 -1
  43. package/dist/commands/heap/interactive/InteractiveHeapCommand.js +1 -1
  44. package/dist/commands/heap/interactive/InteractiveHeapExploreCommand.d.ts +1 -1
  45. package/dist/commands/heap/interactive/InteractiveHeapExploreCommand.js +1 -1
  46. package/dist/commands/heap/interactive/ui-components/CliScreen.d.ts +5 -0
  47. package/dist/commands/heap/interactive/ui-components/CliScreen.js +47 -7
  48. package/dist/commands/heap/interactive/ui-components/HeapViewController.d.ts +1 -1
  49. package/dist/commands/heap/interactive/ui-components/HeapViewController.js +19 -0
  50. package/dist/commands/heap/interactive/ui-components/HeapViewUtils.d.ts +1 -1
  51. package/dist/commands/heap/interactive/ui-components/ListComponent.d.ts +1 -1
  52. package/dist/commands/helper/GenerateCLIDocCommand.d.ts +1 -1
  53. package/dist/commands/helper/GenerateCLIDocCommand.js +1 -1
  54. package/dist/commands/helper/HelperCommand.d.ts +1 -1
  55. package/dist/commands/helper/HelperCommand.js +1 -1
  56. package/dist/commands/helper/lib/CommandOrder.d.ts +1 -1
  57. package/dist/commands/helper/lib/CommandOrder.js +1 -1
  58. package/dist/commands/helper/lib/Types.d.ts +1 -1
  59. package/dist/commands/helper/lib/Types.js +1 -1
  60. package/dist/commands/query/QueryDefaultWorkDirCommand.d.ts +1 -1
  61. package/dist/commands/query/QueryDefaultWorkDirCommand.js +1 -1
  62. package/dist/commands/snapshot/CheckXvfbSupportCommand.d.ts +1 -1
  63. package/dist/commands/snapshot/CheckXvfbSupportCommand.js +1 -1
  64. package/dist/commands/snapshot/Snapshot.d.ts +1 -1
  65. package/dist/commands/snapshot/Snapshot.js +1 -1
  66. package/dist/commands/snapshot/TakeSnapshotCommand.d.ts +1 -1
  67. package/dist/commands/snapshot/TakeSnapshotCommand.js +5 -1
  68. package/dist/commands/snapshot/WarmupAndSnapshotCommand.d.ts +1 -1
  69. package/dist/commands/snapshot/WarmupAndSnapshotCommand.js +1 -1
  70. package/dist/index.d.ts +1 -1
  71. package/dist/index.js +1 -1
  72. package/dist/options/DebugOption.d.ts +1 -1
  73. package/dist/options/DebugOption.js +7 -3
  74. package/dist/options/HelperOption.d.ts +1 -1
  75. package/dist/options/HelperOption.js +7 -3
  76. package/dist/options/MLClusteringLinkageMaxDistanceOption.d.ts +1 -1
  77. package/dist/options/MLClusteringLinkageMaxDistanceOption.js +10 -4
  78. package/dist/options/MLClusteringMaxDFOption.d.ts +1 -1
  79. package/dist/options/MLClusteringMaxDFOption.js +10 -4
  80. package/dist/options/MLClusteringOption.d.ts +1 -1
  81. package/dist/options/MLClusteringOption.js +8 -3
  82. package/dist/options/NumberOfRunsOption.d.ts +1 -1
  83. package/dist/options/NumberOfRunsOption.js +6 -2
  84. package/dist/options/SetContinuousTestOption.d.ts +1 -1
  85. package/dist/options/SetContinuousTestOption.js +8 -3
  86. package/dist/options/SetWorkingDirectoryOption.d.ts +1 -1
  87. package/dist/options/SetWorkingDirectoryOption.js +6 -2
  88. package/dist/options/SilentOption.d.ts +1 -1
  89. package/dist/options/SilentOption.js +7 -3
  90. package/dist/options/VerboseOption.d.ts +1 -1
  91. package/dist/options/VerboseOption.js +7 -3
  92. package/dist/options/constant.d.ts +50 -0
  93. package/dist/options/constant.js +52 -0
  94. package/dist/options/e2e/AppOption.d.ts +1 -1
  95. package/dist/options/e2e/AppOption.js +10 -6
  96. package/dist/options/e2e/DisableWebSecurityOption.d.ts +18 -0
  97. package/dist/options/e2e/DisableWebSecurityOption.js +42 -0
  98. package/dist/options/e2e/DisableXvfbOption.d.ts +1 -1
  99. package/dist/options/e2e/DisableXvfbOption.js +7 -3
  100. package/dist/options/e2e/EnableJSInterceptOption.d.ts +18 -0
  101. package/dist/options/e2e/EnableJSInterceptOption.js +42 -0
  102. package/dist/options/e2e/EnableJSRewriteOption.d.ts +18 -0
  103. package/dist/options/e2e/EnableJSRewriteOption.js +44 -0
  104. package/dist/options/e2e/FullExecutionOption.d.ts +1 -1
  105. package/dist/options/e2e/FullExecutionOption.js +7 -3
  106. package/dist/options/e2e/HeadfulBrowserOption.d.ts +1 -1
  107. package/dist/options/e2e/HeadfulBrowserOption.js +6 -2
  108. package/dist/options/e2e/InteractionOption.d.ts +1 -1
  109. package/dist/options/e2e/InteractionOption.js +10 -6
  110. package/dist/options/e2e/RemoteBrowserDebugOption.d.ts +1 -1
  111. package/dist/options/e2e/RemoteBrowserDebugOption.js +7 -3
  112. package/dist/options/e2e/RunningModeOption.d.ts +1 -1
  113. package/dist/options/e2e/RunningModeOption.js +7 -3
  114. package/dist/options/e2e/ScenarioFileOption.d.ts +1 -1
  115. package/dist/options/e2e/ScenarioFileOption.js +10 -4
  116. package/dist/options/e2e/SetDeviceOption.d.ts +1 -1
  117. package/dist/options/e2e/SetDeviceOption.js +10 -4
  118. package/dist/options/e2e/SetUserAgentOption.d.ts +1 -1
  119. package/dist/options/e2e/SetUserAgentOption.js +6 -2
  120. package/dist/options/e2e/SkipExtraOperationOption.d.ts +1 -1
  121. package/dist/options/e2e/SkipExtraOperationOption.js +8 -3
  122. package/dist/options/e2e/SkipGCOption.d.ts +1 -1
  123. package/dist/options/e2e/SkipGCOption.js +6 -2
  124. package/dist/options/e2e/SkipScreenshotOption.d.ts +1 -1
  125. package/dist/options/e2e/SkipScreenshotOption.js +7 -3
  126. package/dist/options/e2e/SkipScrollOption.d.ts +1 -1
  127. package/dist/options/e2e/SkipScrollOption.js +7 -3
  128. package/dist/options/e2e/SkipSnapshotOption.d.ts +1 -1
  129. package/dist/options/e2e/SkipSnapshotOption.js +7 -3
  130. package/dist/options/e2e/SkipWarmupOption.d.ts +1 -1
  131. package/dist/options/e2e/SkipWarmupOption.js +6 -2
  132. package/dist/options/heap/BaselineFileOption.d.ts +1 -1
  133. package/dist/options/heap/BaselineFileOption.js +6 -4
  134. package/dist/options/heap/FinalFileOption.d.ts +1 -1
  135. package/dist/options/heap/FinalFileOption.js +6 -4
  136. package/dist/options/heap/HeapNodeIdOption.d.ts +1 -1
  137. package/dist/options/heap/HeapNodeIdOption.js +6 -2
  138. package/dist/options/heap/JSEngineOption.d.ts +1 -1
  139. package/dist/options/heap/JSEngineOption.js +9 -4
  140. package/dist/options/heap/LeakClusterSizeThresholdOption.d.ts +1 -1
  141. package/dist/options/heap/LeakClusterSizeThresholdOption.js +6 -2
  142. package/dist/options/heap/LogTraceAsClusterOption.d.ts +1 -1
  143. package/dist/options/heap/LogTraceAsClusterOption.js +6 -2
  144. package/dist/options/heap/OversizeThresholdOption.d.ts +1 -1
  145. package/dist/options/heap/OversizeThresholdOption.js +6 -2
  146. package/dist/options/heap/SnapshotDirectoryOption.d.ts +1 -1
  147. package/dist/options/heap/SnapshotDirectoryOption.js +6 -4
  148. package/dist/options/heap/SnapshotFileOption.d.ts +1 -1
  149. package/dist/options/heap/SnapshotFileOption.js +6 -4
  150. package/dist/options/heap/TargetFileOption.d.ts +1 -1
  151. package/dist/options/heap/TargetFileOption.js +6 -4
  152. package/dist/options/heap/TraceAllObjectsOption.d.ts +1 -1
  153. package/dist/options/heap/TraceAllObjectsOption.js +6 -2
  154. package/dist/options/heap/leak-filter/LeakFilterFileOption.d.ts +1 -1
  155. package/dist/options/heap/leak-filter/LeakFilterFileOption.js +6 -2
  156. package/dist/options/heap/leak-filter/examples/FilterLib.d.ts +1 -1
  157. package/dist/options/heap/leak-filter/examples/FilterLib.js +1 -1
  158. package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-1.d.ts +1 -1
  159. package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-1.js +1 -1
  160. package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-2.d.ts +1 -1
  161. package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-2.js +1 -1
  162. package/dist/options/heap/leak-filter/examples/large-object-as-leak.example.js +1 -1
  163. package/dist/options/lib/OptionConstant.d.ts +116 -0
  164. package/dist/options/lib/OptionConstant.js +67 -0
  165. package/dist/options/lib/UniversalOptions.d.ts +1 -1
  166. package/dist/options/lib/UniversalOptions.js +1 -1
  167. package/dist/runner.d.ts +1 -1
  168. package/dist/runner.js +1 -1
  169. package/package.json +5 -5
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  * @format
9
- * @oncall ws_labs
9
+ * @oncall web_perf_infra
10
10
  */
11
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -17,14 +17,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18
18
  });
19
19
  };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("./lib/OptionConstant"));
22
26
  class SilentOption extends core_1.BaseOption {
23
27
  getOptionName() {
24
- return 'silent';
28
+ return OptionConstant_1.default.optionNames.SILENT;
25
29
  }
26
30
  getOptionShortcut() {
27
- return 's';
31
+ return OptionConstant_1.default.optionShortcuts.S;
28
32
  }
29
33
  getDescription() {
30
34
  return 'mute all terminal output';
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @oncall ws_labs
8
+ * @oncall web_perf_infra
9
9
  */
10
10
  import type { ParsedArgs } from 'minimist';
11
11
  import type { MemLabConfig } from '@memlab/core';
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  * @format
9
- * @oncall ws_labs
9
+ * @oncall web_perf_infra
10
10
  */
11
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -17,14 +17,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18
18
  });
19
19
  };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("./lib/OptionConstant"));
22
26
  class VerboseOption extends core_1.BaseOption {
23
27
  getOptionName() {
24
- return 'verbose';
28
+ return OptionConstant_1.default.optionNames.VERBOSE;
25
29
  }
26
30
  getOptionShortcut() {
27
- return 'v';
31
+ return OptionConstant_1.default.optionShortcuts.V;
28
32
  }
29
33
  getDescription() {
30
34
  return 'show more details';
@@ -0,0 +1,50 @@
1
+ export declare const OptionNames: {
2
+ DEBUG: string;
3
+ HELP: string;
4
+ ML_LINKAGE_MAX_DIST: string;
5
+ ML_CLUSTERING_MAX_DF: string;
6
+ ML_CLUSTERING: string;
7
+ RUN_NUM: string;
8
+ SC: string;
9
+ CONTINUS_TEST: string;
10
+ WORK_DIR: string;
11
+ SILENT: string;
12
+ VERBOSE: string;
13
+ LEAK_FILTER: string;
14
+ BASELINE: string;
15
+ FINAL: string;
16
+ NODE_ID: string;
17
+ ENGINE: string;
18
+ IGNORE_LEAK_CLUSTER_SIZE_BELOW: string;
19
+ SAVE_TRACE_AS_UNCLASSIFIED_CLUSTER: string;
20
+ TRACE_OBJECT_SIZE_ABOVE: string;
21
+ SNAPSHOT_DIR: string;
22
+ SNAPSHOT: string;
23
+ TARGET: string;
24
+ TRACE_ALL_OBJECTS: string;
25
+ APP: string;
26
+ DISABLE_WEB_SECURITY: string;
27
+ DISABLE_XVFB: string;
28
+ REWRITE_JS: string;
29
+ FULL: string;
30
+ HEADFUL: string;
31
+ INTERACTION: string;
32
+ LOCAL_PUPPETEER: string;
33
+ RUN_MODE: string;
34
+ SCENARIO: string;
35
+ DEVICE: string;
36
+ USER_AGENT: string;
37
+ SKIP_EXTRA_OPS: string;
38
+ SKIP_EXTRA_OP: string;
39
+ SKIP_GC: string;
40
+ SKIP_SCREENSHOT: string;
41
+ SKIP_SCROLL: string;
42
+ SKIP_SNAPSHOT: string;
43
+ SKIP_WARMUP: string;
44
+ };
45
+ export declare const OptionShortcuts: {
46
+ H: string;
47
+ S: string;
48
+ V: string;
49
+ };
50
+ //# sourceMappingURL=constant.d.ts.map
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OptionShortcuts = exports.OptionNames = void 0;
4
+ exports.OptionNames = {
5
+ DEBUG: 'debug',
6
+ HELP: 'help',
7
+ ML_LINKAGE_MAX_DIST: 'ml-linkage-max-dist',
8
+ ML_CLUSTERING_MAX_DF: 'ml-clustering-max-df',
9
+ ML_CLUSTERING: 'ml-clustering',
10
+ RUN_NUM: 'run-num',
11
+ SC: 'sc',
12
+ CONTINUS_TEST: 'ContinuousTest',
13
+ WORK_DIR: 'work-dir',
14
+ SILENT: 'silent',
15
+ VERBOSE: 'verbose',
16
+ LEAK_FILTER: 'leak-filter',
17
+ BASELINE: 'baseline',
18
+ FINAL: 'final',
19
+ NODE_ID: 'node-id',
20
+ ENGINE: 'engine',
21
+ IGNORE_LEAK_CLUSTER_SIZE_BELOW: 'ignore-leak-cluster-size-below',
22
+ SAVE_TRACE_AS_UNCLASSIFIED_CLUSTER: 'save-trace-as-unclassified-cluster',
23
+ TRACE_OBJECT_SIZE_ABOVE: 'trace-object-size-above',
24
+ SNAPSHOT_DIR: 'snapshot-dir',
25
+ SNAPSHOT: 'snapshot',
26
+ TARGET: 'target',
27
+ TRACE_ALL_OBJECTS: 'trace-all-objects',
28
+ APP: 'app',
29
+ DISABLE_WEB_SECURITY: 'disable-web-security',
30
+ DISABLE_XVFB: 'disable-xvfb',
31
+ REWRITE_JS: 'rewrite-js',
32
+ FULL: 'full',
33
+ HEADFUL: 'headful',
34
+ INTERACTION: 'interaction',
35
+ LOCAL_PUPPETEER: 'local-puppeteer',
36
+ RUN_MODE: 'run-mode',
37
+ SCENARIO: 'scenario',
38
+ DEVICE: 'device',
39
+ USER_AGENT: 'user-agent',
40
+ SKIP_EXTRA_OPS: 'skip-extra-ops',
41
+ SKIP_EXTRA_OP: 'skip-extra-op',
42
+ SKIP_GC: 'skip-gc',
43
+ SKIP_SCREENSHOT: 'skip-screenshot',
44
+ SKIP_SCROLL: 'skip-scroll',
45
+ SKIP_SNAPSHOT: 'skip-snapshot',
46
+ SKIP_WARMUP: 'skip-warmup',
47
+ };
48
+ exports.OptionShortcuts = {
49
+ H: 'h',
50
+ S: 's',
51
+ V: 'v',
52
+ };
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @oncall ws_labs
8
+ * @oncall web_perf_infra
9
9
  */
10
10
  import type { ParsedArgs } from 'minimist';
11
11
  import type { MemLabConfig } from '@memlab/core';
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  * @format
9
- * @oncall ws_labs
9
+ * @oncall web_perf_infra
10
10
  */
11
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -17,11 +17,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18
18
  });
19
19
  };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
22
26
  class AppOption extends core_1.BaseOption {
23
27
  getOptionName() {
24
- return 'app';
28
+ return OptionConstant_1.default.optionNames.APP;
25
29
  }
26
30
  getDescription() {
27
31
  return 'set name for onboarded web application';
@@ -31,10 +35,10 @@ class AppOption extends core_1.BaseOption {
31
35
  }
32
36
  parse(config, args) {
33
37
  return __awaiter(this, void 0, void 0, function* () {
34
- if (args.app) {
35
- config.targetApp = Array.isArray(args.app)
36
- ? args.app[args.app.length - 1]
37
- : args.app;
38
+ const name = this.getOptionName();
39
+ const arg = args[name];
40
+ if (arg) {
41
+ config.targetApp = Array.isArray(arg) ? arg[arg.length - 1] : arg;
38
42
  }
39
43
  });
40
44
  }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @oncall web_perf_infra
9
+ */
10
+ import type { ParsedArgs } from 'minimist';
11
+ import type { MemLabConfig } from '@memlab/core';
12
+ import { BaseOption } from '@memlab/core';
13
+ export default class DisableWebSecurityOption extends BaseOption {
14
+ getOptionName(): string;
15
+ getDescription(): string;
16
+ parse(config: MemLabConfig, args: ParsedArgs): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=DisableWebSecurityOption.d.ts.map
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * @format
9
+ * @oncall web_perf_infra
10
+ */
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
26
+ class DisableWebSecurityOption extends core_1.BaseOption {
27
+ getOptionName() {
28
+ return OptionConstant_1.default.optionNames.DISABLE_WEB_SECURITY;
29
+ }
30
+ getDescription() {
31
+ return ('disable web security in Chromium to enable cross domain requests; ' +
32
+ 'web security is enabled by default');
33
+ }
34
+ parse(config, args) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ if (args[this.getOptionName()]) {
37
+ config.disableWebSecurity = true;
38
+ }
39
+ });
40
+ }
41
+ }
42
+ exports.default = DisableWebSecurityOption;
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @oncall ws_labs
8
+ * @oncall web_perf_infra
9
9
  */
10
10
  import type { ParsedArgs } from 'minimist';
11
11
  import type { MemLabConfig } from '@memlab/core';
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  * @format
9
- * @oncall ws_labs
9
+ * @oncall web_perf_infra
10
10
  */
11
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -17,18 +17,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18
18
  });
19
19
  };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
22
26
  class DisableXvfbOption extends core_1.BaseOption {
23
27
  getOptionName() {
24
- return 'disable-xvfb';
28
+ return OptionConstant_1.default.optionNames.DISABLE_XVFB;
25
29
  }
26
30
  getDescription() {
27
31
  return 'disable Xvfb (X virtual framebuffer) for simulating headful browser rendering';
28
32
  }
29
33
  parse(config, args) {
30
34
  return __awaiter(this, void 0, void 0, function* () {
31
- if (args['disable-xvfb']) {
35
+ if (args[this.getOptionName()]) {
32
36
  config.useXVFB = false;
33
37
  }
34
38
  });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @oncall web_perf_infra
9
+ */
10
+ import type { ParsedArgs } from 'minimist';
11
+ import type { MemLabConfig } from '@memlab/core';
12
+ import { BaseOption } from '@memlab/core';
13
+ export default class EnableJSInterceptOption extends BaseOption {
14
+ getOptionName(): string;
15
+ getDescription(): string;
16
+ parse(config: MemLabConfig, args: ParsedArgs): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=EnableJSInterceptOption.d.ts.map
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * @format
9
+ * @oncall web_perf_infra
10
+ */
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
26
+ class EnableJSInterceptOption extends core_1.BaseOption {
27
+ getOptionName() {
28
+ return OptionConstant_1.default.optionNames.LOG_SCRIPT;
29
+ }
30
+ getDescription() {
31
+ return 'enable intercepting and logging JavaScript code in browser';
32
+ }
33
+ parse(config, args) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (args[this.getOptionName()]) {
36
+ // intercept script
37
+ config.interceptScript = true;
38
+ }
39
+ });
40
+ }
41
+ }
42
+ exports.default = EnableJSInterceptOption;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @oncall web_perf_infra
9
+ */
10
+ import type { ParsedArgs } from 'minimist';
11
+ import type { MemLabConfig } from '@memlab/core';
12
+ import { BaseOption } from '@memlab/core';
13
+ export default class EnableJSRewriteOption extends BaseOption {
14
+ getOptionName(): string;
15
+ getDescription(): string;
16
+ parse(config: MemLabConfig, args: ParsedArgs): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=EnableJSRewriteOption.d.ts.map
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * @format
9
+ * @oncall web_perf_infra
10
+ */
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
26
+ class EnableJSRewriteOption extends core_1.BaseOption {
27
+ getOptionName() {
28
+ return OptionConstant_1.default.optionNames.REWRITE_JS;
29
+ }
30
+ getDescription() {
31
+ return 'enable instrument JavaScript code in browser';
32
+ }
33
+ parse(config, args) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (args[this.getOptionName()]) {
36
+ // intercept script
37
+ config.interceptScript = true;
38
+ // rewrite script
39
+ config.instrumentJS = true;
40
+ }
41
+ });
42
+ }
43
+ }
44
+ exports.default = EnableJSRewriteOption;
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @oncall ws_labs
8
+ * @oncall web_perf_infra
9
9
  */
10
10
  import type { ParsedArgs } from 'minimist';
11
11
  import type { MemLabConfig } from '@memlab/core';
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  * @format
9
- * @oncall ws_labs
9
+ * @oncall web_perf_infra
10
10
  */
11
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -17,18 +17,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18
18
  });
19
19
  };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
22
26
  class FullExecutionOption extends core_1.BaseOption {
23
27
  getOptionName() {
24
- return 'full';
28
+ return OptionConstant_1.default.optionNames.FULL;
25
29
  }
26
30
  getDescription() {
27
31
  return 'take heap snapshot for every step in E2E interaction';
28
32
  }
29
33
  parse(config, args) {
30
34
  return __awaiter(this, void 0, void 0, function* () {
31
- if (args.full) {
35
+ if (args[this.getOptionName()]) {
32
36
  config.isFullRun = true;
33
37
  }
34
38
  });
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @oncall ws_labs
8
+ * @oncall web_perf_infra
9
9
  */
10
10
  import type { ParsedArgs } from 'minimist';
11
11
  import type { MemLabConfig } from '@memlab/core';
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  * @format
9
- * @oncall ws_labs
9
+ * @oncall web_perf_infra
10
10
  */
11
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -17,11 +17,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18
18
  });
19
19
  };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
22
26
  class HeadfulBrowserOption extends core_1.BaseOption {
23
27
  getOptionName() {
24
- return 'headful';
28
+ return OptionConstant_1.default.optionNames.HEADFUL;
25
29
  }
26
30
  getDescription() {
27
31
  return 'start the browser in headful mode, but default it is headless';
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @oncall ws_labs
8
+ * @oncall web_perf_infra
9
9
  */
10
10
  import type { ParsedArgs } from 'minimist';
11
11
  import type { MemLabConfig } from '@memlab/core';
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  * @format
9
- * @oncall ws_labs
9
+ * @oncall web_perf_infra
10
10
  */
11
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -17,11 +17,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18
18
  });
19
19
  };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
22
26
  class InteractionOption extends core_1.BaseOption {
23
27
  getOptionName() {
24
- return 'interaction';
28
+ return OptionConstant_1.default.optionNames.INTERACTION;
25
29
  }
26
30
  getDescription() {
27
31
  return 'set name for onboarded interaction';
@@ -31,10 +35,10 @@ class InteractionOption extends core_1.BaseOption {
31
35
  }
32
36
  parse(config, args) {
33
37
  return __awaiter(this, void 0, void 0, function* () {
34
- if (args.interaction) {
35
- config.targetTab = Array.isArray(args.interaction)
36
- ? args.interaction[args.interaction.length - 1]
37
- : args.interaction;
38
+ const name = this.getOptionName();
39
+ const arg = args[name];
40
+ if (arg) {
41
+ config.targetTab = Array.isArray(arg) ? arg[arg.length - 1] : arg;
38
42
  }
39
43
  });
40
44
  }
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @oncall ws_labs
8
+ * @oncall web_perf_infra
9
9
  */
10
10
  import type { ParsedArgs } from 'minimist';
11
11
  import type { MemLabConfig } from '@memlab/core';
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  * @format
9
- * @oncall ws_labs
9
+ * @oncall web_perf_infra
10
10
  */
11
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -17,18 +17,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18
18
  });
19
19
  };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
22
26
  class RemoteBrowserDebugOption extends core_1.BaseOption {
23
27
  getOptionName() {
24
- return 'local-puppeteer';
28
+ return OptionConstant_1.default.optionNames.LOCAL_PUPPETEER;
25
29
  }
26
30
  getDescription() {
27
31
  return 'enable remote browser instance debugging via local puppeteer';
28
32
  }
29
33
  parse(config, args) {
30
34
  return __awaiter(this, void 0, void 0, function* () {
31
- if (args['local-puppeteer']) {
35
+ if (args[this.getOptionName()]) {
32
36
  config.isLocalPuppeteer = true;
33
37
  }
34
38
  });
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @oncall ws_labs
8
+ * @oncall web_perf_infra
9
9
  */
10
10
  import type { ParsedArgs } from 'minimist';
11
11
  import type { MemLabConfig } from '@memlab/core';