@alwaysmeticulous/cli 1.2.9 → 1.2.12
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/api/replay.api.d.ts +10 -0
- package/dist/api/replay.api.js +8 -1
- package/dist/commands/download-replay/download-replay.command.d.ts +1 -1
- package/dist/commands/download-session/download-session.command.d.ts +1 -1
- package/dist/commands/record/record.command.d.ts +2 -1
- package/dist/commands/record/record.command.js +11 -1
- package/dist/commands/replay/replay.command.d.ts +2 -1
- package/dist/commands/replay/replay.command.js +9 -3
- package/dist/commands/screenshot-diff/screenshot-diff.command.d.ts +9 -0
- package/dist/commands/screenshot-diff/screenshot-diff.command.js +59 -0
- package/dist/commands/show-project/show-project.command.d.ts +1 -1
- package/dist/commands/upload-build/upload-build.command.d.ts +1 -1
- package/dist/image/diff.utils.d.ts +14 -0
- package/dist/image/diff.utils.js +26 -0
- package/dist/image/io.utils.d.ts +3 -0
- package/dist/image/io.utils.js +25 -0
- package/dist/local-data/local-data.utils.d.ts +1 -0
- package/dist/local-data/local-data.utils.js +7 -0
- package/dist/local-data/replays.d.ts +2 -0
- package/dist/local-data/replays.js +10 -2
- package/dist/local-data/screenshot-diffs.d.ts +6 -0
- package/dist/local-data/screenshot-diffs.js +15 -0
- package/dist/local-data/sessions.js +3 -5
- package/dist/main.js +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -1
package/dist/api/replay.api.d.ts
CHANGED
|
@@ -21,3 +21,13 @@ export interface ReplayDownloadUrlOutput {
|
|
|
21
21
|
export declare const getReplayDownloadUrl: (client: AxiosInstance, replayId: string) => Promise<ReplayDownloadUrlOutput | null>;
|
|
22
22
|
export declare const putReplayPushedStatus: (client: AxiosInstance, projectBuildId: string, status: "success" | "failure", replayCommandId: string) => Promise<any>;
|
|
23
23
|
export declare const getReplayCommandId: (client: AxiosInstance, sessionId: string) => Promise<string>;
|
|
24
|
+
export interface ScreenshotDiffStats {
|
|
25
|
+
baseReplayId: string;
|
|
26
|
+
headReplayId: string;
|
|
27
|
+
stats: {
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
mismatchPixels: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export declare const postScreenshotDiffStats: (client: AxiosInstance, options: ScreenshotDiffStats) => Promise<void>;
|
package/dist/api/replay.api.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getReplayCommandId = exports.putReplayPushedStatus = exports.getReplayDownloadUrl = exports.getReplayPushUrl = exports.createReplay = exports.getReplay = void 0;
|
|
6
|
+
exports.postScreenshotDiffStats = exports.getReplayCommandId = exports.putReplayPushedStatus = exports.getReplayDownloadUrl = exports.getReplayPushUrl = exports.createReplay = exports.getReplay = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const getReplay = async (client, replayId) => {
|
|
9
9
|
const { data } = await client.get(`replays/${replayId}`).catch((error) => {
|
|
@@ -72,3 +72,10 @@ const getReplayCommandId = async (client, sessionId) => {
|
|
|
72
72
|
return replayCommandId;
|
|
73
73
|
};
|
|
74
74
|
exports.getReplayCommandId = getReplayCommandId;
|
|
75
|
+
const postScreenshotDiffStats = async (client, { baseReplayId, headReplayId, stats }) => {
|
|
76
|
+
await client.post(`replays/${headReplayId}/screenshot-diff`, {
|
|
77
|
+
baseReplayId,
|
|
78
|
+
stats,
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
exports.postScreenshotDiffStats = postScreenshotDiffStats;
|
|
@@ -6,6 +6,7 @@ interface Options {
|
|
|
6
6
|
width?: number | null | undefined;
|
|
7
7
|
height?: number | null | undefined;
|
|
8
8
|
uploadIntervalMs?: number | null | undefined;
|
|
9
|
+
incognito?: boolean | null | undefined;
|
|
9
10
|
}
|
|
10
|
-
export declare const record: CommandModule<
|
|
11
|
+
export declare const record: CommandModule<unknown, Options>;
|
|
11
12
|
export {};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.record = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
4
5
|
const client_1 = require("../../api/client");
|
|
5
6
|
const project_api_1 = require("../../api/project.api");
|
|
6
7
|
const session_api_1 = require("../../api/session.api");
|
|
8
|
+
const local_data_1 = require("../../local-data/local-data");
|
|
7
9
|
const replay_assets_1 = require("../../local-data/replay-assets");
|
|
8
10
|
const commit_sha_utils_1 = require("../../utils/commit-sha.utils");
|
|
9
|
-
const handler = async ({ apiToken, commitSha: commitSha_, devTools, width, height, uploadIntervalMs, }) => {
|
|
11
|
+
const handler = async ({ apiToken, commitSha: commitSha_, devTools, width, height, uploadIntervalMs, incognito, }) => {
|
|
10
12
|
// 1. Fetch the recording token
|
|
11
13
|
const client = (0, client_1.createClient)({ apiToken });
|
|
12
14
|
const project = await (0, project_api_1.getProject)(client);
|
|
@@ -36,6 +38,7 @@ const handler = async ({ apiToken, commitSha: commitSha_, devTools, width, heigh
|
|
|
36
38
|
console.error(error);
|
|
37
39
|
process.exit(1);
|
|
38
40
|
}
|
|
41
|
+
const cookieDir = (0, path_1.join)((0, local_data_1.getMeticulousLocalDataDir)(), "cookies");
|
|
39
42
|
// Report recording start
|
|
40
43
|
const recordingCommandId = await (0, session_api_1.getRecordingCommandId)(client);
|
|
41
44
|
// 5. Start recording
|
|
@@ -49,6 +52,8 @@ const handler = async ({ apiToken, commitSha: commitSha_, devTools, width, heigh
|
|
|
49
52
|
width,
|
|
50
53
|
height,
|
|
51
54
|
uploadIntervalMs,
|
|
55
|
+
incognito,
|
|
56
|
+
cookieDir,
|
|
52
57
|
onDetectedSession: (sessionId) => {
|
|
53
58
|
(0, session_api_1.postSessionIdNotification)(client, sessionId, recordingCommandId).catch((error) => {
|
|
54
59
|
console.error(`Warning: error while notifying session recording ${sessionId}`);
|
|
@@ -82,6 +87,11 @@ exports.record = {
|
|
|
82
87
|
number: true,
|
|
83
88
|
description: "Meticulous recording upload interval (in milliseconds)",
|
|
84
89
|
},
|
|
90
|
+
incognito: {
|
|
91
|
+
boolean: true,
|
|
92
|
+
description: "Use an incognito browsing context",
|
|
93
|
+
default: true,
|
|
94
|
+
},
|
|
85
95
|
},
|
|
86
96
|
handler,
|
|
87
97
|
};
|
|
@@ -4,8 +4,9 @@ interface Options {
|
|
|
4
4
|
commitSha?: string | null | undefined;
|
|
5
5
|
sessionId: string;
|
|
6
6
|
appUrl: string;
|
|
7
|
+
headless?: boolean | null | undefined;
|
|
7
8
|
devTools?: boolean | null | undefined;
|
|
8
9
|
screenshot?: boolean | null | undefined;
|
|
9
10
|
}
|
|
10
|
-
export declare const replay: CommandModule<
|
|
11
|
+
export declare const replay: CommandModule<unknown, Options>;
|
|
11
12
|
export {};
|
|
@@ -9,11 +9,12 @@ const replay_api_1 = require("../../api/replay.api");
|
|
|
9
9
|
const upload_1 = require("../../api/upload");
|
|
10
10
|
const archive_1 = require("../../archive/archive");
|
|
11
11
|
const local_data_1 = require("../../local-data/local-data");
|
|
12
|
+
const local_data_utils_1 = require("../../local-data/local-data.utils");
|
|
12
13
|
const replay_assets_1 = require("../../local-data/replay-assets");
|
|
13
14
|
const sessions_1 = require("../../local-data/sessions");
|
|
14
15
|
const commit_sha_utils_1 = require("../../utils/commit-sha.utils");
|
|
15
16
|
const version_utils_1 = require("../../utils/version.utils");
|
|
16
|
-
const handler = async ({ apiToken, commitSha: commitSha_, sessionId, appUrl, devTools, screenshot, }) => {
|
|
17
|
+
const handler = async ({ apiToken, commitSha: commitSha_, sessionId, appUrl, headless, devTools, screenshot, }) => {
|
|
17
18
|
const client = (0, client_1.createClient)({ apiToken });
|
|
18
19
|
// 1. Check session files
|
|
19
20
|
const session = await (0, sessions_1.getOrFetchRecordedSession)(client, sessionId);
|
|
@@ -44,7 +45,8 @@ const handler = async ({ apiToken, commitSha: commitSha_, sessionId, appUrl, dev
|
|
|
44
45
|
await (0, promises_1.mkdir)((0, path_1.join)((0, local_data_1.getMeticulousLocalDataDir)(), "replays"), {
|
|
45
46
|
recursive: true,
|
|
46
47
|
});
|
|
47
|
-
const
|
|
48
|
+
const tempDirName = (0, local_data_utils_1.sanitizeFilename)(`${new Date().toISOString()}-`);
|
|
49
|
+
const tempDir = await (0, promises_1.mkdtemp)((0, path_1.join)((0, local_data_1.getMeticulousLocalDataDir)(), "replays", tempDirName));
|
|
48
50
|
// 6. Create and save replay parameters
|
|
49
51
|
const replayEventsParams = {
|
|
50
52
|
appUrl,
|
|
@@ -54,7 +56,7 @@ const handler = async ({ apiToken, commitSha: commitSha_, sessionId, appUrl, dev
|
|
|
54
56
|
sessionData,
|
|
55
57
|
recordingId: "manual-replay",
|
|
56
58
|
meticulousSha: "meticulousSha",
|
|
57
|
-
headless: false,
|
|
59
|
+
headless: headless || false,
|
|
58
60
|
devTools: devTools || false,
|
|
59
61
|
dependencies: {
|
|
60
62
|
reanimator: {
|
|
@@ -137,6 +139,10 @@ exports.replay = {
|
|
|
137
139
|
string: true,
|
|
138
140
|
demandOption: true,
|
|
139
141
|
},
|
|
142
|
+
headless: {
|
|
143
|
+
boolean: true,
|
|
144
|
+
description: "Start browser in headless mode",
|
|
145
|
+
},
|
|
140
146
|
devTools: {
|
|
141
147
|
boolean: true,
|
|
142
148
|
description: "Open Chrome Dev Tools",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CommandModule } from "yargs";
|
|
2
|
+
interface Options {
|
|
3
|
+
apiToken?: string | null | undefined;
|
|
4
|
+
baseReplayId: string;
|
|
5
|
+
headReplayId: string;
|
|
6
|
+
threshold?: number | null | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare const screenshotDiff: CommandModule<unknown, Options>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.screenshotDiff = void 0;
|
|
4
|
+
const client_1 = require("../../api/client");
|
|
5
|
+
const replay_api_1 = require("../../api/replay.api");
|
|
6
|
+
const diff_utils_1 = require("../../image/diff.utils");
|
|
7
|
+
const replays_1 = require("../../local-data/replays");
|
|
8
|
+
const screenshot_diffs_1 = require("../../local-data/screenshot-diffs");
|
|
9
|
+
const DEFAULT_MISMATCH_THRESHOLD = 0.01;
|
|
10
|
+
const handler = async ({ apiToken, baseReplayId, headReplayId, threshold: threshold_, }) => {
|
|
11
|
+
const client = (0, client_1.createClient)({ apiToken });
|
|
12
|
+
await (0, replays_1.getOrFetchReplay)(client, baseReplayId);
|
|
13
|
+
await (0, replays_1.getOrFetchReplayArchive)(client, baseReplayId);
|
|
14
|
+
await (0, replays_1.getOrFetchReplay)(client, headReplayId);
|
|
15
|
+
await (0, replays_1.getOrFetchReplayArchive)(client, headReplayId);
|
|
16
|
+
const baseScreenshot = await (0, replays_1.readReplayScreenshot)(baseReplayId);
|
|
17
|
+
const headScreenshot = await (0, replays_1.readReplayScreenshot)(headReplayId);
|
|
18
|
+
const { mismatchPixels, mismatchFraction, diff } = (0, diff_utils_1.compareImages)({
|
|
19
|
+
base: baseScreenshot,
|
|
20
|
+
head: headScreenshot,
|
|
21
|
+
});
|
|
22
|
+
console.log({ mismatchPixels, mismatchFraction });
|
|
23
|
+
await (0, screenshot_diffs_1.writeScreenshotDiff)({ baseReplayId, headReplayId, diff });
|
|
24
|
+
await (0, replay_api_1.postScreenshotDiffStats)(client, {
|
|
25
|
+
baseReplayId,
|
|
26
|
+
headReplayId,
|
|
27
|
+
stats: {
|
|
28
|
+
width: baseScreenshot.width,
|
|
29
|
+
height: baseScreenshot.height,
|
|
30
|
+
mismatchPixels,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
const threshold = threshold_ || DEFAULT_MISMATCH_THRESHOLD;
|
|
34
|
+
if (mismatchFraction > threshold) {
|
|
35
|
+
console.log("Screenshots do not match!");
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.screenshotDiff = {
|
|
40
|
+
command: "screenshot-diff",
|
|
41
|
+
describe: "Diff two replay screenshots",
|
|
42
|
+
builder: {
|
|
43
|
+
apiToken: {
|
|
44
|
+
string: true,
|
|
45
|
+
},
|
|
46
|
+
baseReplayId: {
|
|
47
|
+
string: true,
|
|
48
|
+
demandOption: true,
|
|
49
|
+
},
|
|
50
|
+
headReplayId: {
|
|
51
|
+
string: true,
|
|
52
|
+
demandOption: true,
|
|
53
|
+
},
|
|
54
|
+
threshold: {
|
|
55
|
+
number: true,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
handler,
|
|
59
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PNG } from "pngjs";
|
|
2
|
+
export interface CompareImageOptions {
|
|
3
|
+
base: PNG;
|
|
4
|
+
head: PNG;
|
|
5
|
+
pixelmatchOptions?: {
|
|
6
|
+
threshold: number;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export interface CompareImageResult {
|
|
10
|
+
mismatchPixels: number;
|
|
11
|
+
mismatchFraction: number;
|
|
12
|
+
diff: PNG;
|
|
13
|
+
}
|
|
14
|
+
export declare const compareImages: (options: CompareImageOptions) => CompareImageResult;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.compareImages = void 0;
|
|
7
|
+
const pixelmatch_1 = __importDefault(require("pixelmatch"));
|
|
8
|
+
const pngjs_1 = require("pngjs");
|
|
9
|
+
const compareImages = ({ base, head, pixelmatchOptions }) => {
|
|
10
|
+
if (base.width !== head.width || base.height !== head.height) {
|
|
11
|
+
throw new Error("Cannot handle different size yet");
|
|
12
|
+
}
|
|
13
|
+
const { width, height } = base;
|
|
14
|
+
const diff = new pngjs_1.PNG({ width, height });
|
|
15
|
+
const threshold = (pixelmatchOptions === null || pixelmatchOptions === void 0 ? void 0 : pixelmatchOptions.threshold) || 0.01;
|
|
16
|
+
const mismatchPixels = (0, pixelmatch_1.default)(base.data, head.data, diff.data, width, height, {
|
|
17
|
+
threshold,
|
|
18
|
+
});
|
|
19
|
+
const mismatchFraction = mismatchPixels / (width * height);
|
|
20
|
+
return {
|
|
21
|
+
mismatchPixels,
|
|
22
|
+
mismatchFraction,
|
|
23
|
+
diff,
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
exports.compareImages = compareImages;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.writePng = exports.readPng = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const pngjs_1 = require("pngjs");
|
|
6
|
+
const readPng = async (path) => {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
const png = new pngjs_1.PNG();
|
|
9
|
+
(0, fs_1.createReadStream)(path)
|
|
10
|
+
.pipe(png)
|
|
11
|
+
.on("parsed", () => {
|
|
12
|
+
resolve(png);
|
|
13
|
+
})
|
|
14
|
+
.on("error", (error) => reject(error));
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
exports.readPng = readPng;
|
|
18
|
+
const writePng = async (png, path) => {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
const str = (0, fs_1.createWriteStream)(path);
|
|
21
|
+
png.pack().pipe(str);
|
|
22
|
+
str.on("close", () => resolve()).on("error", (error) => reject(error));
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
exports.writePng = writePng;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const sanitizeFilename: (filename: string) => string;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { AxiosInstance } from "axios";
|
|
2
|
+
import { PNG } from "pngjs";
|
|
2
3
|
export declare const getOrFetchReplay: (client: AxiosInstance, replayId: string) => Promise<any>;
|
|
3
4
|
export declare const getOrFetchReplayArchive: (client: AxiosInstance, replayId: string) => Promise<void>;
|
|
5
|
+
export declare const readReplayScreenshot: (replayId: string) => Promise<PNG>;
|
|
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getOrFetchReplayArchive = exports.getOrFetchReplay = void 0;
|
|
6
|
+
exports.readReplayScreenshot = exports.getOrFetchReplayArchive = exports.getOrFetchReplay = void 0;
|
|
7
7
|
const adm_zip_1 = __importDefault(require("adm-zip"));
|
|
8
8
|
const promises_1 = require("fs/promises");
|
|
9
9
|
const path_1 = require("path");
|
|
10
10
|
const download_1 = require("../api/download");
|
|
11
11
|
const replay_api_1 = require("../api/replay.api");
|
|
12
|
+
const io_utils_1 = require("../image/io.utils");
|
|
12
13
|
const local_data_1 = require("./local-data");
|
|
13
14
|
const getOrFetchReplay = async (client, replayId) => {
|
|
14
15
|
const replayDir = (0, path_1.join)((0, local_data_1.getMeticulousLocalDataDir)(), "replays", replayId);
|
|
@@ -27,7 +28,7 @@ const getOrFetchReplay = async (client, replayId) => {
|
|
|
27
28
|
process.exit(1);
|
|
28
29
|
}
|
|
29
30
|
await (0, promises_1.writeFile)(replayFile, JSON.stringify(replay, null, 2));
|
|
30
|
-
console.log(`Wrote
|
|
31
|
+
console.log(`Wrote replay to ${replayFile}`);
|
|
31
32
|
return replay;
|
|
32
33
|
};
|
|
33
34
|
exports.getOrFetchReplay = getOrFetchReplay;
|
|
@@ -57,3 +58,10 @@ const getOrFetchReplayArchive = async (client, replayId) => {
|
|
|
57
58
|
console.log(`Exrtracted replay archive in ${replayDir}`);
|
|
58
59
|
};
|
|
59
60
|
exports.getOrFetchReplayArchive = getOrFetchReplayArchive;
|
|
61
|
+
const readReplayScreenshot = async (replayId) => {
|
|
62
|
+
const replayDir = (0, path_1.join)((0, local_data_1.getMeticulousLocalDataDir)(), "replays", replayId);
|
|
63
|
+
const screenshotFile = (0, path_1.join)(replayDir, "screenshots", "final-state.png");
|
|
64
|
+
const png = await (0, io_utils_1.readPng)(screenshotFile);
|
|
65
|
+
return png;
|
|
66
|
+
};
|
|
67
|
+
exports.readReplayScreenshot = readReplayScreenshot;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.writeScreenshotDiff = void 0;
|
|
4
|
+
const promises_1 = require("fs/promises");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const io_utils_1 = require("../image/io.utils");
|
|
7
|
+
const local_data_1 = require("./local-data");
|
|
8
|
+
const writeScreenshotDiff = async ({ baseReplayId, headReplayId, diff }) => {
|
|
9
|
+
const diffDir = (0, path_1.join)((0, local_data_1.getMeticulousLocalDataDir)(), "screenshot-diffs");
|
|
10
|
+
await (0, promises_1.mkdir)(diffDir, { recursive: true });
|
|
11
|
+
const diffFile = (0, path_1.join)(diffDir, `${baseReplayId}+${headReplayId}.png`);
|
|
12
|
+
await (0, io_utils_1.writePng)(diff, diffFile);
|
|
13
|
+
console.log(`Screenshot diff written to ${diffFile}`);
|
|
14
|
+
};
|
|
15
|
+
exports.writeScreenshotDiff = writeScreenshotDiff;
|
|
@@ -5,13 +5,11 @@ const promises_1 = require("fs/promises");
|
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const session_api_1 = require("../api/session.api");
|
|
7
7
|
const local_data_1 = require("./local-data");
|
|
8
|
-
const
|
|
9
|
-
return sessionId.replace(/[^a-zA-Z0-9]/g, "_");
|
|
10
|
-
};
|
|
8
|
+
const local_data_utils_1 = require("./local-data.utils");
|
|
11
9
|
const getOrFetchRecordedSession = async (client, sessionId) => {
|
|
12
10
|
const sessionsDir = (0, path_1.join)((0, local_data_1.getMeticulousLocalDataDir)(), "sessions");
|
|
13
11
|
await (0, promises_1.mkdir)(sessionsDir, { recursive: true });
|
|
14
|
-
const sessionFile = (0, path_1.join)(sessionsDir, `${
|
|
12
|
+
const sessionFile = (0, path_1.join)(sessionsDir, `${(0, local_data_utils_1.sanitizeFilename)(sessionId)}.json`);
|
|
15
13
|
const existingSession = await (0, promises_1.readFile)(sessionFile)
|
|
16
14
|
.then((data) => JSON.parse(data.toString("utf-8")))
|
|
17
15
|
.catch(() => null);
|
|
@@ -32,7 +30,7 @@ exports.getOrFetchRecordedSession = getOrFetchRecordedSession;
|
|
|
32
30
|
const getOrFetchRecordedSessionData = async (client, sessionId) => {
|
|
33
31
|
const sessionsDir = (0, path_1.join)((0, local_data_1.getMeticulousLocalDataDir)(), "sessions");
|
|
34
32
|
await (0, promises_1.mkdir)(sessionsDir, { recursive: true });
|
|
35
|
-
const sessionDataFile = (0, path_1.join)(sessionsDir, `${
|
|
33
|
+
const sessionDataFile = (0, path_1.join)(sessionsDir, `${(0, local_data_utils_1.sanitizeFilename)(sessionId)}_data.json`);
|
|
36
34
|
const existingSessionData = await (0, promises_1.readFile)(sessionDataFile)
|
|
37
35
|
.then((data) => JSON.parse(data.toString("utf-8")))
|
|
38
36
|
.catch(() => null);
|
package/dist/main.js
CHANGED
|
@@ -9,6 +9,7 @@ const download_replay_command_1 = require("./commands/download-replay/download-r
|
|
|
9
9
|
const download_session_command_1 = require("./commands/download-session/download-session.command");
|
|
10
10
|
const record_command_1 = require("./commands/record/record.command");
|
|
11
11
|
const replay_command_1 = require("./commands/replay/replay.command");
|
|
12
|
+
const screenshot_diff_command_1 = require("./commands/screenshot-diff/screenshot-diff.command");
|
|
12
13
|
const show_project_command_1 = require("./commands/show-project/show-project.command");
|
|
13
14
|
const upload_build_command_1 = require("./commands/upload-build/upload-build.command");
|
|
14
15
|
const local_data_1 = require("./local-data/local-data");
|
|
@@ -25,6 +26,7 @@ const main = () => {
|
|
|
25
26
|
.command(download_session_command_1.downloadSession)
|
|
26
27
|
.command(record_command_1.record)
|
|
27
28
|
.command(replay_command_1.replay)
|
|
29
|
+
.command(screenshot_diff_command_1.screenshotDiff)
|
|
28
30
|
.command(show_project_command_1.showProject)
|
|
29
31
|
.command(upload_build_command_1.uploadBuild)
|
|
30
32
|
.help()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.es2019.full.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/axios/index.d.ts","../src/utils/api-token.utils.ts","../src/api/client.ts","../src/api/session.api.ts","../src/local-data/local-data.ts","../src/local-data/sessions.ts","../src/commands/download-session/download-session.command.ts","../../record/dist/record/record.d.ts","../../record/dist/index.d.ts","../src/api/project.api.ts","../src/local-data/replay-assets.ts","../src/utils/commit-sha.utils.ts","../src/commands/record/record.command.ts","../../replayer/dist/session/session.types.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../../../node_modules/puppeteer/lib/types.d.ts","../../../node_modules/rrweb-snapshot/typings/types.d.ts","../../../node_modules/rrweb-snapshot/typings/snapshot.d.ts","../../../node_modules/rrweb-snapshot/typings/rebuild.d.ts","../../../node_modules/rrweb-snapshot/typings/index.d.ts","../../../node_modules/rrweb/typings/types.d.ts","../../replayer/dist/replayer/replay.utils.d.ts","../../replayer/dist/replayer/replay-events.d.ts","../../replayer/dist/index.d.ts","../../../node_modules/@types/luxon/src/zone.d.ts","../../../node_modules/@types/luxon/src/misc.d.ts","../../../node_modules/@types/luxon/src/duration.d.ts","../../../node_modules/@types/luxon/src/interval.d.ts","../../../node_modules/@types/luxon/src/datetime.d.ts","../../../node_modules/@types/luxon/src/info.d.ts","../../../node_modules/@types/luxon/src/settings.d.ts","../../../node_modules/@types/luxon/src/luxon.d.ts","../../../node_modules/@types/luxon/index.d.ts","../src/api/replay.api.ts","../src/api/upload.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/archiver/index.d.ts","../src/archive/archive.ts","../src/utils/version.utils.ts","../src/commands/replay/replay.command.ts","../src/commands/show-project/show-project.command.ts","../src/api/project-build.api.ts","../src/commands/upload-build/upload-build.command.ts","../src/index.ts","../../../node_modules/@types/adm-zip/util.d.ts","../../../node_modules/@types/adm-zip/index.d.ts","../src/api/download.ts","../src/local-data/replays.ts","../src/commands/download-replay/download-replay.command.ts","../src/main.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/smoothscroll-polyfill/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"1f03b495671c3a1bd24510f38b8947f0991dfd6bf0278c68eca14af15b306e1f","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","45627c7d24633686b0274d9402652930ba2e4fe74df04f114393ae121d1e8afe","2808645b990069e5f8b5ff14c9f1e6077eb642583c3f7854012d60757f23c70e","504748354caa6b804491bc919fdeba0cb0891bfab827584af3e1909680984733","385c8d0cc48ea3c9d6a4448090bd8fc42077e72cdc0c456a1cfb7818d296a4f2","76e9d714acaae86bd48a2fcb213f90e883da23f9bb51b482b27c2dabfeb046c1","b28d508ae5eeee614a91c46e0d0932b1ae517b4838749582ede5aa031016ae73","6a32b3bec835ab0fa104d67d6beb8b91bbca9b6be62f1043105b9b255f826862","f1c6991464f1893a85d905cc3f41f07aee000d0414500f3758dc00ad2b65e611","baa105bdfa68ae0e7d5efac6b22ce5046eed626ecb8a3cb5eb2e9d195d209eb7","c300a087af272d75421e2d3b4b2252d8011109b96ff870c6b5dc131aeb87b543","1bb8c0dd0981e05a4dbbb2cae6d63395a2de76d8f2286a706bb559637a1e4d80","e1c4dbc8e86098998d6a7457acbed85e24957dc47ecc558eeaf241119659af1d","f971cf15188513b2b25ec3c94b27ed4a159a912ad3aa821be02224bd9ebe63b7",{"version":"a7cf73d1c0d7a025479a7b33808f23b845cbaf7f6cd07d76403d5513b15e9def","signature":"90b4e003291801ac902beb77f3cc47bb4244f42165732523155b6309ab7b0109"},"188565fbbadbaf42f3feccaafb11b48c5d2de58e1608c08e9df42a3b8215f906","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","7417ff3102c2ed96fe1c7bb0fbc03fc63d0314d41e72e130a6a115e3c43fb327","e432dfa7ded4469c8d6104885eb093a6eb5a9720092e855ea411a58a0755201b","7b01601babc431f99e4e1e1b8d8503f751f70eb684c1b7c6a3bbc56a3599a6f9","00a99694b9e5a9dc8a3817817a55eef4f43657f47d70826b843fb8686e93ee4b","504cf61e06f9160f74227321cad90e3066a1ab79d13a3482ff943c3c6ea4b8d4","e9e45cd9deaa11c034988f1b1cc9d282e9c4219715681f6014dfc926cad6f06b","1e19cfa78e51780c766049252825b796c6b94eb80e068906a956fd985a6a4f9e","88d1cb1b22796118d94b30e9aab99ccb27566eb0cf226ca25ff46fbedc50f904","2e3a430148531ca17d9e2b8e6a01be07096d54adf3ca90839fd8cdba5aa01c7d","a0a517bb8819fe29152ec7d87e7fe46d539d6f1aa46e5e9658aaa01546b520c9","19ec34e1a88d9e429c6a3716e281b30c0b934d5f51480132607ff55bdfa9005c","ec6d1ffbb1455fdf7c75715ce5390172f3c4783b94defaf897e6036c7282d04c","52ed17fe2c0a4bb27a4f13e99234b3d1f364dc27f9bd7964946d5ec62792a0cc","e9aefcaf89c87dae14a381765b9d889568bfd86472650aea8444234278172371","9f3fd115e0f6969c552fbf60fba7af3f66c070718809e8fba06c963abb59b028","cfb5e5369bd802fc2c216a06d3c4b92de8c428bdb7879c685e230809ef4eaee4","ed4be5a31cd8dbb8e31ccde91e7b8c1552eb191c4787d19ed028763577674772","d40e7cb322841e538e686b8a39f05e8b3e0b6d5b7c6687efa69f0cbf9124c4ec","c5641bb951da5d5252e7d8a806ec3c84f42555b5bd6a0879dbf1c7df1b8bd850","3147fec8a70e38c6ad051232697c89c5e5ec259eff00a184344ac018308b7cbf","a980919a6384df01ab061d2ea778e70d9c09cee5dee3ef3413f0c69cb0048e3c","79af33ba55da7d35bc3389dacde5cd3699ec4fd4675a98cb7667f7e2d1533c33","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","51440322bec180cf452ce474b4f69b993b4eb491fecf47abd958d3342747d6b0","f975872106ca4b5462634794605c8d09fb11aca94be3ed76e6b7a1ed111f130f","59907d082c685abe9290f8a4a6a5f23e888aa02677e04b1707fb288f2c846591","a790a87a5ea071f1403c104cfcba4447fb6dcadcb6cf71e6b1b1a19a920f446a","b7b5062b102367740b755f7e0bd0ffd64bf9a6176c2f3407a2dab2c7065c5b0e","926929ee7d8b8af2e0767c7df35a6ce16dd01745cc31881672c703368662a35d","427e6378a4bac776b4ac70d05f297ff4cfa3b06646fbc52604194c52444150a3","5217960112f59b1b9bf2f81ac4447c5f84946a81469aab7e511d5fa6b64cf8ce","0e0b0baaf6e3845418c2741c9b47478cf6fc086ef8dd5ad4b9ab91499e51de28","ca6e8a62a3e4f5cc3fea6ab45c2e5e128db4d90d81d70547a65047e3f13996f1","c5272cde17f2e0a2fc3a4c6a900017facf0f175d0a4fc9ed839b53a48e61d144","da79f9d113cab5658af607c911344aa27ae5269db4300c66255c9d6d9c6d25a7","8e7dddc97dd98a83d514f22b343a57813c4d06cc366b3880f0db70af13b49e78","1ec4d558093bd73e51089ff5792556f3a0d4a2d4a146b99651d3bfafc09e5097","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","657ecc0d1f08d35e69533185aca1cf400667261e29fb5a41021a8eee0df697c0","b2d70a269840a9528db473ac7565442434333a05c1f66801a7a672e82beb903e"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"experimentalDecorators":true,"module":1,"newLine":1,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"outDir":"./","preserveConstEnums":true,"rootDir":"../src","skipLibCheck":true,"strict":true,"target":6,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[76,103,110,143],[103],[76,92,103,108,134],[75,76,103,110,133],[103,129],[103,122,124,125,130],[103,123,126],[103,122,123],[103,124,126],[103,122,123,124,125,126,127,128],[103,122],[60,103],[63,103],[64,69,103],[65,75,76,83,92,102,103],[65,66,75,83,103],[67,103],[68,69,76,84,103],[69,92,99,103],[70,72,75,83,103],[71,103],[72,73,103],[74,75,103],[75,103],[75,76,77,92,102,103],[75,76,77,92,103],[78,83,92,102,103],[75,76,78,79,83,92,99,102,103],[78,80,92,99,102,103],[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109],[75,81,103],[82,102,103],[72,75,83,92,103],[84,103],[85,103],[63,86,103],[87,101,103,107],[88,103],[89,103],[75,90,103],[90,91,103,105],[75,92,93,94,103],[92,94,103],[92,93,103],[95,103],[96,103],[75,97,98,103],[97,98,103],[69,83,92,99,103],[100,103],[83,101,103],[64,78,89,102,103],[69,103],[92,103,104],[103,105],[103,106],[64,69,75,77,86,92,102,103,105,107],[92,103,108],[44,103],[75,92,103,110],[103,111],[65,92,103,110,111,112],[103,114,115,116],[103,114],[103,117],[46,47,103],[46,76,92,103],[46,103],[46,77,103],[76,77,84,85,103,135],[45,48,103,146],[45,48,51,103],[45,48,49,54,55,56,57,103],[45,48,50,51,56,57,77,85,103,121,130,131,132,136,137],[45,48,55,103],[45,48,55,57,103,132,136,140],[52,58,103,138,139,141],[46,50,77,85,103],[46,50,77,85,103,131,144,145],[46,49,50,77,85,103],[45,50,52,58,103,138,139,141,147],[65,103],[77,85,103],[53,103],[103,120],[59,103,119],[59,103,113,118],[45]],"referencedMap":[[144,1],[143,2],[135,3],[134,4],[130,5],[126,6],[124,7],[127,8],[125,9],[129,10],[123,2],[128,11],[122,2],[133,2],[149,2],[60,12],[61,12],[63,13],[64,14],[65,15],[66,16],[67,17],[68,18],[69,19],[70,20],[71,21],[72,22],[73,22],[74,23],[75,24],[76,25],[77,26],[62,2],[109,2],[78,27],[79,28],[80,29],[110,30],[81,31],[82,32],[83,33],[84,34],[85,35],[86,36],[87,37],[88,38],[89,39],[90,40],[91,41],[92,42],[94,43],[93,44],[95,45],[96,46],[97,47],[98,48],[99,49],[100,50],[101,51],[102,52],[103,53],[104,54],[105,55],[106,56],[107,57],[108,58],[150,2],[151,2],[152,2],[44,2],[45,59],[153,60],[46,2],[112,61],[111,2],[113,62],[117,63],[116,64],[115,64],[114,2],[118,65],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[43,2],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[1,2],[42,2],[11,2],[10,2],[48,66],[145,67],[140,68],[55,68],[131,68],[49,68],[132,69],[136,70],[147,71],[52,72],[58,73],[138,74],[139,75],[141,76],[142,77],[50,35],[56,78],[146,79],[51,80],[148,81],[47,2],[57,82],[137,83],[54,84],[53,2],[121,85],[120,86],[119,87],[59,2]],"exportedModulesMap":[[144,1],[143,2],[135,3],[134,4],[130,5],[126,6],[124,7],[127,8],[125,9],[129,10],[123,2],[128,11],[122,2],[133,2],[149,2],[60,12],[61,12],[63,13],[64,14],[65,15],[66,16],[67,17],[68,18],[69,19],[70,20],[71,21],[72,22],[73,22],[74,23],[75,24],[76,25],[77,26],[62,2],[109,2],[78,27],[79,28],[80,29],[110,30],[81,31],[82,32],[83,33],[84,34],[85,35],[86,36],[87,37],[88,38],[89,39],[90,40],[91,41],[92,42],[94,43],[93,44],[95,45],[96,46],[97,47],[98,48],[99,49],[100,50],[101,51],[102,52],[103,53],[104,54],[105,55],[106,56],[107,57],[108,58],[150,2],[151,2],[152,2],[44,2],[45,59],[153,60],[46,2],[112,61],[111,2],[113,62],[117,63],[116,64],[115,64],[114,2],[118,65],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[43,2],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[1,2],[42,2],[11,2],[10,2],[48,66],[145,67],[140,68],[55,68],[131,68],[49,68],[132,69],[136,70],[147,71],[52,72],[58,88],[138,74],[139,75],[141,76],[142,77],[50,35],[56,78],[146,79],[51,80],[148,81],[47,2],[57,82],[137,83],[54,84],[53,2],[121,85],[120,86],[119,87],[59,2]],"semanticDiagnosticsPerFile":[144,143,135,134,130,126,124,127,125,129,123,128,122,133,149,60,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,62,109,78,79,80,110,81,82,83,84,85,86,87,88,89,90,91,92,94,93,95,96,97,98,99,100,101,102,103,104,105,106,107,108,150,151,152,44,45,153,46,112,111,113,117,116,115,114,118,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,43,33,34,35,36,7,41,37,38,39,40,1,42,11,10,48,145,140,55,131,49,132,136,147,52,58,138,139,141,142,50,56,146,51,148,47,57,137,54,53,121,120,119,59]},"version":"4.6.2"}
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.es2019.full.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/axios/index.d.ts","../src/utils/api-token.utils.ts","../src/api/client.ts","../src/api/session.api.ts","../src/local-data/local-data.ts","../src/local-data/local-data.utils.ts","../src/local-data/sessions.ts","../src/commands/download-session/download-session.command.ts","../../record/dist/record/record.d.ts","../../record/dist/index.d.ts","../src/api/project.api.ts","../src/local-data/replay-assets.ts","../src/utils/commit-sha.utils.ts","../src/commands/record/record.command.ts","../../replayer/dist/session/session.types.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../../../node_modules/puppeteer/lib/types.d.ts","../../../node_modules/rrweb-snapshot/typings/types.d.ts","../../../node_modules/rrweb-snapshot/typings/snapshot.d.ts","../../../node_modules/rrweb-snapshot/typings/rebuild.d.ts","../../../node_modules/rrweb-snapshot/typings/index.d.ts","../../../node_modules/rrweb/typings/types.d.ts","../../replayer/dist/replayer/replay.utils.d.ts","../../replayer/dist/replayer/replay-events.d.ts","../../replayer/dist/index.d.ts","../../../node_modules/@types/luxon/src/zone.d.ts","../../../node_modules/@types/luxon/src/misc.d.ts","../../../node_modules/@types/luxon/src/duration.d.ts","../../../node_modules/@types/luxon/src/interval.d.ts","../../../node_modules/@types/luxon/src/datetime.d.ts","../../../node_modules/@types/luxon/src/info.d.ts","../../../node_modules/@types/luxon/src/settings.d.ts","../../../node_modules/@types/luxon/src/luxon.d.ts","../../../node_modules/@types/luxon/index.d.ts","../src/api/replay.api.ts","../src/api/upload.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/archiver/index.d.ts","../src/archive/archive.ts","../src/utils/version.utils.ts","../src/commands/replay/replay.command.ts","../src/commands/show-project/show-project.command.ts","../src/api/project-build.api.ts","../src/commands/upload-build/upload-build.command.ts","../src/index.ts","../../../node_modules/@types/adm-zip/util.d.ts","../../../node_modules/@types/adm-zip/index.d.ts","../../../node_modules/@types/pngjs/index.d.ts","../src/api/download.ts","../src/image/io.utils.ts","../src/local-data/replays.ts","../src/commands/download-replay/download-replay.command.ts","../../../node_modules/@types/pixelmatch/index.d.ts","../src/image/diff.utils.ts","../src/local-data/screenshot-diffs.ts","../src/commands/screenshot-diff/screenshot-diff.command.ts","../src/main.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/smoothscroll-polyfill/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"1f03b495671c3a1bd24510f38b8947f0991dfd6bf0278c68eca14af15b306e1f","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","45627c7d24633686b0274d9402652930ba2e4fe74df04f114393ae121d1e8afe","2808645b990069e5f8b5ff14c9f1e6077eb642583c3f7854012d60757f23c70e","504748354caa6b804491bc919fdeba0cb0891bfab827584af3e1909680984733","385c8d0cc48ea3c9d6a4448090bd8fc42077e72cdc0c456a1cfb7818d296a4f2","76e9d714acaae86bd48a2fcb213f90e883da23f9bb51b482b27c2dabfeb046c1","61dfc414a33e05fbb678e02e3155aa52dc0defc2e8a6154b8f0636a9e9db10b3","2a08f33188a237c661302ac21686f27a07a61ba08c75f4e08c0fbce4ee74d8c9","09dc01117d665ef23f14a97ad5c3667404e8864c77c1244f147a8e852ebdade1","14868bd4edc2084d09214d1a41033d35486131597f1b4680f3b31cd8a25694d2","c091e0c54ccd505e8e86611c3cbbfaac460c77cf1d50cf852230d6d6b6299194","c300a087af272d75421e2d3b4b2252d8011109b96ff870c6b5dc131aeb87b543","1bb8c0dd0981e05a4dbbb2cae6d63395a2de76d8f2286a706bb559637a1e4d80","e1c4dbc8e86098998d6a7457acbed85e24957dc47ecc558eeaf241119659af1d","f971cf15188513b2b25ec3c94b27ed4a159a912ad3aa821be02224bd9ebe63b7",{"version":"400b1ba90714a8109d09efc0825370584c5ddc3f728f19e334d459d4d14ae861","signature":"8b3eee591ca55cec9456de533b003aa805ae4005345e7be1d7df0e02765e4750"},"188565fbbadbaf42f3feccaafb11b48c5d2de58e1608c08e9df42a3b8215f906","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","82aabbc958906ce976ae72f2984d850b8e266d2f409b3e5b25d9cd392f40b0ed","0a884662690a3a6ba9e706684b16af2d79136893632a52569f68e3febbab356a","cecd310fc3d2df87569e82f9d824e27a5f0afb6e9b017987b54545bcecd2cedb","00a99694b9e5a9dc8a3817817a55eef4f43657f47d70826b843fb8686e93ee4b","504cf61e06f9160f74227321cad90e3066a1ab79d13a3482ff943c3c6ea4b8d4","e9e45cd9deaa11c034988f1b1cc9d282e9c4219715681f6014dfc926cad6f06b","1e19cfa78e51780c766049252825b796c6b94eb80e068906a956fd985a6a4f9e","88d1cb1b22796118d94b30e9aab99ccb27566eb0cf226ca25ff46fbedc50f904","2e3a430148531ca17d9e2b8e6a01be07096d54adf3ca90839fd8cdba5aa01c7d","a0a517bb8819fe29152ec7d87e7fe46d539d6f1aa46e5e9658aaa01546b520c9","19ec34e1a88d9e429c6a3716e281b30c0b934d5f51480132607ff55bdfa9005c","ec6d1ffbb1455fdf7c75715ce5390172f3c4783b94defaf897e6036c7282d04c","52ed17fe2c0a4bb27a4f13e99234b3d1f364dc27f9bd7964946d5ec62792a0cc","e9aefcaf89c87dae14a381765b9d889568bfd86472650aea8444234278172371","9f3fd115e0f6969c552fbf60fba7af3f66c070718809e8fba06c963abb59b028","cfb5e5369bd802fc2c216a06d3c4b92de8c428bdb7879c685e230809ef4eaee4","ed4be5a31cd8dbb8e31ccde91e7b8c1552eb191c4787d19ed028763577674772","d40e7cb322841e538e686b8a39f05e8b3e0b6d5b7c6687efa69f0cbf9124c4ec","c5641bb951da5d5252e7d8a806ec3c84f42555b5bd6a0879dbf1c7df1b8bd850","3147fec8a70e38c6ad051232697c89c5e5ec259eff00a184344ac018308b7cbf","e30f55586e553d8bc241f0227dd2cf842bcc2497dfa5738ae5e3cc1463afb3f7","79af33ba55da7d35bc3389dacde5cd3699ec4fd4675a98cb7667f7e2d1533c33","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","51440322bec180cf452ce474b4f69b993b4eb491fecf47abd958d3342747d6b0","f975872106ca4b5462634794605c8d09fb11aca94be3ed76e6b7a1ed111f130f","103c616e802670dd3f6e4de2ea6188197fbb6f231ab8526bf6c87db342ef163c",{"version":"c8b7de67e5abfc7bbbabece6bf2c3e4c80d2e1037bb8e16a2a6b3545a930f39d","signature":"29268c1c4a211b4fe1e431aac4954139e7abf1d10fd0dae111f23695bd9f7837"},"ff96e9c6c815e1dac89e2c7323af332d9d60db35396084a59e971bd5af6d62de","926929ee7d8b8af2e0767c7df35a6ce16dd01745cc31881672c703368662a35d","e1a79b3f95a24da98743307570c0a438d171cd8ac82ea05990bc74f740b2d33b","5217960112f59b1b9bf2f81ac4447c5f84946a81469aab7e511d5fa6b64cf8ce","0e0b0baaf6e3845418c2741c9b47478cf6fc086ef8dd5ad4b9ab91499e51de28","ca6e8a62a3e4f5cc3fea6ab45c2e5e128db4d90d81d70547a65047e3f13996f1","0b6a0b628776a3e3a4aeeba090438a26e7ffa15373ce658452c78c1f2254665d","c5272cde17f2e0a2fc3a4c6a900017facf0f175d0a4fc9ed839b53a48e61d144","f0d3be81961de0047d3545b3df5d7cf97089a322dd4563159af540b81485c286","911738188442d08f36c0ccd92dd48b4d3117ad766e5994789f59bc1f842934c0","d4332df935ff6a980c062aab91a3a3bbfa689105ac60bfcb5c1d5c7520b1b947","f30350dd37c3f3c11f47adb7ce4e7a4928f578f4ae8a3197e0c8a0811da46b92","4d29d7b134f280d733a3deb03e88e192e6306684ac3a651f0fbaa5fb346f9183","46ef704c3831c2064a71104691db0d694d385e8b2dfe4ceb877dbd5f169ee3a6","b2cac7b0f00461f14c6e4d6bd02297add96fed11603d77d02396eea21a066db2",{"version":"307444f49ff68bb42b75c55850369d0cb63948071021ec169a5a19bd5f39b3bc","signature":"da06c2a8dc3608bc685a211ccd839ca335f466e6aa22cfeef085e219ed82149d"},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","657ecc0d1f08d35e69533185aca1cf400667261e29fb5a41021a8eee0df697c0","b2d70a269840a9528db473ac7565442434333a05c1f66801a7a672e82beb903e"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"experimentalDecorators":true,"module":1,"newLine":1,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"outDir":"./","preserveConstEnums":true,"rootDir":"../src","skipLibCheck":true,"strict":true,"target":6,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[77,104,111,144],[104],[77,93,104,109,135],[76,77,104,111,134],[104,130],[104,123,125,126,131],[104,124,127],[104,123,124],[104,125,127],[104,123,124,125,126,127,128,129],[104,123],[61,104],[64,104],[65,70,104],[66,76,77,84,93,103,104],[66,67,76,84,104],[68,104],[69,70,77,85,104],[70,93,100,104],[71,73,76,84,104],[72,104],[73,74,104],[75,76,104],[76,104],[76,77,78,93,103,104],[76,77,78,93,104],[79,84,93,103,104],[76,77,79,80,84,93,100,103,104],[79,81,93,100,103,104],[61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],[76,82,104],[83,103,104],[73,76,84,93,104],[85,104],[86,104],[64,87,104],[88,102,104,108],[89,104],[90,104],[76,91,104],[91,92,104,106],[76,93,94,95,104],[93,95,104],[93,94,104],[96,104],[97,104],[76,98,99,104],[98,99,104],[70,84,93,100,104],[101,104],[84,102,104],[65,79,90,103,104],[70,104],[93,104,105],[104,106],[104,107],[65,70,76,78,87,93,103,104,106,108],[93,104,109],[104,111],[93,104,109,111],[44,104],[76,93,104,111],[104,112],[66,93,104,111,112,113],[104,115,116,117],[104,115],[104,118],[46,47,104],[46,77,93,104],[46,104],[46,78,104],[77,78,85,86,104,136],[45,48,104,149],[45,48,52,104],[45,48,49,50,55,56,57,58,86,104],[45,48,50,51,52,57,58,78,86,104,122,131,132,133,137,138],[45,48,104,132,149,152,153],[45,48,56,104],[45,48,56,58,104,133,137,141],[104,146,151],[77,104,146],[53,59,104,139,140,142],[46,50,78,86,104],[46,50,78,86,104,132,145,146,147,148],[50,78,86,104,146,148],[46,49,50,51,78,86,104],[45,50,53,59,104,139,140,142,150,154],[66,104],[78,86,104],[54,104],[104,121],[60,104,120],[60,104,114,119],[45]],"referencedMap":[[145,1],[144,2],[136,3],[135,4],[156,2],[131,5],[127,6],[125,7],[128,8],[126,9],[130,10],[124,2],[129,11],[123,2],[134,2],[157,2],[61,12],[62,12],[64,13],[65,14],[66,15],[67,16],[68,17],[69,18],[70,19],[71,20],[72,21],[73,22],[74,22],[75,23],[76,24],[77,25],[78,26],[63,2],[110,2],[79,27],[80,28],[81,29],[111,30],[82,31],[83,32],[84,33],[85,34],[86,35],[87,36],[88,37],[89,38],[90,39],[91,40],[92,41],[93,42],[95,43],[94,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[103,52],[104,53],[105,54],[106,55],[107,56],[108,57],[109,58],[158,2],[159,2],[151,59],[146,60],[160,2],[44,2],[45,61],[161,62],[46,2],[113,63],[112,2],[114,64],[118,65],[117,66],[116,66],[115,2],[119,67],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[43,2],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[1,2],[42,2],[11,2],[10,2],[48,68],[147,69],[141,70],[56,70],[132,70],[49,70],[133,71],[137,72],[150,73],[53,74],[59,75],[139,76],[154,77],[140,78],[142,79],[152,80],[148,81],[143,82],[50,35],[51,2],[57,83],[149,84],[153,85],[52,86],[155,87],[47,2],[58,88],[138,89],[55,90],[54,2],[122,91],[121,92],[120,93],[60,2]],"exportedModulesMap":[[145,1],[144,2],[136,3],[135,4],[156,2],[131,5],[127,6],[125,7],[128,8],[126,9],[130,10],[124,2],[129,11],[123,2],[134,2],[157,2],[61,12],[62,12],[64,13],[65,14],[66,15],[67,16],[68,17],[69,18],[70,19],[71,20],[72,21],[73,22],[74,22],[75,23],[76,24],[77,25],[78,26],[63,2],[110,2],[79,27],[80,28],[81,29],[111,30],[82,31],[83,32],[84,33],[85,34],[86,35],[87,36],[88,37],[89,38],[90,39],[91,40],[92,41],[93,42],[95,43],[94,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[103,52],[104,53],[105,54],[106,55],[107,56],[108,57],[109,58],[158,2],[159,2],[151,59],[146,60],[160,2],[44,2],[45,61],[161,62],[46,2],[113,63],[112,2],[114,64],[118,65],[117,66],[116,66],[115,2],[119,67],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[43,2],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[1,2],[42,2],[11,2],[10,2],[48,68],[147,69],[141,70],[56,70],[132,70],[49,70],[133,71],[137,72],[150,73],[53,74],[59,94],[139,94],[154,77],[140,78],[142,79],[152,80],[148,81],[143,82],[50,35],[51,2],[57,83],[149,84],[153,85],[52,86],[47,2],[58,88],[138,89],[55,90],[54,2],[122,91],[121,92],[120,93],[60,2]],"semanticDiagnosticsPerFile":[145,144,136,135,156,131,127,125,128,126,130,124,129,123,134,157,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,63,110,79,80,81,111,82,83,84,85,86,87,88,89,90,91,92,93,95,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,158,159,151,146,160,44,45,161,46,113,112,114,118,117,116,115,119,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,43,33,34,35,36,7,41,37,38,39,40,1,42,11,10,48,147,141,56,132,49,133,137,150,53,59,139,154,140,142,152,148,143,50,51,57,149,153,52,155,47,58,138,55,54,122,121,120,60]},"version":"4.6.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysmeticulous/cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.12",
|
|
4
4
|
"description": "The Meticulous CLI",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
"build": "tsc --build tsconfig.json",
|
|
18
18
|
"dev": "tsc --build tsconfig.json --watch",
|
|
19
19
|
"format": "prettier --write src",
|
|
20
|
+
"lint": "eslint src --ext=ts,tsx,js --cache",
|
|
21
|
+
"lint:commit": "eslint --cache $(git diff --relative --name-only --diff-filter=ACMRTUXB master | grep -E \"(.js$|.ts$|.tsx$)\")",
|
|
22
|
+
"lint:fix": "eslint src --ext=ts,tsx,js --cache --fix",
|
|
20
23
|
"cli": "node dist/main.js",
|
|
21
24
|
"cli:dev": "ts-node src/main.ts"
|
|
22
25
|
},
|