@memlab/cli 1.0.15 → 1.0.17

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 (163) 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 +1 -1
  74. package/dist/options/HelperOption.d.ts +1 -1
  75. package/dist/options/HelperOption.js +1 -1
  76. package/dist/options/MLClusteringLinkageMaxDistanceOption.d.ts +1 -1
  77. package/dist/options/MLClusteringLinkageMaxDistanceOption.js +1 -1
  78. package/dist/options/MLClusteringMaxDFOption.d.ts +1 -1
  79. package/dist/options/MLClusteringMaxDFOption.js +1 -1
  80. package/dist/options/MLClusteringOption.d.ts +1 -1
  81. package/dist/options/MLClusteringOption.js +1 -1
  82. package/dist/options/NumberOfRunsOption.d.ts +1 -1
  83. package/dist/options/NumberOfRunsOption.js +1 -1
  84. package/dist/options/SetContinuousTestOption.d.ts +1 -1
  85. package/dist/options/SetContinuousTestOption.js +1 -1
  86. package/dist/options/SetWorkingDirectoryOption.d.ts +1 -1
  87. package/dist/options/SetWorkingDirectoryOption.js +1 -1
  88. package/dist/options/SilentOption.d.ts +1 -1
  89. package/dist/options/SilentOption.js +1 -1
  90. package/dist/options/VerboseOption.d.ts +1 -1
  91. package/dist/options/VerboseOption.js +1 -1
  92. package/dist/options/e2e/AppOption.d.ts +1 -1
  93. package/dist/options/e2e/AppOption.js +1 -1
  94. package/dist/options/e2e/DisableWebSecurityOption.d.ts +18 -0
  95. package/dist/options/e2e/DisableWebSecurityOption.js +38 -0
  96. package/dist/options/e2e/DisableXvfbOption.d.ts +1 -1
  97. package/dist/options/e2e/DisableXvfbOption.js +1 -1
  98. package/dist/options/e2e/EnableJSRewriteOption.d.ts +18 -0
  99. package/dist/options/e2e/EnableJSRewriteOption.js +37 -0
  100. package/dist/options/e2e/FullExecutionOption.d.ts +1 -1
  101. package/dist/options/e2e/FullExecutionOption.js +1 -1
  102. package/dist/options/e2e/HeadfulBrowserOption.d.ts +1 -1
  103. package/dist/options/e2e/HeadfulBrowserOption.js +1 -1
  104. package/dist/options/e2e/InteractionOption.d.ts +1 -1
  105. package/dist/options/e2e/InteractionOption.js +1 -1
  106. package/dist/options/e2e/RemoteBrowserDebugOption.d.ts +1 -1
  107. package/dist/options/e2e/RemoteBrowserDebugOption.js +1 -1
  108. package/dist/options/e2e/RunningModeOption.d.ts +1 -1
  109. package/dist/options/e2e/RunningModeOption.js +1 -1
  110. package/dist/options/e2e/ScenarioFileOption.d.ts +1 -1
  111. package/dist/options/e2e/ScenarioFileOption.js +1 -1
  112. package/dist/options/e2e/SetDeviceOption.d.ts +1 -1
  113. package/dist/options/e2e/SetDeviceOption.js +1 -1
  114. package/dist/options/e2e/SetUserAgentOption.d.ts +1 -1
  115. package/dist/options/e2e/SetUserAgentOption.js +1 -1
  116. package/dist/options/e2e/SkipExtraOperationOption.d.ts +1 -1
  117. package/dist/options/e2e/SkipExtraOperationOption.js +1 -1
  118. package/dist/options/e2e/SkipGCOption.d.ts +1 -1
  119. package/dist/options/e2e/SkipGCOption.js +1 -1
  120. package/dist/options/e2e/SkipScreenshotOption.d.ts +1 -1
  121. package/dist/options/e2e/SkipScreenshotOption.js +1 -1
  122. package/dist/options/e2e/SkipScrollOption.d.ts +1 -1
  123. package/dist/options/e2e/SkipScrollOption.js +1 -1
  124. package/dist/options/e2e/SkipSnapshotOption.d.ts +1 -1
  125. package/dist/options/e2e/SkipSnapshotOption.js +1 -1
  126. package/dist/options/e2e/SkipWarmupOption.d.ts +1 -1
  127. package/dist/options/e2e/SkipWarmupOption.js +1 -1
  128. package/dist/options/heap/BaselineFileOption.d.ts +1 -1
  129. package/dist/options/heap/BaselineFileOption.js +1 -1
  130. package/dist/options/heap/FinalFileOption.d.ts +1 -1
  131. package/dist/options/heap/FinalFileOption.js +1 -1
  132. package/dist/options/heap/HeapNodeIdOption.d.ts +1 -1
  133. package/dist/options/heap/HeapNodeIdOption.js +1 -1
  134. package/dist/options/heap/JSEngineOption.d.ts +1 -1
  135. package/dist/options/heap/JSEngineOption.js +1 -1
  136. package/dist/options/heap/LeakClusterSizeThresholdOption.d.ts +1 -1
  137. package/dist/options/heap/LeakClusterSizeThresholdOption.js +1 -1
  138. package/dist/options/heap/LogTraceAsClusterOption.d.ts +1 -1
  139. package/dist/options/heap/LogTraceAsClusterOption.js +1 -1
  140. package/dist/options/heap/OversizeThresholdOption.d.ts +1 -1
  141. package/dist/options/heap/OversizeThresholdOption.js +1 -1
  142. package/dist/options/heap/SnapshotDirectoryOption.d.ts +1 -1
  143. package/dist/options/heap/SnapshotDirectoryOption.js +1 -1
  144. package/dist/options/heap/SnapshotFileOption.d.ts +1 -1
  145. package/dist/options/heap/SnapshotFileOption.js +1 -1
  146. package/dist/options/heap/TargetFileOption.d.ts +1 -1
  147. package/dist/options/heap/TargetFileOption.js +1 -1
  148. package/dist/options/heap/TraceAllObjectsOption.d.ts +1 -1
  149. package/dist/options/heap/TraceAllObjectsOption.js +1 -1
  150. package/dist/options/heap/leak-filter/LeakFilterFileOption.d.ts +1 -1
  151. package/dist/options/heap/leak-filter/LeakFilterFileOption.js +1 -1
  152. package/dist/options/heap/leak-filter/examples/FilterLib.d.ts +1 -1
  153. package/dist/options/heap/leak-filter/examples/FilterLib.js +1 -1
  154. package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-1.d.ts +1 -1
  155. package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-1.js +1 -1
  156. package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-2.d.ts +1 -1
  157. package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-2.js +1 -1
  158. package/dist/options/heap/leak-filter/examples/large-object-as-leak.example.js +1 -1
  159. package/dist/options/lib/UniversalOptions.d.ts +1 -1
  160. package/dist/options/lib/UniversalOptions.js +1 -1
  161. package/dist/runner.d.ts +1 -1
  162. package/dist/runner.js +1 -1
  163. package/package.json +5 -5
