@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.
- package/README.md +2 -2
- package/bin/memlab.js +2 -2
- package/bin/preinstall +1 -1
- package/dist/BaseCommand.d.ts +1 -1
- package/dist/BaseCommand.js +1 -1
- package/dist/CommandLoader.d.ts +1 -1
- package/dist/CommandLoader.js +2 -2
- package/dist/Dispatcher.d.ts +1 -1
- package/dist/Dispatcher.js +1 -1
- package/dist/TypesThirdParty.d.ts +1 -1
- package/dist/TypesThirdParty.js +1 -1
- package/dist/commands/CleanLoggerDataCommand.d.ts +1 -1
- package/dist/commands/CleanLoggerDataCommand.js +1 -1
- package/dist/commands/CleanRunDataCommand.d.ts +1 -1
- package/dist/commands/CleanRunDataCommand.js +1 -1
- package/dist/commands/GetVersionCommand.d.ts +1 -1
- package/dist/commands/GetVersionCommand.js +1 -1
- package/dist/commands/InitDirectoryCommand.d.ts +1 -1
- package/dist/commands/InitDirectoryCommand.js +1 -1
- package/dist/commands/ListScenariosCommand.d.ts +1 -1
- package/dist/commands/ListScenariosCommand.js +1 -1
- package/dist/commands/MemLabRunCommand.d.ts +1 -1
- package/dist/commands/MemLabRunCommand.js +1 -1
- package/dist/commands/PrintSummaryCommand.d.ts +1 -1
- package/dist/commands/PrintSummaryCommand.js +1 -1
- package/dist/commands/ResetDirectoryCommand.d.ts +1 -1
- package/dist/commands/ResetDirectoryCommand.js +1 -1
- package/dist/commands/RunMeasureCommand.d.ts +1 -1
- package/dist/commands/RunMeasureCommand.js +5 -1
- package/dist/commands/WarmupAppCommand.d.ts +1 -1
- package/dist/commands/WarmupAppCommand.js +5 -1
- package/dist/commands/heap/CheckLeakCommand.d.ts +1 -1
- package/dist/commands/heap/CheckLeakCommand.js +1 -1
- package/dist/commands/heap/GetRetainerTraceCommand.d.ts +1 -1
- package/dist/commands/heap/GetRetainerTraceCommand.js +1 -1
- package/dist/commands/heap/HeapAnalysisCommand.d.ts +1 -1
- package/dist/commands/heap/HeapAnalysisCommand.js +1 -1
- package/dist/commands/heap/HeapAnalysisSubCommandWrapper.d.ts +1 -1
- package/dist/commands/heap/HeapAnalysisSubCommandWrapper.js +1 -1
- package/dist/commands/heap/interactive/InteractiveCommandLoader.d.ts +1 -1
- package/dist/commands/heap/interactive/InteractiveCommandLoader.js +1 -1
- package/dist/commands/heap/interactive/InteractiveHeapCommand.d.ts +1 -1
- package/dist/commands/heap/interactive/InteractiveHeapCommand.js +1 -1
- package/dist/commands/heap/interactive/InteractiveHeapExploreCommand.d.ts +1 -1
- package/dist/commands/heap/interactive/InteractiveHeapExploreCommand.js +1 -1
- package/dist/commands/heap/interactive/ui-components/CliScreen.d.ts +5 -0
- package/dist/commands/heap/interactive/ui-components/CliScreen.js +47 -7
- package/dist/commands/heap/interactive/ui-components/HeapViewController.d.ts +1 -1
- package/dist/commands/heap/interactive/ui-components/HeapViewController.js +19 -0
- package/dist/commands/heap/interactive/ui-components/HeapViewUtils.d.ts +1 -1
- package/dist/commands/heap/interactive/ui-components/ListComponent.d.ts +1 -1
- package/dist/commands/helper/GenerateCLIDocCommand.d.ts +1 -1
- package/dist/commands/helper/GenerateCLIDocCommand.js +1 -1
- package/dist/commands/helper/HelperCommand.d.ts +1 -1
- package/dist/commands/helper/HelperCommand.js +1 -1
- package/dist/commands/helper/lib/CommandOrder.d.ts +1 -1
- package/dist/commands/helper/lib/CommandOrder.js +1 -1
- package/dist/commands/helper/lib/Types.d.ts +1 -1
- package/dist/commands/helper/lib/Types.js +1 -1
- package/dist/commands/query/QueryDefaultWorkDirCommand.d.ts +1 -1
- package/dist/commands/query/QueryDefaultWorkDirCommand.js +1 -1
- package/dist/commands/snapshot/CheckXvfbSupportCommand.d.ts +1 -1
- package/dist/commands/snapshot/CheckXvfbSupportCommand.js +1 -1
- package/dist/commands/snapshot/Snapshot.d.ts +1 -1
- package/dist/commands/snapshot/Snapshot.js +1 -1
- package/dist/commands/snapshot/TakeSnapshotCommand.d.ts +1 -1
- package/dist/commands/snapshot/TakeSnapshotCommand.js +5 -1
- package/dist/commands/snapshot/WarmupAndSnapshotCommand.d.ts +1 -1
- package/dist/commands/snapshot/WarmupAndSnapshotCommand.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/options/DebugOption.d.ts +1 -1
- package/dist/options/DebugOption.js +7 -3
- package/dist/options/HelperOption.d.ts +1 -1
- package/dist/options/HelperOption.js +7 -3
- package/dist/options/MLClusteringLinkageMaxDistanceOption.d.ts +1 -1
- package/dist/options/MLClusteringLinkageMaxDistanceOption.js +10 -4
- package/dist/options/MLClusteringMaxDFOption.d.ts +1 -1
- package/dist/options/MLClusteringMaxDFOption.js +10 -4
- package/dist/options/MLClusteringOption.d.ts +1 -1
- package/dist/options/MLClusteringOption.js +8 -3
- package/dist/options/NumberOfRunsOption.d.ts +1 -1
- package/dist/options/NumberOfRunsOption.js +6 -2
- package/dist/options/SetContinuousTestOption.d.ts +1 -1
- package/dist/options/SetContinuousTestOption.js +8 -3
- package/dist/options/SetWorkingDirectoryOption.d.ts +1 -1
- package/dist/options/SetWorkingDirectoryOption.js +6 -2
- package/dist/options/SilentOption.d.ts +1 -1
- package/dist/options/SilentOption.js +7 -3
- package/dist/options/VerboseOption.d.ts +1 -1
- package/dist/options/VerboseOption.js +7 -3
- package/dist/options/constant.d.ts +50 -0
- package/dist/options/constant.js +52 -0
- package/dist/options/e2e/AppOption.d.ts +1 -1
- package/dist/options/e2e/AppOption.js +10 -6
- package/dist/options/e2e/DisableWebSecurityOption.d.ts +18 -0
- package/dist/options/e2e/DisableWebSecurityOption.js +42 -0
- package/dist/options/e2e/DisableXvfbOption.d.ts +1 -1
- package/dist/options/e2e/DisableXvfbOption.js +7 -3
- package/dist/options/e2e/EnableJSInterceptOption.d.ts +18 -0
- package/dist/options/e2e/EnableJSInterceptOption.js +42 -0
- package/dist/options/e2e/EnableJSRewriteOption.d.ts +18 -0
- package/dist/options/e2e/EnableJSRewriteOption.js +44 -0
- package/dist/options/e2e/FullExecutionOption.d.ts +1 -1
- package/dist/options/e2e/FullExecutionOption.js +7 -3
- package/dist/options/e2e/HeadfulBrowserOption.d.ts +1 -1
- package/dist/options/e2e/HeadfulBrowserOption.js +6 -2
- package/dist/options/e2e/InteractionOption.d.ts +1 -1
- package/dist/options/e2e/InteractionOption.js +10 -6
- package/dist/options/e2e/RemoteBrowserDebugOption.d.ts +1 -1
- package/dist/options/e2e/RemoteBrowserDebugOption.js +7 -3
- package/dist/options/e2e/RunningModeOption.d.ts +1 -1
- package/dist/options/e2e/RunningModeOption.js +7 -3
- package/dist/options/e2e/ScenarioFileOption.d.ts +1 -1
- package/dist/options/e2e/ScenarioFileOption.js +10 -4
- package/dist/options/e2e/SetDeviceOption.d.ts +1 -1
- package/dist/options/e2e/SetDeviceOption.js +10 -4
- package/dist/options/e2e/SetUserAgentOption.d.ts +1 -1
- package/dist/options/e2e/SetUserAgentOption.js +6 -2
- package/dist/options/e2e/SkipExtraOperationOption.d.ts +1 -1
- package/dist/options/e2e/SkipExtraOperationOption.js +8 -3
- package/dist/options/e2e/SkipGCOption.d.ts +1 -1
- package/dist/options/e2e/SkipGCOption.js +6 -2
- package/dist/options/e2e/SkipScreenshotOption.d.ts +1 -1
- package/dist/options/e2e/SkipScreenshotOption.js +7 -3
- package/dist/options/e2e/SkipScrollOption.d.ts +1 -1
- package/dist/options/e2e/SkipScrollOption.js +7 -3
- package/dist/options/e2e/SkipSnapshotOption.d.ts +1 -1
- package/dist/options/e2e/SkipSnapshotOption.js +7 -3
- package/dist/options/e2e/SkipWarmupOption.d.ts +1 -1
- package/dist/options/e2e/SkipWarmupOption.js +6 -2
- package/dist/options/heap/BaselineFileOption.d.ts +1 -1
- package/dist/options/heap/BaselineFileOption.js +6 -4
- package/dist/options/heap/FinalFileOption.d.ts +1 -1
- package/dist/options/heap/FinalFileOption.js +6 -4
- package/dist/options/heap/HeapNodeIdOption.d.ts +1 -1
- package/dist/options/heap/HeapNodeIdOption.js +6 -2
- package/dist/options/heap/JSEngineOption.d.ts +1 -1
- package/dist/options/heap/JSEngineOption.js +9 -4
- package/dist/options/heap/LeakClusterSizeThresholdOption.d.ts +1 -1
- package/dist/options/heap/LeakClusterSizeThresholdOption.js +6 -2
- package/dist/options/heap/LogTraceAsClusterOption.d.ts +1 -1
- package/dist/options/heap/LogTraceAsClusterOption.js +6 -2
- package/dist/options/heap/OversizeThresholdOption.d.ts +1 -1
- package/dist/options/heap/OversizeThresholdOption.js +6 -2
- package/dist/options/heap/SnapshotDirectoryOption.d.ts +1 -1
- package/dist/options/heap/SnapshotDirectoryOption.js +6 -4
- package/dist/options/heap/SnapshotFileOption.d.ts +1 -1
- package/dist/options/heap/SnapshotFileOption.js +6 -4
- package/dist/options/heap/TargetFileOption.d.ts +1 -1
- package/dist/options/heap/TargetFileOption.js +6 -4
- package/dist/options/heap/TraceAllObjectsOption.d.ts +1 -1
- package/dist/options/heap/TraceAllObjectsOption.js +6 -2
- package/dist/options/heap/leak-filter/LeakFilterFileOption.d.ts +1 -1
- package/dist/options/heap/leak-filter/LeakFilterFileOption.js +6 -2
- package/dist/options/heap/leak-filter/examples/FilterLib.d.ts +1 -1
- package/dist/options/heap/leak-filter/examples/FilterLib.js +1 -1
- package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-1.d.ts +1 -1
- package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-1.js +1 -1
- package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-2.d.ts +1 -1
- package/dist/options/heap/leak-filter/examples/dup-string-as-leak.example-2.js +1 -1
- package/dist/options/heap/leak-filter/examples/large-object-as-leak.example.js +1 -1
- package/dist/options/lib/OptionConstant.d.ts +116 -0
- package/dist/options/lib/OptionConstant.js +67 -0
- package/dist/options/lib/UniversalOptions.d.ts +1 -1
- package/dist/options/lib/UniversalOptions.js +1 -1
- package/dist/runner.d.ts +1 -1
- package/dist/runner.js +1 -1
- 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://
|
|
8
|
-
* [Documentation](https://
|
|
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
|
|
10
|
+
* @oncall web_perf_infra
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
// eslint-disable-next-line no-var
|
package/bin/preinstall
CHANGED
package/dist/BaseCommand.d.ts
CHANGED
package/dist/BaseCommand.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
package/dist/CommandLoader.d.ts
CHANGED
package/dist/CommandLoader.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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
|
-
//
|
|
73
|
+
// register OSS commands
|
|
74
74
|
if (loadingOssCommand) {
|
|
75
75
|
this.OSSModules.set(commandName, moduleInstance);
|
|
76
76
|
}
|
package/dist/Dispatcher.d.ts
CHANGED
package/dist/Dispatcher.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
package/dist/TypesThirdParty.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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); }); }
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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) {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall
|
|
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 };
|
|
@@ -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
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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;
|