@memlab/core 1.1.43 → 2.0.1
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/dist/__tests__/lib/TestUtils.js +3 -4
- package/dist/index.js +2 -2
- package/dist/lib/BrowserInfo.d.ts +1 -1
- package/dist/lib/BrowserInfo.d.ts.map +1 -1
- package/dist/lib/BrowserInfo.js +1 -1
- package/dist/lib/Config.d.ts +1 -1
- package/dist/lib/Config.d.ts.map +1 -1
- package/dist/lib/Config.js +23 -12
- package/dist/lib/Console.js +2 -2
- package/dist/lib/Constant.js +1 -1
- package/dist/lib/FileManager.d.ts +3 -1
- package/dist/lib/FileManager.d.ts.map +1 -1
- package/dist/lib/FileManager.js +17 -11
- package/dist/lib/HeapAnalyzer.d.ts.map +1 -1
- package/dist/lib/HeapAnalyzer.js +14 -12
- package/dist/lib/HeapParser.js +6 -6
- package/dist/lib/InternalValueSetter.js +2 -2
- package/dist/lib/NodeHeap.js +4 -5
- package/dist/lib/PackageInfoLoader.js +1 -1
- package/dist/lib/RunInfoUtils.d.ts.map +1 -1
- package/dist/lib/RunInfoUtils.js +5 -3
- package/dist/lib/Serializer.js +1 -1
- package/dist/lib/StringLoader.d.ts +0 -1
- package/dist/lib/StringLoader.d.ts.map +1 -1
- package/dist/lib/StringLoader.js +3 -3
- package/dist/lib/Types.d.ts +2 -2
- package/dist/lib/Types.d.ts.map +1 -1
- package/dist/lib/Utils.d.ts +5 -1
- package/dist/lib/Utils.d.ts.map +1 -1
- package/dist/lib/Utils.js +50 -20
- package/dist/lib/heap-data/HeapNode.js +1 -2
- package/dist/lib/heap-data/HeapUtils.js +2 -2
- package/dist/lib/leak-filters/BaseLeakFilter.rule.js +1 -1
- package/dist/lib/trace-filters/BaseTraceFilter.rule.js +1 -1
- package/dist/logger/LeakClusterLogger.d.ts.map +1 -1
- package/dist/logger/LeakClusterLogger.js +12 -10
- package/dist/logger/LeakTraceDetailsLogger.js +2 -2
- package/dist/modes/BaseMode.d.ts +1 -1
- package/dist/modes/BaseMode.d.ts.map +1 -1
- package/dist/modes/MeasureMode.d.ts +1 -1
- package/dist/modes/MeasureMode.d.ts.map +1 -1
- package/dist/modes/MeasureMode.js +1 -1
- package/dist/paths/TraceFinder.js +1 -1
- package/dist/trace-cluster/ClusterUtils.d.ts.map +1 -1
- package/dist/trace-cluster/ClusterUtilsHelper.d.ts.map +1 -1
- package/dist/trace-cluster/ClusterUtilsHelper.js +2 -2
- package/dist/trace-cluster/ClusteringHeuristics.d.ts.map +1 -1
- package/dist/trace-cluster/EvalutationMetric.d.ts.map +1 -1
- package/dist/trace-cluster/TraceBucket.js +2 -2
- package/dist/trace-cluster/strategies/machine-learning/DistanceMatrix.d.ts +1 -1
- package/dist/trace-cluster/strategies/machine-learning/DistanceMatrix.d.ts.map +1 -1
- package/dist/trace-cluster/strategies/machine-learning/HAC.d.ts +1 -1
- package/dist/trace-cluster/strategies/machine-learning/HAC.d.ts.map +1 -1
- package/dist/trace-cluster/strategies/machine-learning/Ngram.js +1 -2
- package/package.json +5 -5
|
@@ -18,7 +18,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.getFullHeapFromFile =
|
|
21
|
+
exports.getFullHeapFromFile = getFullHeapFromFile;
|
|
22
22
|
const __1 = require("../..");
|
|
23
23
|
/** @internal */
|
|
24
24
|
function getFullHeapFromFile(file) {
|
|
@@ -26,9 +26,8 @@ function getFullHeapFromFile(file) {
|
|
|
26
26
|
return yield loadProcessedSnapshot({ file });
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
function loadProcessedSnapshot() {
|
|
30
|
+
return __awaiter(this, arguments, void 0, function* (options = {}) {
|
|
32
31
|
const opt = { buildNodeIdIndex: true, verbose: true };
|
|
33
32
|
const file = options.file || __1.utils.getSnapshotFilePathWithTabType(/.*/);
|
|
34
33
|
const snapshot = yield __1.utils.getSnapshotFromFile(file, opt);
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.TraceFinder = exports.MultiIterationSeqClustering = exports.SequentialClustering = exports.RunMetaInfoManager = exports.EvaluationMetric = exports.NormalizedTrace = exports.leakClusterLogger = exports.ProcessManager = exports.modes = exports.memoryBarChart = exports.constant = exports.analysis = exports.browserInfo = exports.serializer = exports.runInfoUtils = exports.fileManager = exports.utils = exports.BaseOption = exports.info = exports.config =
|
|
38
|
+
exports.TraceFinder = exports.MultiIterationSeqClustering = exports.SequentialClustering = exports.RunMetaInfoManager = exports.EvaluationMetric = exports.NormalizedTrace = exports.leakClusterLogger = exports.ProcessManager = exports.modes = exports.memoryBarChart = exports.constant = exports.analysis = exports.browserInfo = exports.serializer = exports.runInfoUtils = exports.fileManager = exports.utils = exports.BaseOption = exports.info = exports.config = void 0;
|
|
39
|
+
exports.registerPackage = registerPackage;
|
|
39
40
|
const path_1 = __importDefault(require("path"));
|
|
40
41
|
const PackageInfoLoader_1 = require("./lib/PackageInfoLoader");
|
|
41
42
|
__exportStar(require("./lib/Types"), exports);
|
|
@@ -46,7 +47,6 @@ function registerPackage() {
|
|
|
46
47
|
return PackageInfoLoader_1.PackageInfoLoader.registerPackage(path_1.default.join(__dirname, '..'));
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
|
-
exports.registerPackage = registerPackage;
|
|
50
50
|
/** @internal */
|
|
51
51
|
var Config_1 = require("./lib/Config");
|
|
52
52
|
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return __importDefault(Config_1).default; } });
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import type { ConsoleMessage, Dialog, LaunchOptions, Page } from 'puppeteer';
|
|
10
|
+
import type { ConsoleMessage, Dialog, LaunchOptions, Page } from 'puppeteer-core';
|
|
11
11
|
import type { IBrowserInfo } from './Types';
|
|
12
12
|
type Options = {
|
|
13
13
|
color?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserInfo.d.ts","sourceRoot":"","sources":["../../src/lib/BrowserInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"BrowserInfo.d.ts","sourceRoot":"","sources":["../../src/lib/BrowserInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EAEN,aAAa,EACb,IAAI,EACL,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAC1C,KAAK,OAAO,GAAG;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC;AAQjC,cAAM,WAAW;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,aAAa,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;;IAQ3B,KAAK;IAIL,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,qBAAqB,CAAC,eAAe,EAAE,aAAa,GAAG,IAAI;IAI3D,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,IAAI;IAMrC,oBAAoB,CAClB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,OAAY,GACpB,MAAM,EAAE;IAqBX,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAY,GAAG,MAAM;IASlE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,uBAAuB,IAAI,MAAM;IAIjC,IAAI,IAAI,IAAI;IAOZ,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;CA6BpC;;AAED,wBAAiC"}
|
package/dist/lib/BrowserInfo.js
CHANGED
|
@@ -82,7 +82,7 @@ class BrowserInfo {
|
|
|
82
82
|
const file = Config_1.default.browserInfoSummary;
|
|
83
83
|
const consoleSummary = this.summarizeConsoleMessage();
|
|
84
84
|
const summary = `Web Console Output:\n${consoleSummary}`;
|
|
85
|
-
fs_1.default.writeFileSync(file, summary, '
|
|
85
|
+
fs_1.default.writeFileSync(file, summary, { encoding: 'utf8' });
|
|
86
86
|
}
|
|
87
87
|
monitorWebConsole(page) {
|
|
88
88
|
page.on('console', message => {
|
package/dist/lib/Config.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import type { Permission } from 'puppeteer';
|
|
10
|
+
import type { Permission } from 'puppeteer-core';
|
|
11
11
|
import type { FileOption, IClusterStrategy, IRunningMode, IScenario, IHeapConfig, Nullable, Optional, QuickExperiment, ILeakFilter, IPackageInfo, PuppeteerConfig } from './Types';
|
|
12
12
|
interface Device {
|
|
13
13
|
name: string;
|
package/dist/lib/Config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/lib/Config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/lib/Config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/Config.js
CHANGED
|
@@ -24,13 +24,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
24
24
|
}) : function(o, v) {
|
|
25
25
|
o["default"] = v;
|
|
26
26
|
});
|
|
27
|
-
var __importStar = (this && this.__importStar) || function (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
34
44
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
45
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
46
|
};
|
|
@@ -46,7 +56,8 @@ const InternalValueSetter_1 = require("./InternalValueSetter");
|
|
|
46
56
|
const devices = Constant_1.default.isFRL
|
|
47
57
|
? {}
|
|
48
58
|
: Constant_1.default.isFB
|
|
49
|
-
?
|
|
59
|
+
? // eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
60
|
+
require('puppeteer-core').KnownDevices
|
|
50
61
|
: // eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
51
62
|
require('puppeteer').KnownDevices;
|
|
52
63
|
// default viewport config for desktop
|
|
@@ -62,19 +73,19 @@ var TraceObjectMode;
|
|
|
62
73
|
(function (TraceObjectMode) {
|
|
63
74
|
TraceObjectMode[TraceObjectMode["Default"] = 1] = "Default";
|
|
64
75
|
TraceObjectMode[TraceObjectMode["SelectedJSObjects"] = 2] = "SelectedJSObjects";
|
|
65
|
-
})(TraceObjectMode
|
|
76
|
+
})(TraceObjectMode || (exports.TraceObjectMode = TraceObjectMode = {}));
|
|
66
77
|
/** @internal */
|
|
67
78
|
var OutputFormat;
|
|
68
79
|
(function (OutputFormat) {
|
|
69
80
|
OutputFormat[OutputFormat["Text"] = 1] = "Text";
|
|
70
81
|
OutputFormat[OutputFormat["Json"] = 2] = "Json";
|
|
71
|
-
})(OutputFormat
|
|
82
|
+
})(OutputFormat || (exports.OutputFormat = OutputFormat = {}));
|
|
72
83
|
/** @internal */
|
|
73
84
|
var ErrorHandling;
|
|
74
85
|
(function (ErrorHandling) {
|
|
75
86
|
ErrorHandling[ErrorHandling["Halt"] = 1] = "Halt";
|
|
76
87
|
ErrorHandling[ErrorHandling["Throw"] = 2] = "Throw";
|
|
77
|
-
})(ErrorHandling
|
|
88
|
+
})(ErrorHandling || (exports.ErrorHandling = ErrorHandling = {}));
|
|
78
89
|
/** @internal */
|
|
79
90
|
class MemLabConfig {
|
|
80
91
|
constructor(options = {}) {
|
|
@@ -506,7 +517,7 @@ class MemLabConfig {
|
|
|
506
517
|
}
|
|
507
518
|
}
|
|
508
519
|
get browser() {
|
|
509
|
-
return this._browser || '
|
|
520
|
+
return this._browser || 'chrome';
|
|
510
521
|
}
|
|
511
522
|
set isHeadfulBrowser(isHeadful) {
|
|
512
523
|
this._isHeadfulBrowser = isHeadful;
|
package/dist/lib/Console.js
CHANGED
|
@@ -148,7 +148,7 @@ class MemLabConsole {
|
|
|
148
148
|
if (options.sync) {
|
|
149
149
|
for (const logFile of this.logFileSet) {
|
|
150
150
|
try {
|
|
151
|
-
fs_1.default.appendFileSync(logFile, str + '\n', '
|
|
151
|
+
fs_1.default.appendFileSync(logFile, str + '\n', { encoding: 'utf8' });
|
|
152
152
|
}
|
|
153
153
|
catch (_a) {
|
|
154
154
|
// fail silently
|
|
@@ -162,7 +162,7 @@ class MemLabConsole {
|
|
|
162
162
|
};
|
|
163
163
|
for (const logFile of this.logFileSet) {
|
|
164
164
|
try {
|
|
165
|
-
fs_1.default.appendFile(logFile, str + '\n', '
|
|
165
|
+
fs_1.default.appendFile(logFile, str + '\n', { encoding: 'utf8' }, emptyCallback);
|
|
166
166
|
}
|
|
167
167
|
catch (_b) {
|
|
168
168
|
// fail silently
|
package/dist/lib/Constant.js
CHANGED
|
@@ -54,6 +54,6 @@ const constants = {
|
|
|
54
54
|
};
|
|
55
55
|
Object.assign(constants.supportedBrowsers, {
|
|
56
56
|
chromium: 'chrome',
|
|
57
|
-
chrome: '
|
|
57
|
+
chrome: 'chrome',
|
|
58
58
|
});
|
|
59
59
|
exports.default = (0, InternalValueSetter_1.setInternalValue)(constants, __filename, constants.internalDir);
|
|
@@ -19,7 +19,9 @@ export declare class FileManager {
|
|
|
19
19
|
private static transientInstanceIdx;
|
|
20
20
|
static defaultFileOption: FileOption;
|
|
21
21
|
getWorkDir(options?: FileOption): string;
|
|
22
|
-
|
|
22
|
+
getChromeFBPkgDir(): string;
|
|
23
|
+
getChromeBinaryFile(): string;
|
|
24
|
+
getChromeBinaryFileInFBPkg(): string;
|
|
23
25
|
getChromeBinaryTimeStampFile(): string;
|
|
24
26
|
getChromeBinaryDir(): string;
|
|
25
27
|
getDataBaseDir(options?: FileOption): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["../../src/lib/FileManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,SAAS,CAAC;AASzE,gBAAgB;AAChB,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,EACnB,GAAG,IAAI,EAAE,QAAQ,EAAE,GAClB,MAAM,CAaR;AAED,gBAAgB;AAChB,qBAAa,WAAW;IACtB,OAAO,CAAC,iBAAiB,CAAgC;IAElD,iBAAiB,IAAI,MAAM;IAI3B,kBAAkB,IAAI,MAAM;IAWnC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAK;IACxC,OAAc,iBAAiB,EAAE,UAAU,CAAM;IAE1C,UAAU,CACf,OAAO,GAAE,UAA0C,GAClD,MAAM;IAuBF,
|
|
1
|
+
{"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["../../src/lib/FileManager.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/FileManager.js
CHANGED
|
@@ -12,7 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.FileManager =
|
|
15
|
+
exports.FileManager = void 0;
|
|
16
|
+
exports.joinAndProcessDir = joinAndProcessDir;
|
|
16
17
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
17
18
|
const os_1 = __importDefault(require("os"));
|
|
18
19
|
const path_1 = __importDefault(require("path"));
|
|
@@ -35,7 +36,6 @@ function joinAndProcessDir(options, ...args) {
|
|
|
35
36
|
}
|
|
36
37
|
return filepath;
|
|
37
38
|
}
|
|
38
|
-
exports.joinAndProcessDir = joinAndProcessDir;
|
|
39
39
|
/** @internal */
|
|
40
40
|
class FileManager {
|
|
41
41
|
constructor() {
|
|
@@ -72,8 +72,14 @@ class FileManager {
|
|
|
72
72
|
this.getDefaultWorkDir();
|
|
73
73
|
return path_1.default.resolve(workDir);
|
|
74
74
|
}
|
|
75
|
-
|
|
76
|
-
return path_1.default.join(this.
|
|
75
|
+
getChromeFBPkgDir() {
|
|
76
|
+
return path_1.default.join(this.getChromeBinaryDir(), 'fbpkg');
|
|
77
|
+
}
|
|
78
|
+
getChromeBinaryFile() {
|
|
79
|
+
return path_1.default.join(this.getChromeBinaryDir(), 'chrome');
|
|
80
|
+
}
|
|
81
|
+
getChromeBinaryFileInFBPkg() {
|
|
82
|
+
return path_1.default.join(this.getChromeFBPkgDir(), 'opt', 'google', 'chrome', 'chrome');
|
|
77
83
|
}
|
|
78
84
|
getChromeBinaryTimeStampFile() {
|
|
79
85
|
return path_1.default.join(this.getChromeBinaryDir(), 'memlab-success');
|
|
@@ -302,12 +308,10 @@ class FileManager {
|
|
|
302
308
|
resetBrowserDir() {
|
|
303
309
|
try {
|
|
304
310
|
const browserDir = this.getChromeBinaryDir();
|
|
305
|
-
const browserBinary = this.getChromeBinaryZipFile();
|
|
306
|
-
if (fs_extra_1.default.existsSync(browserBinary)) {
|
|
307
|
-
fs_extra_1.default.unlinkSync(browserBinary);
|
|
308
|
-
}
|
|
309
311
|
this.rmDir(browserDir);
|
|
310
312
|
joinAndProcessDir({}, browserDir);
|
|
313
|
+
const chromeFBPkgDir = this.getChromeFBPkgDir();
|
|
314
|
+
joinAndProcessDir({}, chromeFBPkgDir);
|
|
311
315
|
}
|
|
312
316
|
catch (e) {
|
|
313
317
|
Console_1.default.error(Utils_1.default.getError(e).message);
|
|
@@ -382,7 +386,7 @@ class FileManager {
|
|
|
382
386
|
const snapshotSeqMetaFile = this.getSnapshotSequenceMetaFile(options);
|
|
383
387
|
const codeDataDir = this.getCodeDataDir();
|
|
384
388
|
const singleSnapshotMetaFile = path_1.default.join(codeDataDir, 'visit-order-single-snapshot.json');
|
|
385
|
-
const visitOrder = JSON.parse(fs_extra_1.default.readFileSync(singleSnapshotMetaFile, '
|
|
389
|
+
const visitOrder = JSON.parse(fs_extra_1.default.readFileSync(singleSnapshotMetaFile, { encoding: 'utf8' }));
|
|
386
390
|
// fill in snapshot file name for each entry with snapshot: true
|
|
387
391
|
visitOrder.forEach(step => {
|
|
388
392
|
if (step.snapshot === true) {
|
|
@@ -390,7 +394,9 @@ class FileManager {
|
|
|
390
394
|
}
|
|
391
395
|
});
|
|
392
396
|
// save the snapshot meta file
|
|
393
|
-
fs_extra_1.default.writeFileSync(snapshotSeqMetaFile, JSON.stringify(visitOrder, null, 2),
|
|
397
|
+
fs_extra_1.default.writeFileSync(snapshotSeqMetaFile, JSON.stringify(visitOrder, null, 2), {
|
|
398
|
+
encoding: 'utf8',
|
|
399
|
+
});
|
|
394
400
|
}
|
|
395
401
|
/**
|
|
396
402
|
* create visit order data structure based on specified
|
|
@@ -398,7 +404,7 @@ class FileManager {
|
|
|
398
404
|
*/
|
|
399
405
|
createVisitOrderWithSnapshots(baselineSnapshot, targetSnapshot, finalSnapshot) {
|
|
400
406
|
const snapshotTemplateFile = this.getSnapshotSequenceExternalTemplateFile();
|
|
401
|
-
const visitOrder = JSON.parse(fs_extra_1.default.readFileSync(snapshotTemplateFile, '
|
|
407
|
+
const visitOrder = JSON.parse(fs_extra_1.default.readFileSync(snapshotTemplateFile, { encoding: 'utf8' }));
|
|
402
408
|
// fill in snapshot file name for each entry with snapshot: true
|
|
403
409
|
visitOrder.forEach(step => {
|
|
404
410
|
switch (step.name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeapAnalyzer.d.ts","sourceRoot":"","sources":["../../src/lib/HeapAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,0BAA0B,EAE1B,eAAe,EACf,iBAAiB,EAEjB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAWjB,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAO/C,KAAK,oBAAoB,GAAG;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,cAAM,aAAa;IACX,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAMvC,iBAAiB,CACrB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC;IA0BvB,oBAAoB,CACxB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC;IAiFvB,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAgB/C,KAAK,CAAC,OAAO,GAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAM;IAuCzC,0BAA0B,CACxB,SAAS,EAAE,WAAW,EAAE,EACxB,GAAG,EAAE,WAAW,GACf,OAAO;IAUJ,aAAa,CACjB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC;IAwGtC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW;IAiBvD,OAAO,CAAC,0BAA0B;
|
|
1
|
+
{"version":3,"file":"HeapAnalyzer.d.ts","sourceRoot":"","sources":["../../src/lib/HeapAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,0BAA0B,EAE1B,eAAe,EACf,iBAAiB,EAEjB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAWjB,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAO/C,KAAK,oBAAoB,GAAG;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,cAAM,aAAa;IACX,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAMvC,iBAAiB,CACrB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC;IA0BvB,oBAAoB,CACxB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC;IAiFvB,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAgB/C,KAAK,CAAC,OAAO,GAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAM;IAuCzC,0BAA0B,CACxB,SAAS,EAAE,WAAW,EAAE,EACxB,GAAG,EAAE,WAAW,GACf,OAAO;IAUJ,aAAa,CACjB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC;IAwGtC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW;IAiBvD,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,wBAAwB;IA6ChC,OAAO,CAAC,mBAAmB;IAoBpB,kBAAkB,CACvB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAM,GAC9B,QAAQ,CAAC,eAAe,CAAC;IAyC5B,kBAAkB,CAChB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,aAAa,GACtB,QAAQ,CAAC,eAAe,CAAC;IA4BrB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAYrD,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,mBAAmB;IAkB3B,eAAe,CACb,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,cAAmB,GAC3B,iBAAiB,EAAE;IAuDhB,cAAc,CAClB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA6B/B;;;;;;OAMG;IACH,kBAAkB,CAChB,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,aAAa,GACtB,YAAY,EAAE;IAqCX,sBAAsB,CAC1B,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,GAAE;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAM;IAsBzC,gBAAgB,CACd,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,aAAa,EACvB,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,EACxC,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB;CA2ChC;;AAED,wBAAmC"}
|
package/dist/lib/HeapAnalyzer.js
CHANGED
|
@@ -119,8 +119,8 @@ class MemoryAnalyst {
|
|
|
119
119
|
return LeakTraceDetailsLogger_1.default.logTraces(snapshotDiff.leakedHeapNodeIdSet, snapshotDiff.snapshot, snapshotDiff.listOfLeakedHeapNodeIdSet, paths, Config_1.default.traceJsonOutDir);
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
|
-
focus(
|
|
123
|
-
return __awaiter(this,
|
|
122
|
+
focus() {
|
|
123
|
+
return __awaiter(this, arguments, void 0, function* (options = {}) {
|
|
124
124
|
Console_1.default.overwrite(`Generating report for node @${Config_1.default.focusFiberNodeId}`);
|
|
125
125
|
let snapshotLeakedHeapNodeIdSet = new Set();
|
|
126
126
|
let nodeIdsInSnapshots = [];
|
|
@@ -156,8 +156,8 @@ class MemoryAnalyst {
|
|
|
156
156
|
}
|
|
157
157
|
return false;
|
|
158
158
|
}
|
|
159
|
-
diffSnapshots(
|
|
160
|
-
return __awaiter(this,
|
|
159
|
+
diffSnapshots() {
|
|
160
|
+
return __awaiter(this, arguments, void 0, function* (options = {}) {
|
|
161
161
|
const nodeIdsInSnapshots = [];
|
|
162
162
|
const tabsOrder = Utils_1.default.loadTabsOrder(FileManager_1.default.getSnapshotSequenceMetaFile(options));
|
|
163
163
|
// a set keeping track of node ids generated before the target snapshot
|
|
@@ -263,7 +263,9 @@ class MemoryAnalyst {
|
|
|
263
263
|
dumpPageInteractionSummary(options = {}) {
|
|
264
264
|
const tabsOrder = Utils_1.default.loadTabsOrder(FileManager_1.default.getSnapshotSequenceMetaFile(options));
|
|
265
265
|
const tabsOrderStr = Serializer_1.default.summarizeTabsOrder(tabsOrder);
|
|
266
|
-
fs_1.default.writeFileSync(FileManager_1.default.getLeakSummaryFile(options), tabsOrderStr,
|
|
266
|
+
fs_1.default.writeFileSync(FileManager_1.default.getLeakSummaryFile(options), tabsOrderStr, {
|
|
267
|
+
encoding: 'utf8',
|
|
268
|
+
});
|
|
267
269
|
}
|
|
268
270
|
// summarize the leak and print the info in console
|
|
269
271
|
dumpLeakSummaryToConsole(leakedNodeIds, snapshot) {
|
|
@@ -363,7 +365,7 @@ class MemoryAnalyst {
|
|
|
363
365
|
}
|
|
364
366
|
// convert the path to a string
|
|
365
367
|
const pathStr = Serializer_1.default.summarizePath(trace, nodeIdInPaths, snapshot);
|
|
366
|
-
fs_1.default.appendFileSync(FileManager_1.default.getLeakSummaryFile(options), `\n\n${pathStr}\n\n`, '
|
|
368
|
+
fs_1.default.appendFileSync(FileManager_1.default.getLeakSummaryFile(options), `\n\n${pathStr}\n\n`, { encoding: 'utf8' });
|
|
367
369
|
}
|
|
368
370
|
filterLeakPaths(leakedNodeIds, snapshot, options = {}) {
|
|
369
371
|
const finder = this.preparePathFinder(snapshot);
|
|
@@ -405,8 +407,8 @@ class MemoryAnalyst {
|
|
|
405
407
|
return paths;
|
|
406
408
|
}
|
|
407
409
|
// find unique paths of leaked nodes
|
|
408
|
-
findLeakTraces(
|
|
409
|
-
return __awaiter(this,
|
|
410
|
+
findLeakTraces(leakedNodeIds_1, snapshot_1) {
|
|
411
|
+
return __awaiter(this, arguments, void 0, function* (leakedNodeIds, snapshot, options = {}) {
|
|
410
412
|
const paths = this.filterLeakPaths(leakedNodeIds, snapshot, options);
|
|
411
413
|
// cluster traces from the current run
|
|
412
414
|
const clusters = TraceBucket_1.default.clusterPaths(paths, snapshot, Utils_1.default.aggregateDominatorMetrics, {
|
|
@@ -454,8 +456,8 @@ class MemoryAnalyst {
|
|
|
454
456
|
});
|
|
455
457
|
return clusters;
|
|
456
458
|
}
|
|
457
|
-
serializeClusterUpdate(
|
|
458
|
-
return __awaiter(this,
|
|
459
|
+
serializeClusterUpdate(clusters_1) {
|
|
460
|
+
return __awaiter(this, arguments, void 0, function* (clusters, options = {}) {
|
|
459
461
|
// load existing clusters
|
|
460
462
|
const existingClusters = yield LeakClusterLogger_1.default.loadClusters(Config_1.default.currentUniqueClusterDir);
|
|
461
463
|
Console_1.default.lowLevel(`Number of clusters loaded: ${existingClusters.length}`);
|
|
@@ -477,7 +479,7 @@ class MemoryAnalyst {
|
|
|
477
479
|
const nodeIdInPaths = new Set();
|
|
478
480
|
const idSet = new Set([id]);
|
|
479
481
|
LeakTraceDetailsLogger_1.default.setTraceFileEmpty(pathLoaderFile);
|
|
480
|
-
fs_1.default.writeFileSync(summaryFile, 'no path found', '
|
|
482
|
+
fs_1.default.writeFileSync(summaryFile, 'no path found', { encoding: 'utf8' });
|
|
481
483
|
Utils_1.default.applyToNodes(idSet, snapshot, node => {
|
|
482
484
|
const path = finder.getPathToGCRoots(snapshot, node);
|
|
483
485
|
if (!path) {
|
|
@@ -495,7 +497,7 @@ class MemoryAnalyst {
|
|
|
495
497
|
pathSummary = Serializer_1.default.summarizePath(path, nodeIdInPaths, snapshot);
|
|
496
498
|
const summary = `Page Interaction: \n${interactionSummary}\n\n` +
|
|
497
499
|
`Path from GC Root to Leaked Object:\n${pathSummary}`;
|
|
498
|
-
fs_1.default.writeFileSync(summaryFile, summary, '
|
|
500
|
+
fs_1.default.writeFileSync(summaryFile, summary, { encoding: 'utf8' });
|
|
499
501
|
});
|
|
500
502
|
}
|
|
501
503
|
}
|
package/dist/lib/HeapParser.js
CHANGED
|
@@ -56,10 +56,10 @@ function loadSnapshotMetaDataFromFile(file) {
|
|
|
56
56
|
return getSnapshotMetaData(content);
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
-
function getNodeIdsFromFile(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
function getNodeIdsFromFile(file_1) {
|
|
60
|
+
return __awaiter(this, arguments, void 0, function* (file,
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
62
|
+
_options = {}) {
|
|
63
63
|
const snapshotInfo = yield loadSnapshotMetaDataFromFile(file);
|
|
64
64
|
const nodes = yield StringLoader_1.default.readFileAndExtractTypedArray(file, 'nodes');
|
|
65
65
|
const ids = new Set();
|
|
@@ -114,8 +114,8 @@ function identifyAndSetEngine(snapshot) {
|
|
|
114
114
|
}
|
|
115
115
|
Config_1.default.jsEngine = engine;
|
|
116
116
|
}
|
|
117
|
-
function parse(
|
|
118
|
-
return __awaiter(this,
|
|
117
|
+
function parse(file_1) {
|
|
118
|
+
return __awaiter(this, arguments, void 0, function* (file, options = {}) {
|
|
119
119
|
const snapshot = yield parseFile(file);
|
|
120
120
|
const ret = new HeapSnapshot_1.default(snapshot, options);
|
|
121
121
|
identifyAndSetEngine(ret);
|
|
@@ -12,7 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.InternalValueSetter = void 0;
|
|
16
|
+
exports.setInternalValue = setInternalValue;
|
|
16
17
|
const fs_1 = __importDefault(require("fs"));
|
|
17
18
|
const path_1 = __importDefault(require("path"));
|
|
18
19
|
/** @internal */
|
|
@@ -42,4 +43,3 @@ function setInternalValue(value, callerFilePath, internalFolderName) {
|
|
|
42
43
|
const valueSetter = setter;
|
|
43
44
|
return valueSetter.fillIn(value);
|
|
44
45
|
}
|
|
45
|
-
exports.setInternalValue = setInternalValue;
|
package/dist/lib/NodeHeap.js
CHANGED
|
@@ -21,7 +21,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
21
21
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.
|
|
24
|
+
exports.tagObject = tagObject;
|
|
25
|
+
exports.dumpNodeHeapSnapshot = dumpNodeHeapSnapshot;
|
|
26
|
+
exports.getNodeInnocentHeap = getNodeInnocentHeap;
|
|
27
|
+
exports.takeNodeMinimalHeap = takeNodeMinimalHeap;
|
|
25
28
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
26
29
|
const path_1 = __importDefault(require("path"));
|
|
27
30
|
const v8_1 = __importDefault(require("v8"));
|
|
@@ -71,7 +74,6 @@ function tagObject(o, tag) {
|
|
|
71
74
|
MemLabTagStore_1.default.tagObject(o, tag);
|
|
72
75
|
return o;
|
|
73
76
|
}
|
|
74
|
-
exports.tagObject = tagObject;
|
|
75
77
|
/**
|
|
76
78
|
* Take a heap snapshot of the current program state and save it as a
|
|
77
79
|
* `.heapsnapshot` file under a randomly generated folder inside the system's
|
|
@@ -101,7 +103,6 @@ function dumpNodeHeapSnapshot() {
|
|
|
101
103
|
v8_1.default.writeHeapSnapshot(file);
|
|
102
104
|
return file;
|
|
103
105
|
}
|
|
104
|
-
exports.dumpNodeHeapSnapshot = dumpNodeHeapSnapshot;
|
|
105
106
|
/**
|
|
106
107
|
* Take a heap snapshot of the current program state
|
|
107
108
|
* and parse it as {@link IHeapSnapshot}. Notice that
|
|
@@ -137,7 +138,6 @@ function getNodeInnocentHeap() {
|
|
|
137
138
|
return snapshot;
|
|
138
139
|
});
|
|
139
140
|
}
|
|
140
|
-
exports.getNodeInnocentHeap = getNodeInnocentHeap;
|
|
141
141
|
/**
|
|
142
142
|
* Take a heap snapshot of the current program state
|
|
143
143
|
* and parse it as {@link IHeapSnapshot}. Notice that
|
|
@@ -171,4 +171,3 @@ function takeNodeMinimalHeap() {
|
|
|
171
171
|
return snapshot;
|
|
172
172
|
});
|
|
173
173
|
}
|
|
174
|
-
exports.takeNodeMinimalHeap = takeNodeMinimalHeap;
|
|
@@ -44,7 +44,7 @@ class PackageInfoLoader {
|
|
|
44
44
|
throw Utils_1.default.haltOrThrow(`package.json doesn't exist: ${packageJSONFile}`);
|
|
45
45
|
}
|
|
46
46
|
try {
|
|
47
|
-
const metaData = yield fs_extra_1.default.readJSON(packageJSONFile, '
|
|
47
|
+
const metaData = yield fs_extra_1.default.readJSON(packageJSONFile, { encoding: 'utf8' });
|
|
48
48
|
return Object.assign(Object.assign({}, metaData), { packageLocation: packageDirectory });
|
|
49
49
|
}
|
|
50
50
|
catch (ex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunInfoUtils.d.ts","sourceRoot":"","sources":["../../src/lib/RunInfoUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAU7D,qBAAa,kBAAkB;IAC7B,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC9B,GAAG,MAAM;IAeV,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GACzE,MAAM;
|
|
1
|
+
{"version":3,"file":"RunInfoUtils.d.ts","sourceRoot":"","sources":["../../src/lib/RunInfoUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAU7D,qBAAa,kBAAkB;IAC7B,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC9B,GAAG,MAAM;IAeV,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GACzE,MAAM;IAeT,OAAO,CAAC,uBAAuB;IAS/B,eAAe,CAAC,OAAO,CAAC,EAAE;QACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC5B,GAAG,WAAW;IAaf,yBAAyB,CAAC,OAAO,CAAC,EAAE;QAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC5B,GAAG,QAAQ,CAAC,WAAW,CAAC;IAWzB,2BAA2B,IAAI,WAAW;IAO1C,oBAAoB,CAClB,OAAO,GAAE;QAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAM,GAC/D,IAAI;CAiBR;AAED,QAAA,MAAM,YAAY;;CAAiD,CAAC;AAGpE,gBAAgB;AAChB,eAAe,YAAY,CAAC"}
|
package/dist/lib/RunInfoUtils.js
CHANGED
|
@@ -30,11 +30,13 @@ class RunMetaInfoManager {
|
|
|
30
30
|
var _a;
|
|
31
31
|
const runMetaFile = this.getRunMetaFilePath(options);
|
|
32
32
|
const serializable = Object.assign(Object.assign({}, runMetaInfo), { extraInfo: Object.assign(Object.assign({}, Utils_1.default.mapToObject(Config_1.default.extraRunInfoMap)), Utils_1.default.mapToObject((_a = options === null || options === void 0 ? void 0 : options.extraRunInfo) !== null && _a !== void 0 ? _a : new Map())) });
|
|
33
|
-
fs_1.default.writeFileSync(runMetaFile, JSON.stringify(serializable, null, 2),
|
|
33
|
+
fs_1.default.writeFileSync(runMetaFile, JSON.stringify(serializable, null, 2), {
|
|
34
|
+
encoding: 'utf8',
|
|
35
|
+
});
|
|
34
36
|
return runMetaFile;
|
|
35
37
|
}
|
|
36
38
|
loadRunMetaInfoFromFile(file) {
|
|
37
|
-
const content = fs_1.default.readFileSync(file, '
|
|
39
|
+
const content = fs_1.default.readFileSync(file, { encoding: 'utf8' });
|
|
38
40
|
const runMetaInfo = JSON.parse(content);
|
|
39
41
|
if (runMetaInfo && runMetaInfo.extraInfo) {
|
|
40
42
|
Config_1.default.extraRunInfoMap = Utils_1.default.objectToMap(runMetaInfo.extraInfo);
|
|
@@ -63,7 +65,7 @@ class RunMetaInfoManager {
|
|
|
63
65
|
}
|
|
64
66
|
loadRunMetaExternalTemplate() {
|
|
65
67
|
const runMetaTemplateFile = FileManager_1.default.getRunMetaExternalTemplateFile();
|
|
66
|
-
return JSON.parse(fs_1.default.readFileSync(runMetaTemplateFile, '
|
|
68
|
+
return JSON.parse(fs_1.default.readFileSync(runMetaTemplateFile, { encoding: 'utf8' }));
|
|
67
69
|
}
|
|
68
70
|
setConfigFromRunMeta(options = {}) {
|
|
69
71
|
const meta = (options === null || options === void 0 ? void 0 : options.silentFail)
|
package/dist/lib/Serializer.js
CHANGED
|
@@ -400,7 +400,7 @@ function JSONifyNode(node, args, inputOptions) {
|
|
|
400
400
|
}
|
|
401
401
|
function JSONifyTabsOrder() {
|
|
402
402
|
const file = Utils_1.default.getSnapshotSequenceFilePath();
|
|
403
|
-
return fs_1.default.readFileSync(file, '
|
|
403
|
+
return fs_1.default.readFileSync(file, { encoding: 'utf8' });
|
|
404
404
|
}
|
|
405
405
|
function shouldHighlight(node) {
|
|
406
406
|
return Utils_1.default.isDetachedDOMNode(node) || Utils_1.default.isDetachedFiberNode(node);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringLoader.d.ts","sourceRoot":"","sources":["../../src/lib/StringLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG
|
|
1
|
+
{"version":3,"file":"StringLoader.d.ts","sourceRoot":"","sources":["../../src/lib/StringLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;AAIhD,cAAM,YAAY;IAChB,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAY7C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkFtE,4BAA4B,CAC1B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC;IA8FlB,4BAA4B,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC;CAmHxB;;AAED,wBAAkC"}
|
package/dist/lib/StringLoader.js
CHANGED
|
@@ -46,7 +46,7 @@ class StringLoader {
|
|
|
46
46
|
let _pos = 0;
|
|
47
47
|
const readCallback = function (err, bytes) {
|
|
48
48
|
_errHandler(err);
|
|
49
|
-
const str = _buffer.slice(0, bytes).toString('
|
|
49
|
+
const str = _buffer.slice(0, bytes).toString('utf8');
|
|
50
50
|
if (!_begin && !_startSig) {
|
|
51
51
|
// start reserving content if no start signature is specified
|
|
52
52
|
_begin = true;
|
|
@@ -113,7 +113,7 @@ class StringLoader {
|
|
|
113
113
|
let _pos = 0;
|
|
114
114
|
const readCallback = function (err, bytes) {
|
|
115
115
|
_errHandler(err);
|
|
116
|
-
let str = _buffer.slice(0, bytes).toString('
|
|
116
|
+
let str = _buffer.slice(0, bytes).toString('utf8');
|
|
117
117
|
// look for end of field
|
|
118
118
|
if (_curFieldToIgnore) {
|
|
119
119
|
const endIdx = str.indexOf(']');
|
|
@@ -221,7 +221,7 @@ class StringLoader {
|
|
|
221
221
|
const readCallback = function (err, bytes) {
|
|
222
222
|
_errHandler(err);
|
|
223
223
|
const buf = bytes === _buffer.byteLength ? _buffer : _buffer.slice(0, bytes);
|
|
224
|
-
const str = buf.toString('
|
|
224
|
+
const str = buf.toString('utf8');
|
|
225
225
|
_strBuf += str;
|
|
226
226
|
// look for start signature
|
|
227
227
|
if (!_begin) {
|
package/dist/lib/Types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
10
|
import { ParsedArgs } from 'minimist';
|
|
11
|
-
import type { LaunchOptions, Page as PuppeteerPage } from 'puppeteer';
|
|
11
|
+
import type { LaunchOptions, Page as PuppeteerPage } from 'puppeteer-core';
|
|
12
12
|
import type { ErrorHandling, MemLabConfig } from './Config';
|
|
13
13
|
/** @internal */
|
|
14
14
|
export type AnyValue = any;
|
|
@@ -140,7 +140,7 @@ export type PuppeteerConfig = LaunchOptions & BrowserLaunchArgumentOptions & Bro
|
|
|
140
140
|
* the puppeteer used by MemLab. This may cause some type errors, for example:
|
|
141
141
|
*
|
|
142
142
|
* ```typescript
|
|
143
|
-
* import type {Page} from 'puppeteer';
|
|
143
|
+
* import type {Page} from 'puppeteer-core';
|
|
144
144
|
* import type {RunOptions} from '@memlab/api';
|
|
145
145
|
*
|
|
146
146
|
* const runOptions: RunOptions = {
|