package/README.md CHANGED
@@ -4,5 +4,5 @@ This is the memlab CLI library. It contains all memlab commands, command-line op
4
4
  The library supports adding new commands.
5
5
 
6
6
  ## Online Resources
7
- * [Official Website and Demo](https://facebookincubator.github.io/memlab)
8
- * [Documentation](https://facebookincubator.github.io/memlab/docs/intro)
7
+ * [Official Website and Demo](https://facebook.github.io/memlab)
8
+ * [Documentation](https://facebook.github.io/memlab/docs/intro)
package/bin/memlab.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node --expose-gc --max-old-space-size=4096
1
+ #!/usr/bin/env -S node --expose-gc --max-old-space-size=4096
2
2
 
3
3
  /**
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -7,7 +7,7 @@
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  *
9
9
  * @format
10
- * @oncall ws_labs
10
+ * @oncall web_perf_infra
11
11
  */
12
12
 
13
13
  // eslint-disable-next-line no-var
package/bin/preinstall CHANGED
@@ -7,7 +7,7 @@
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  *
9
9
  * @format
10
- * @oncall ws_labs
10
+ * @oncall web_perf_infra
11
11
  */
12
12
 
13
13
  const path = require("path");
@@ -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 { CLIOptions, Nullable } from '@memlab/core';
11
11
  import { BaseOption } 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); }); }
