@alwaysmeticulous/cli 2.261.1 → 2.262.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/commands/ci/resolve-git-options.d.ts +19 -0
- package/dist/commands/ci/resolve-git-options.js +75 -0
- package/dist/commands/ci/resolve-git-options.js.map +1 -0
- package/dist/commands/ci/upload-assets.command.d.ts +1 -0
- package/dist/commands/ci/upload-assets.command.js +18 -15
- package/dist/commands/ci/upload-assets.command.js.map +1 -1
- package/dist/commands/ci/upload-container.command.d.ts +1 -0
- package/dist/commands/ci/upload-container.command.js +20 -17
- package/dist/commands/ci/upload-container.command.js.map +1 -1
- package/package.json +14 -14
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ResolvedGitOptions {
|
|
2
|
+
commitSha: string;
|
|
3
|
+
baseSha: string | undefined;
|
|
4
|
+
gitDiffOutput: string | undefined;
|
|
5
|
+
withUncommittedChanges: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolves git options (commitSha, baseSha, gitDiffOutput) from either
|
|
9
|
+
* explicit CLI arguments or by auto-inferring from a --repoDirectory.
|
|
10
|
+
*
|
|
11
|
+
* When --repoDirectory is provided, all three values are inferred and the
|
|
12
|
+
* command fails if any cannot be computed.
|
|
13
|
+
*/
|
|
14
|
+
export declare const resolveGitOptions: ({ commitSha: commitSha_, baseSha: baseSha_, gitDiffOutput: gitDiffOutput_, repoDirectory, }: {
|
|
15
|
+
commitSha: string | undefined;
|
|
16
|
+
baseSha: string | undefined;
|
|
17
|
+
gitDiffOutput: string | undefined;
|
|
18
|
+
repoDirectory: string | undefined;
|
|
19
|
+
}) => Promise<ResolvedGitOptions>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveGitOptions = void 0;
|
|
4
|
+
const common_1 = require("@alwaysmeticulous/common");
|
|
5
|
+
/**
|
|
6
|
+
* Resolves git options (commitSha, baseSha, gitDiffOutput) from either
|
|
7
|
+
* explicit CLI arguments or by auto-inferring from a --repoDirectory.
|
|
8
|
+
*
|
|
9
|
+
* When --repoDirectory is provided, all three values are inferred and the
|
|
10
|
+
* command fails if any cannot be computed.
|
|
11
|
+
*/
|
|
12
|
+
const resolveGitOptions = async ({ commitSha: commitSha_, baseSha: baseSha_, gitDiffOutput: gitDiffOutput_, repoDirectory, }) => {
|
|
13
|
+
const logger = (0, common_1.initLogger)();
|
|
14
|
+
if (repoDirectory && (commitSha_ || baseSha_ || gitDiffOutput_)) {
|
|
15
|
+
logger.error("--repoDirectory cannot be combined with --commitSha, --baseSha, or --gitDiffOutput. " +
|
|
16
|
+
"When --repoDirectory is provided, all git options are inferred automatically.");
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
if (gitDiffOutput_ && !baseSha_) {
|
|
20
|
+
logger.error("--gitDiffOutput requires --baseSha.");
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
if (repoDirectory) {
|
|
24
|
+
return resolveFromRepoDirectory(repoDirectory);
|
|
25
|
+
}
|
|
26
|
+
return resolveFromExplicitArgs({ commitSha_, baseSha_, gitDiffOutput_ });
|
|
27
|
+
};
|
|
28
|
+
exports.resolveGitOptions = resolveGitOptions;
|
|
29
|
+
const resolveFromRepoDirectory = async (repoDirectory) => {
|
|
30
|
+
const logger = (0, common_1.initLogger)();
|
|
31
|
+
const gitOpts = { cwd: repoDirectory };
|
|
32
|
+
const commitSha = await (0, common_1.getCommitSha)(undefined, gitOpts);
|
|
33
|
+
if (!commitSha) {
|
|
34
|
+
logger.error(`Could not determine commit SHA from --repoDirectory: ${repoDirectory}`);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
const uncommitted = await (0, common_1.hasUncommittedChanges)(gitOpts);
|
|
38
|
+
const baseSha = (await (0, common_1.getLocalBaseSha)(gitOpts)) || undefined;
|
|
39
|
+
if (!baseSha) {
|
|
40
|
+
logger.error(`Could not determine base SHA from --repoDirectory: ${repoDirectory}. ` +
|
|
41
|
+
"Ensure the repository has an 'origin/main' or 'origin/master' remote branch.");
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
const gitDiffOutput = uncommitted
|
|
45
|
+
? await (0, common_1.getGitDiff)(baseSha, undefined, gitOpts)
|
|
46
|
+
: await (0, common_1.getGitDiff)(baseSha, commitSha, gitOpts);
|
|
47
|
+
logger.info(`Commit SHA inferred from repo${uncommitted ? " (with uncommitted changes)" : ""}: ${commitSha}`);
|
|
48
|
+
logger.info(`Base SHA inferred from merge-base: ${baseSha}`);
|
|
49
|
+
logger.info(`Git diff output computed: ${gitDiffOutput.length} chars`);
|
|
50
|
+
return { commitSha, baseSha, gitDiffOutput, withUncommittedChanges: uncommitted };
|
|
51
|
+
};
|
|
52
|
+
const resolveFromExplicitArgs = async ({ commitSha_, baseSha_, gitDiffOutput_, }) => {
|
|
53
|
+
const logger = (0, common_1.initLogger)();
|
|
54
|
+
const commitSha = await (0, common_1.getCommitSha)(commitSha_);
|
|
55
|
+
if (!commitSha) {
|
|
56
|
+
logger.error("No commit SHA found. Provide one with --commitSha or use --repoDirectory.");
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
if (commitSha_) {
|
|
60
|
+
logger.info(`Commit SHA provided: ${commitSha}`);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
logger.info(`Commit SHA inferred from local repo: ${commitSha}`);
|
|
64
|
+
}
|
|
65
|
+
const baseSha = baseSha_ || undefined;
|
|
66
|
+
const gitDiffOutput = gitDiffOutput_ || undefined;
|
|
67
|
+
if (baseSha) {
|
|
68
|
+
logger.info(`Base SHA provided: ${baseSha}`);
|
|
69
|
+
}
|
|
70
|
+
if (gitDiffOutput) {
|
|
71
|
+
logger.info(`Git diff output provided: ${gitDiffOutput.length} chars`);
|
|
72
|
+
}
|
|
73
|
+
return { commitSha, baseSha, gitDiffOutput, withUncommittedChanges: false };
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=resolve-git-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-git-options.js","sourceRoot":"","sources":["../../../src/commands/ci/resolve-git-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,31 +41,26 @@ const Sentry = __importStar(require("@sentry/node"));
|
|
|
41
41
|
const common_options_1 = require("../../command-utils/common-options");
|
|
42
42
|
const sentry_utils_1 = require("../../command-utils/sentry.utils");
|
|
43
43
|
const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
|
|
44
|
+
const resolve_git_options_1 = require("./resolve-git-options");
|
|
44
45
|
const POLL_INTERVAL_MS = 10000;
|
|
45
|
-
const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, repoDirectory, appDirectory, appZip, rewrites, waitForBase, waitForTestRunToComplete, dryRun, }) => {
|
|
46
|
+
const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, gitDiffOutput: gitDiffOutput_, repoDirectory, appDirectory, appZip, rewrites, waitForBase, waitForTestRunToComplete, dryRun, }) => {
|
|
46
47
|
var _a, _b;
|
|
47
48
|
const logger = (0, common_1.initLogger)();
|
|
48
|
-
const gitOpts = repoDirectory ? { cwd: repoDirectory } : undefined;
|
|
49
|
-
const commitSha = await (0, common_1.getCommitSha)(commitSha_, gitOpts);
|
|
50
49
|
if (!appDirectory && !appZip) {
|
|
51
50
|
logger.error("No app directory or app zip provided, you must provide one with --appDirectory or --appZip");
|
|
52
51
|
process.exit(1);
|
|
53
52
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
undefined;
|
|
53
|
+
const { commitSha, baseSha, gitDiffOutput, withUncommittedChanges } = await (0, resolve_git_options_1.resolveGitOptions)({
|
|
54
|
+
commitSha: commitSha_,
|
|
55
|
+
baseSha: baseSha_,
|
|
56
|
+
gitDiffOutput: gitDiffOutput_,
|
|
57
|
+
repoDirectory,
|
|
58
|
+
});
|
|
61
59
|
if (baseSha && baseSha === commitSha) {
|
|
62
60
|
logger.info("Base SHA equals head SHA — nothing to test.");
|
|
63
61
|
return;
|
|
64
62
|
}
|
|
65
63
|
logger.info(`Uploading build artifacts for commit ${commitSha}`);
|
|
66
|
-
if (baseSha) {
|
|
67
|
-
logger.info(`Base SHA: ${baseSha}`);
|
|
68
|
-
}
|
|
69
64
|
if (dryRun) {
|
|
70
65
|
logger.info(`Dry run: would upload ${appDirectory !== null && appDirectory !== void 0 ? appDirectory : appZip} and trigger a test run for commit ${commitSha}${baseSha ? ` (base: ${baseSha})` : ""}`);
|
|
71
66
|
return;
|
|
@@ -80,6 +75,8 @@ const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, rep
|
|
|
80
75
|
apiToken,
|
|
81
76
|
commitSha,
|
|
82
77
|
...(baseSha ? { baseSha } : {}),
|
|
78
|
+
...(gitDiffOutput ? { gitDiffOutput } : {}),
|
|
79
|
+
...(withUncommittedChanges ? { withUncommittedChanges } : {}),
|
|
83
80
|
appDirectory,
|
|
84
81
|
appZip,
|
|
85
82
|
rewrites: parseRewrites(rewrites),
|
|
@@ -149,11 +146,17 @@ exports.ciUploadAssetsCommand = {
|
|
|
149
146
|
commitSha: common_options_1.OPTIONS.commitSha,
|
|
150
147
|
baseSha: {
|
|
151
148
|
string: true,
|
|
152
|
-
description: "The base commit SHA to compare against.
|
|
149
|
+
description: "The base commit SHA to compare against. Intended for custom test run triggers. Cannot be combined with --repoDirectory.",
|
|
150
|
+
},
|
|
151
|
+
gitDiffOutput: {
|
|
152
|
+
string: true,
|
|
153
|
+
description: "Raw git diff output between the base and head commits. Requires --baseSha. Cannot be combined with --repoDirectory.",
|
|
153
154
|
},
|
|
154
155
|
repoDirectory: {
|
|
155
156
|
string: true,
|
|
156
|
-
description: "The path to
|
|
157
|
+
description: "The path to a git repository. Intended for custom test run triggers. " +
|
|
158
|
+
"Automatically infers --commitSha, --baseSha, and --gitDiffOutput from the repo. " +
|
|
159
|
+
"Cannot be combined with --commitSha, --baseSha, or --gitDiffOutput.",
|
|
157
160
|
},
|
|
158
161
|
appDirectory: {
|
|
159
162
|
string: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-assets.command.js","sourceRoot":"","sources":["../../../src/commands/ci/upload-assets.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qDAKkC;AAClC,
|
|
1
|
+
{"version":3,"file":"upload-assets.command.js","sourceRoot":"","sources":["../../../src/commands/ci/upload-assets.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,27 +41,22 @@ const Sentry = __importStar(require("@sentry/node"));
|
|
|
41
41
|
const common_options_1 = require("../../command-utils/common-options");
|
|
42
42
|
const sentry_utils_1 = require("../../command-utils/sentry.utils");
|
|
43
43
|
const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
|
|
44
|
+
const resolve_git_options_1 = require("./resolve-git-options");
|
|
44
45
|
const POLL_INTERVAL_MS = 10000;
|
|
45
|
-
const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, repoDirectory, localImageTag, waitForBase, waitForTestRunToComplete, containerPort, containerEnv, dryRun, }) => {
|
|
46
|
-
var _a, _b;
|
|
46
|
+
const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, gitDiffOutput: gitDiffOutput_, repoDirectory, localImageTag, waitForBase, waitForTestRunToComplete, containerPort, containerEnv, dryRun, }) => {
|
|
47
|
+
var _a, _b, _c;
|
|
47
48
|
const logger = (0, common_1.initLogger)();
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
const baseSha = baseSha_ ||
|
|
55
|
-
(repoDirectory ? await (0, common_1.getLocalBaseSha)(gitOpts) : undefined) ||
|
|
56
|
-
undefined;
|
|
49
|
+
const { commitSha, baseSha, gitDiffOutput, withUncommittedChanges } = await (0, resolve_git_options_1.resolveGitOptions)({
|
|
50
|
+
commitSha: commitSha_,
|
|
51
|
+
baseSha: baseSha_,
|
|
52
|
+
gitDiffOutput: gitDiffOutput_,
|
|
53
|
+
repoDirectory,
|
|
54
|
+
});
|
|
57
55
|
if (baseSha && baseSha === commitSha) {
|
|
58
56
|
logger.info("Base SHA equals head SHA — nothing to test.");
|
|
59
57
|
return;
|
|
60
58
|
}
|
|
61
59
|
logger.info(`Uploading Docker container ${localImageTag} for commit ${commitSha}`);
|
|
62
|
-
if (baseSha) {
|
|
63
|
-
logger.info(`Base SHA: ${baseSha}`);
|
|
64
|
-
}
|
|
65
60
|
if (dryRun) {
|
|
66
61
|
logger.info(`Dry run: would push container image "${localImageTag}" and trigger a test run for commit ${commitSha}${baseSha ? ` (base: ${baseSha})` : ""}`);
|
|
67
62
|
return;
|
|
@@ -77,13 +72,15 @@ const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, rep
|
|
|
77
72
|
localImageTag,
|
|
78
73
|
commitSha,
|
|
79
74
|
...(baseSha ? { baseSha } : {}),
|
|
75
|
+
...(gitDiffOutput ? { gitDiffOutput } : {}),
|
|
76
|
+
...(withUncommittedChanges ? { withUncommittedChanges } : {}),
|
|
80
77
|
waitForBase: waitForBase || waitForTestRunToComplete,
|
|
81
78
|
containerPort,
|
|
82
79
|
containerEnv,
|
|
83
80
|
});
|
|
84
81
|
testRunId = (_b = (_a = result.testRun) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null;
|
|
85
82
|
if (!result.testRun) {
|
|
86
|
-
|
|
83
|
+
throw new Error(`${(_c = result.message) !== null && _c !== void 0 ? _c : "Container upload complete but test run not created"}`);
|
|
87
84
|
}
|
|
88
85
|
}
|
|
89
86
|
catch (error) {
|
|
@@ -120,11 +117,17 @@ exports.ciUploadContainerCommand = {
|
|
|
120
117
|
commitSha: common_options_1.OPTIONS.commitSha,
|
|
121
118
|
baseSha: {
|
|
122
119
|
string: true,
|
|
123
|
-
description: "The base commit SHA to compare against.
|
|
120
|
+
description: "The base commit SHA to compare against. Intended for custom test run triggers. Cannot be combined with --repoDirectory.",
|
|
121
|
+
},
|
|
122
|
+
gitDiffOutput: {
|
|
123
|
+
string: true,
|
|
124
|
+
description: "Raw git diff output between the base and head commits. Requires --baseSha. Cannot be combined with --repoDirectory.",
|
|
124
125
|
},
|
|
125
126
|
repoDirectory: {
|
|
126
127
|
string: true,
|
|
127
|
-
description: "The path to
|
|
128
|
+
description: "The path to a git repository. Intended for custom test run triggers. " +
|
|
129
|
+
"Automatically infers --commitSha, --baseSha, and --gitDiffOutput from the repo. " +
|
|
130
|
+
"Cannot be combined with --commitSha, --baseSha, or --gitDiffOutput.",
|
|
128
131
|
},
|
|
129
132
|
localImageTag: {
|
|
130
133
|
demandOption: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-container.command.js","sourceRoot":"","sources":["../../../src/commands/ci/upload-container.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAMkC;AAClC,
|
|
1
|
+
{"version":3,"file":"upload-container.command.js","sourceRoot":"","sources":["../../../src/commands/ci/upload-container.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAMkC;AAClC,qDAAsD;AACtD,qFAA2E;AAC3E,qDAAuC;AAEvC,uEAA6D;AAC7D,mEAA+D;AAC/D,mFAG8C;AAC9C,+DAA0D;AAE1D,MAAM,gBAAgB,GAAG,KAAM,CAAC;AAgBhC,MAAM,OAAO,GAAG,KAAK,EAAE,EACrB,QAAQ,EACR,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,cAAc,EAC7B,aAAa,EACb,aAAa,EACb,WAAW,EACX,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,MAAM,GACE,EAAiB,EAAE;;IAC3B,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAE5B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,GAAG,MAAM,IAAA,uCAAiB,EAAC;QAC5F,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,cAAc;QAC7B,aAAa;KACd,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,8BAA8B,aAAa,eAAe,SAAS,EAAE,CAAC,CAAC;IAEnF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CACT,wCAAwC,aAAa,uCAAuC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/I,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,mCAAmC,EAAE;QACzD,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAe,EAAC;YACnC,QAAQ;YACR,aAAa;YACb,SAAS;YACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,WAAW,EAAE,WAAW,IAAI,wBAAwB;YACpD,aAAa;YACb,YAAY;SACb,CAAC,CAAC;QACH,SAAS,GAAG,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,EAAE,mCAAI,IAAI,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,oDAAoD,EAAE,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAA,iDAAsB,EAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,4CAAiB,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,wBAAwB,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAEzD,MAAM,CAAC,IAAI,CAAC,wBAAwB,SAAS,iBAAiB,CAAC,CAAC;IAEhE,IAAI,gBAAgB,GAAG,MAAM,IAAA,mBAAU,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,OAAO,oCAA2B,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACtE,gBAAgB,GAAG,MAAM,IAAA,mBAAU,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,IAAI,CACT,YAAY,SAAS,0BAA0B,gBAAgB,CAAC,MAAM,EAAE,CACzE,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,wBAAwB,GAAoC;IACvE,OAAO,EAAE,kBAAkB;IAC3B,QAAQ,EACN,2EAA2E;IAC7E,OAAO,EAAE;QACP,QAAQ,EAAE,wBAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,wBAAO,CAAC,SAAS;QAC5B,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,yHAAyH;SAC5H;QACD,aAAa,EAAE;YACb,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,qHAAqH;SACxH;QACD,aAAa,EAAE;YACb,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,uEAAuE;gBACvE,kFAAkF;gBAClF,qEAAqE;SACxE;QACD,aAAa,EAAE;YACb,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,0EAA0E;SAC7E;QACD,WAAW,EAAE;YACX,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,WAAW,EACT,wGAAwG;SAC3G;QACD,wBAAwB,EAAE;YACxB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,WAAW,EACT,+GAA+G;SAClH;QACD,aAAa,EAAE;YACb,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,sCAAsC;SACpD;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,CAAC,KAAe,EAAE,EAAE,CAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;gBACxD,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC;YACJ,WAAW,EAAE,oDAAoD;SAClE;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,OAAO,CAAC;CAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysmeticulous/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.262.1",
|
|
4
4
|
"description": "The Meticulous CLI",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,18 +29,18 @@
|
|
|
29
29
|
"depcheck": "depcheck --ignore-patterns=dist"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@alwaysmeticulous/api": "2.
|
|
33
|
-
"@alwaysmeticulous/client": "2.
|
|
34
|
-
"@alwaysmeticulous/common": "2.
|
|
35
|
-
"@alwaysmeticulous/debug-workspace": "2.
|
|
36
|
-
"@alwaysmeticulous/downloading-helpers": "2.
|
|
37
|
-
"@alwaysmeticulous/record": "2.
|
|
38
|
-
"@alwaysmeticulous/remote-replay-launcher": "2.
|
|
39
|
-
"@alwaysmeticulous/replay-debugger-ui": "2.
|
|
40
|
-
"@alwaysmeticulous/replay-orchestrator-launcher": "2.
|
|
41
|
-
"@alwaysmeticulous/sdk-bundles-api": "2.
|
|
42
|
-
"@alwaysmeticulous/sentry": "2.
|
|
43
|
-
"@alwaysmeticulous/tunnels-client": "2.
|
|
32
|
+
"@alwaysmeticulous/api": "2.262.0",
|
|
33
|
+
"@alwaysmeticulous/client": "2.262.1",
|
|
34
|
+
"@alwaysmeticulous/common": "2.262.1",
|
|
35
|
+
"@alwaysmeticulous/debug-workspace": "2.262.1",
|
|
36
|
+
"@alwaysmeticulous/downloading-helpers": "2.262.1",
|
|
37
|
+
"@alwaysmeticulous/record": "2.262.1",
|
|
38
|
+
"@alwaysmeticulous/remote-replay-launcher": "2.262.1",
|
|
39
|
+
"@alwaysmeticulous/replay-debugger-ui": "2.262.1",
|
|
40
|
+
"@alwaysmeticulous/replay-orchestrator-launcher": "2.262.1",
|
|
41
|
+
"@alwaysmeticulous/sdk-bundles-api": "2.262.1",
|
|
42
|
+
"@alwaysmeticulous/sentry": "2.262.1",
|
|
43
|
+
"@alwaysmeticulous/tunnels-client": "2.262.1",
|
|
44
44
|
"@sentry/node": "^10.3.0",
|
|
45
45
|
"chalk": "^4.1.2",
|
|
46
46
|
"ci-info": "^4.0.0",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"bugs": {
|
|
76
76
|
"url": "https://github.com/alwaysmeticulous/meticulous-sdk/issues"
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "e10f7d08b09a5c68d3a15f9c85646bb8e255348e"
|
|
79
79
|
}
|