@@ -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 BaseCommand from './BaseCommand';
11
11
  export default class CommandLoader {
@@ -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 __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -70,7 +70,7 @@ class CommandLoader {
70
70
  }
71
71
  const commandName = moduleInstance.getCommandName();
72
72
  const loadingOssCommand = !core_1.fileManager.isWithinInternalDirectory(modulePath);
73
- // reigster OSS commands
73
+ // register OSS commands
74
74
  if (loadingOssCommand) {
75
75
  this.OSSModules.set(commandName, moduleInstance);
76
76
  }
@@ -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 { AnyRecord, 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); }); }
@@ -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
  /// <reference types="node" />
11
11
  declare module 'html-inline' {
@@ -6,5 +6,5 @@
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
  */
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand from '../BaseCommand';
@@ -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); }); }
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand from '../BaseCommand';
@@ -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); }); }
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand from '../BaseCommand';
@@ -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); }); }
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand from '../BaseCommand';
@@ -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); }); }
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand from '../BaseCommand';
@@ -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); }); }
@@ -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 { BaseOption, CLIOptions } from '@memlab/core';
11
11
  import BaseCommand, { CommandCategory } from '../BaseCommand';
@@ -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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
12
  if (k2 === undefined) k2 = k;
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand from '../BaseCommand';
@@ -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); }); }
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand from '../BaseCommand';
@@ -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); }); }
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand from '../BaseCommand';
@@ -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); }); }
@@ -42,6 +42,8 @@ const SetUserAgentOption_1 = __importDefault(require("../options/e2e/SetUserAgen
42
42
  const DisableXvfbOption_1 = __importDefault(require("../options/e2e/DisableXvfbOption"));
43
43
  const NumberOfRunsOption_1 = __importDefault(require("../options/NumberOfRunsOption"));
44
44
  const HeadfulBrowserOption_1 = __importDefault(require("../options/e2e/HeadfulBrowserOption"));
45
+ const DisableWebSecurityOption_1 = __importDefault(require("../options/e2e/DisableWebSecurityOption"));
46
+ const EnableJSRewriteOption_1 = __importDefault(require("../options/e2e/EnableJSRewriteOption"));
45
47
  class RunMeasureCommand extends BaseCommand_1.default {
46
48
  getCommandName() {
47
49
  return 'measure';
@@ -77,6 +79,8 @@ class RunMeasureCommand extends BaseCommand_1.default {
77
79
  new SetDeviceOption_1.default(),
78
80
  new SetUserAgentOption_1.default(),
79
81
  new DisableXvfbOption_1.default(),
82
+ new DisableWebSecurityOption_1.default(),
83
+ new EnableJSRewriteOption_1.default(),
80
84
  ];
81
85
  }
82
86
  run(options) {
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import { BaseOption } 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); }); }
@@ -35,6 +35,8 @@ const DisableXvfbOption_1 = __importDefault(require("../options/e2e/DisableXvfbO
35
35
  const SkipWarmupOption_1 = __importDefault(require("../options/e2e/SkipWarmupOption"));
36
36
  const CheckXvfbSupportCommand_1 = __importDefault(require("./snapshot/CheckXvfbSupportCommand"));
37
37
  const HeadfulBrowserOption_1 = __importDefault(require("../options/e2e/HeadfulBrowserOption"));
38
+ const DisableWebSecurityOption_1 = __importDefault(require("../options/e2e/DisableWebSecurityOption"));
39
+ const EnableJSRewriteOption_1 = __importDefault(require("../options/e2e/EnableJSRewriteOption"));
38
40
  class FBWarmupAppCommand extends BaseCommand_1.default {
39
41
  getCommandName() {
40
42
  return 'warmup';
@@ -62,7 +64,9 @@ class FBWarmupAppCommand extends BaseCommand_1.default {
62
64
  new SetDeviceOption_1.default(),
63
65
  new SetUserAgentOption_1.default(),
64
66
  new DisableXvfbOption_1.default(),
67
+ new DisableWebSecurityOption_1.default(),
65
68
  new SkipWarmupOption_1.default(),
69
+ new EnableJSRewriteOption_1.default(),
66
70
  ];
67
71
  }
68
72
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand, { CommandCategory } from '../../BaseCommand';
@@ -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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
12
  if (k2 === undefined) k2 = k;
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand, { CommandCategory } from '../../BaseCommand';
@@ -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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
12
  if (k2 === undefined) k2 = k;
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand, { CommandCategory } from '../../BaseCommand';
@@ -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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
12
  if (k2 === undefined) k2 = k;
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import { BaseOption } 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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
12
  if (k2 === undefined) k2 = k;
@@ -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 BaseCommand from '../../../BaseCommand';
11
11
  import CommandLoader from '../../../CommandLoader';
@@ -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 __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -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 { CLIOptions } from '@memlab/core';
11
11
  import BaseCommand, { CommandCategory } from '../../../BaseCommand';
@@ -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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
12
  if (k2 === undefined) k2 = k;
@@ -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 { BaseOption, CLIOptions } from '@memlab/core';
11
11
  import BaseCommand, { CommandCategory } from '../../../BaseCommand';
@@ -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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
12
  if (k2 === undefined) k2 = k;
@@ -8,6 +8,7 @@ export default class CliScreen {
8
8
  private referenceBox;
9
9
  private objectPropertyBox;
10
10
  private retainerTraceBox;
11
+ private helperTextElement;
11
12
  private currentFocuseKey;
12
13
  private keyToComponent;
13
14
  private heapController;
@@ -19,6 +20,7 @@ export default class CliScreen {
19
20
  private registerEvents;
20
21
  private registerScreenResize;
21
22
  private updateComponentSize;
23
+ private updateElementSize;
22
24
  private registerKeys;
23
25
  private addComponentToFocusKeyMap;
24
26
  private getNextFocusKey;
@@ -34,5 +36,8 @@ export default class CliScreen {
34
36
  private getReferenceBoxSize;
35
37
  private initRetainerTraceBox;
36
38
  private getRetainerTraceBoxSize;
39
+ private getHelperTextContent;
40
+ private initHelperText;
41
+ private getHelperTextSize;
37
42
  }
38
43
  //# sourceMappingURL=CliScreen.d.ts.map
@@ -7,6 +7,7 @@ const HeapViewUtils_1 = require("./HeapViewUtils");
7
7
  const blessed_1 = __importDefault(require("blessed"));
8
8
  const ListComponent_1 = __importDefault(require("./ListComponent"));
9
9
  const HeapViewController_1 = __importDefault(require("./HeapViewController"));
10
+ const chalk_1 = __importDefault(require("chalk"));
10
11
  function positionToNumber(info) {
11
12
  return parseInt(`${info}`);
12
13
  }
@@ -54,6 +55,7 @@ class CliScreen {
54
55
  this.objectPropertyBox = this.initObjectPropertyBox(callbacks);
55
56
  this.heapController.setObjectPropertyBox(this.objectPropertyBox);
56
57
  this.retainerTraceBox = this.initRetainerTraceBox(callbacks);
58
+ this.helperTextElement = this.initHelperText();
57
59
  this.heapController.setRetainerTraceBox(this.retainerTraceBox);
58
60
  this.registerEvents();
59
61
  this.setFirstObjectAsCurrrent(objectCategory);
@@ -118,13 +120,17 @@ class CliScreen {
118
120
  this.updateComponentSize(this.objectPropertyBox, this.getObjectPropertyBoxSize());
119
121
  this.updateComponentSize(this.referenceBox, this.getReferenceBoxSize());
120
122
  this.updateComponentSize(this.retainerTraceBox, this.getRetainerTraceBoxSize());
123
+ this.updateElementSize(this.helperTextElement, this.getHelperTextSize());
121
124
  });
122
125
  }
123
126
  updateComponentSize(component, size) {
124
- component.element.width = size.width;
125
- component.element.height = size.height;
126
- component.element.top = size.top;
127
- component.element.left = size.left;
127
+ this.updateElementSize(component.element, size);
128
+ }
129
+ updateElementSize(element, size) {
130
+ element.width = size.width;
131
+ element.height = size.height;
132
+ element.top = size.top;
133
+ element.left = size.left;
128
134
  }
129
135
  registerKeys() {
130
136
  const screen = this.screen;
@@ -197,7 +203,8 @@ class CliScreen {
197
203
  return {
198
204
  width: Math.floor(positionToNumber(this.screen.width) / 3),
199
205
  height: positionToNumber(this.screen.height) -
200
- Math.floor(positionToNumber(this.screen.height) / 2),
206
+ Math.floor(positionToNumber(this.screen.height) / 2) -
207
+ 1,
201
208
  top: Math.floor(positionToNumber(this.screen.height) / 2),
202
209
  left: 0,
203
210
  };
@@ -214,7 +221,8 @@ class CliScreen {
214
221
  return {
215
222
  width: Math.floor(positionToNumber(this.screen.width) / 3),
216
223
  height: positionToNumber(this.screen.height) -
217
- Math.floor((2 * positionToNumber(this.screen.height)) / 3),
224
+ Math.floor((2 * positionToNumber(this.screen.height)) / 3) -
225
+ 1,
218
226
  top: Math.floor((2 * positionToNumber(this.screen.height)) / 3),
219
227
  left: Math.floor(positionToNumber(this.screen.width) / 3),
220
228
  };
@@ -249,10 +257,42 @@ class CliScreen {
249
257
  width: positionToNumber(this.screen.width) -
250
258
  Math.floor((2 * positionToNumber(this.screen.width)) / 3),
251
259
  height: positionToNumber(this.screen.height) -
252
- Math.floor(positionToNumber(this.screen.height) / 3),
260
+ Math.floor(positionToNumber(this.screen.height) / 3) -
261
+ 1,
253
262
  top: Math.floor(positionToNumber(this.screen.height) / 3),
254
263
  left: Math.floor((2 * positionToNumber(this.screen.width)) / 3),
255
264
  };
256
265
  }
266
+ getHelperTextContent() {
267
+ const keys = {
268
+ '↑': '',
269
+ '↓': '',
270
+ '←': '',
271
+ '→': '',
272
+ Enter: 'select',
273
+ q: 'quit',
274
+ };
275
+ const keysToFocus = Array.from(this.keyToComponent.keys());
276
+ const descArr = [...Object.keys(keys), ...keysToFocus].map((key) => {
277
+ const description = keys[key];
278
+ return description
279
+ ? chalk_1.default.inverse(key) + `(${description})`
280
+ : chalk_1.default.inverse(key);
281
+ });
282
+ return chalk_1.default.grey('Keys: ' + descArr.join(' '));
283
+ }
284
+ initHelperText() {
285
+ const text = blessed_1.default.text(Object.assign(Object.assign({}, this.getHelperTextSize()), { content: this.getHelperTextContent() }));
286
+ this.screen.append(text);
287
+ return text;
288
+ }
289
+ getHelperTextSize() {
290
+ return {
291
+ width: positionToNumber(this.screen.width),
292
+ height: 1,
293
+ top: positionToNumber(this.screen.height) - 1,
294
+ left: 1,
295
+ };
296
+ }
257
297
  }
258
298
  exports.default = CliScreen;
@@ -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 { IHeapSnapshot, IHeapNode } from '@memlab/core';
11
11
  import type ListComponent from './ListComponent';