@alwaysmeticulous/cli 2.295.1 → 2.297.0

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.
@@ -0,0 +1,7 @@
1
+ import { AssetUploadMetadata } from "@alwaysmeticulous/api";
2
+ /**
3
+ * Parses the `--rewrites` CLI flag's JSON string into the structured array
4
+ * `AssetUploadMetadata["rewrites"]` expects. Exits the process with a clear
5
+ * error message on malformed input rather than throwing.
6
+ */
7
+ export declare const parseRewrites: (rewritesString?: string) => AssetUploadMetadata["rewrites"];
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="349c57f9-6916-5c8c-accd-7f458cf02525")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.parseRewrites = void 0;
6
+ const common_1 = require("@alwaysmeticulous/common");
7
+ /**
8
+ * Parses the `--rewrites` CLI flag's JSON string into the structured array
9
+ * `AssetUploadMetadata["rewrites"]` expects. Exits the process with a clear
10
+ * error message on malformed input rather than throwing.
11
+ */
12
+ const parseRewrites = (rewritesString) => {
13
+ const logger = (0, common_1.initLogger)();
14
+ let parsedRewrites;
15
+ try {
16
+ parsedRewrites = JSON.parse(rewritesString ?? "[]");
17
+ }
18
+ catch (error) {
19
+ logger.error("Error: Could not parse --rewrites flag. Expected a valid JSON array string.");
20
+ if (error instanceof Error) {
21
+ logger.error(error.message);
22
+ }
23
+ process.exit(1);
24
+ }
25
+ if (!Array.isArray(parsedRewrites)) {
26
+ logger.error("Error: Invalid --rewrites flag. Expected a valid JSON array string.");
27
+ process.exit(1);
28
+ }
29
+ const isValid = parsedRewrites.every((item) => typeof item === "object" &&
30
+ item !== null &&
31
+ typeof item.source === "string" &&
32
+ typeof item.destination === "string");
33
+ if (!isValid) {
34
+ logger.error("Error: Invalid --rewrites flag. Each element in the array must be an object with 'source' and 'destination' string properties.");
35
+ logger.error("See https://github.com/vercel/serve-handler?tab=readme-ov-file#rewrites-array for more details.");
36
+ process.exit(1);
37
+ }
38
+ return parsedRewrites;
39
+ };
40
+ exports.parseRewrites = parseRewrites;
41
+ //# sourceMappingURL=parse-rewrites.js.map
42
+ //# debugId=349c57f9-6916-5c8c-accd-7f458cf02525
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-rewrites.js","sources":["../../src/command-utils/parse-rewrites.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,qDAAsD;AAEtD;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAC3B,cAAuB,EACU,EAAE;IACnC,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,IAAI,cAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,6EAA6E,CAC9E,CAAC;QACF,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CACV,qEAAqE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAClC,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAC/B,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CACvC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,gIAAgI,CACjI,CAAC;QACF,MAAM,CAAC,KAAK,CACV,iGAAiG,CAClG,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,cAAiD,CAAC;AAC3D,CAAC,CAAC;AA3CW,QAAA,aAAa,iBA2CxB","debugId":"349c57f9-6916-5c8c-accd-7f458cf02525"}
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f35d7f8d-aaef-5aa8-bf52-b499a3ff3946")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="198b11a7-3847-5359-b150-d77b80c86d67")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.ciCommand = void 0;
6
6
  const prepare_command_1 = require("./prepare.command");
7
7
  const run_local_command_1 = require("./run-local.command");
8
+ const run_with_uploaded_asset_chunks_command_1 = require("./run-with-uploaded-asset-chunks.command");
8
9
  const run_command_1 = require("./run.command");
9
10
  const start_tunnel_command_1 = require("./start-tunnel.command");
11
+ const upload_asset_chunk_command_1 = require("./upload-asset-chunk.command");
10
12
  const upload_assets_command_1 = require("./upload-assets.command");
11
13
  const upload_container_command_1 = require("./upload-container.command");
12
14
  exports.ciCommand = {
@@ -18,6 +20,8 @@ exports.ciCommand = {
18
20
  .command(prepare_command_1.ciPrepareCommand)
19
21
  .command(start_tunnel_command_1.ciStartTunnelCommand)
20
22
  .command(upload_assets_command_1.ciUploadAssetsCommand)
23
+ .command(upload_asset_chunk_command_1.ciUploadAssetChunkCommand)
24
+ .command(run_with_uploaded_asset_chunks_command_1.ciRunWithUploadedAssetChunksCommand)
21
25
  .command(upload_container_command_1.ciUploadContainerCommand)
22
26
  .demandCommand()
23
27
  .help(),
@@ -26,4 +30,4 @@ exports.ciCommand = {
26
30
  },
27
31
  };
28
32
  //# sourceMappingURL=index.js.map
29
- //# debugId=f35d7f8d-aaef-5aa8-bf52-b499a3ff3946
33
+ //# debugId=198b11a7-3847-5359-b150-d77b80c86d67
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/commands/ci/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,uDAAqD;AACrD,2DAAwD;AACxD,+CAA6C;AAC7C,iEAA8D;AAC9D,mEAAgE;AAChE,yEAAsE;AAEzD,QAAA,SAAS,GAAkB;IACtC,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,0BAAY,CAAC;SACrB,OAAO,CAAC,qCAAiB,CAAC;SAC1B,OAAO,CAAC,kCAAgB,CAAC;SACzB,OAAO,CAAC,2CAAoB,CAAC;SAC7B,OAAO,CAAC,6CAAqB,CAAC;SAC9B,OAAO,CAAC,mDAAwB,CAAC;SACjC,aAAa,EAAE;SACf,IAAI,EAAE;IACX,OAAO,EAAE,GAAG,EAAE;QACZ,0BAA0B;IAC5B,CAAC;CACF,CAAC","debugId":"f35d7f8d-aaef-5aa8-bf52-b499a3ff3946"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/commands/ci/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,uDAAqD;AACrD,2DAAwD;AACxD,qGAA+F;AAC/F,+CAA6C;AAC7C,iEAA8D;AAC9D,6EAAyE;AACzE,mEAAgE;AAChE,yEAAsE;AAEzD,QAAA,SAAS,GAAkB;IACtC,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,0BAAY,CAAC;SACrB,OAAO,CAAC,qCAAiB,CAAC;SAC1B,OAAO,CAAC,kCAAgB,CAAC;SACzB,OAAO,CAAC,2CAAoB,CAAC;SAC7B,OAAO,CAAC,6CAAqB,CAAC;SAC9B,OAAO,CAAC,sDAAyB,CAAC;SAClC,OAAO,CAAC,4EAAmC,CAAC;SAC5C,OAAO,CAAC,mDAAwB,CAAC;SACjC,aAAa,EAAE;SACf,IAAI,EAAE;IACX,OAAO,EAAE,GAAG,EAAE;QACZ,0BAA0B;IAC5B,CAAC;CACF,CAAC","debugId":"198b11a7-3847-5359-b150-d77b80c86d67"}
@@ -0,0 +1,14 @@
1
+ import { CommandModule } from "yargs";
2
+ interface Options {
3
+ apiToken?: string | undefined;
4
+ commitSha?: string | undefined;
5
+ baseSha?: string | undefined;
6
+ gitDiffOutput?: string | undefined;
7
+ repoDirectory?: string | undefined;
8
+ assetReferencesManifest: string;
9
+ rewrites?: string;
10
+ waitForBase: boolean;
11
+ waitForTestRunToComplete: boolean;
12
+ }
13
+ export declare const ciRunWithUploadedAssetChunksCommand: CommandModule<unknown, Options>;
14
+ export {};
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3d73e020-c008-5baf-aa2e-4a30f1b6cb1a")}catch(e){}}();
3
+
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.ciRunWithUploadedAssetChunksCommand = void 0;
39
+ const promises_1 = require("fs/promises");
40
+ const client_1 = require("@alwaysmeticulous/client");
41
+ const common_1 = require("@alwaysmeticulous/common");
42
+ const remote_replay_launcher_1 = require("@alwaysmeticulous/remote-replay-launcher");
43
+ const Sentry = __importStar(require("@sentry/node"));
44
+ const common_options_1 = require("../../command-utils/common-options");
45
+ const parse_rewrites_1 = require("../../command-utils/parse-rewrites");
46
+ const sentry_utils_1 = require("../../command-utils/sentry.utils");
47
+ const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
48
+ const resolve_project_identifier_1 = require("../../utils/resolve-project-identifier");
49
+ const resolve_git_options_1 = require("./resolve-git-options");
50
+ const POLL_INTERVAL_MS = 10_000;
51
+ const readAssetReferencesManifest = async (manifestPath) => {
52
+ const logger = (0, common_1.initLogger)();
53
+ let raw;
54
+ try {
55
+ raw = await (0, promises_1.readFile)(manifestPath, "utf-8");
56
+ }
57
+ catch (error) {
58
+ logger.error(`Could not read --assetReferencesManifest at ${manifestPath}: ${error instanceof Error ? error.message : String(error)}`);
59
+ process.exit(1);
60
+ }
61
+ let parsed;
62
+ try {
63
+ parsed = JSON.parse(raw);
64
+ }
65
+ catch (error) {
66
+ logger.error(`--assetReferencesManifest at ${manifestPath} is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);
67
+ process.exit(1);
68
+ }
69
+ if (!Array.isArray(parsed)) {
70
+ logger.error(`--assetReferencesManifest must be a JSON array of { name, versionId } objects.`);
71
+ process.exit(1);
72
+ }
73
+ if (parsed.length === 0) {
74
+ logger.error(`--assetReferencesManifest must not be empty.`);
75
+ process.exit(1);
76
+ }
77
+ const isValid = parsed.every((item) => typeof item === "object" &&
78
+ item !== null &&
79
+ typeof item.name === "string" &&
80
+ typeof item.versionId === "string" &&
81
+ item.name.length > 0 &&
82
+ item.versionId.length > 0);
83
+ if (!isValid) {
84
+ logger.error(`--assetReferencesManifest entries must each be { name: string, versionId: string } with non-empty values.`);
85
+ process.exit(1);
86
+ }
87
+ return parsed;
88
+ };
89
+ const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, gitDiffOutput: gitDiffOutput_, repoDirectory, assetReferencesManifest: manifestPath, rewrites, waitForBase, waitForTestRunToComplete, }) => {
90
+ const logger = (0, common_1.initLogger)();
91
+ if (waitForTestRunToComplete &&
92
+ !(0, resolve_git_options_1.hasGitContextForTestRunWait)(repoDirectory, baseSha_, gitDiffOutput_)) {
93
+ logger.error("--waitForTestRunToComplete is only for runs from a local branch checkout: pass --repoDirectory " +
94
+ "(path to your clone on the branch under test) or both --baseSha and --gitDiffOutput from that branch. " +
95
+ "If you only pass --commitSha you are not on a branch checkout — omit this flag.");
96
+ process.exit(1);
97
+ }
98
+ const { commitSha, baseSha, gitDiffOutput, withUncommittedChanges } = await (0, resolve_git_options_1.resolveGitOptions)({
99
+ commitSha: commitSha_,
100
+ baseSha: baseSha_,
101
+ gitDiffOutput: gitDiffOutput_,
102
+ repoDirectory,
103
+ });
104
+ if (baseSha && baseSha === commitSha && !gitDiffOutput) {
105
+ logger.info("Base SHA equals head SHA and no git diff output provided — nothing to test. " +
106
+ "If you have uncommitted changes, provide --gitDiffOutput or use --repoDirectory.");
107
+ return;
108
+ }
109
+ const manifest = await readAssetReferencesManifest(manifestPath);
110
+ logger.info(`Triggering test run for commit ${commitSha} against ${manifest.length} uploaded asset chunk(s)`);
111
+ Sentry.captureMessage("Received run-with-uploaded-asset-chunks request", {
112
+ level: "debug",
113
+ extra: { commitSha, chunkCount: manifest.length },
114
+ });
115
+ const apiToken_ = await (0, client_1.resolveApiTokenWithOAuth)({
116
+ apiToken,
117
+ enableOAuthLogin: true,
118
+ });
119
+ const projectIdentifier = (0, resolve_project_identifier_1.resolveProjectIdentifier)(apiToken_);
120
+ const client = (0, client_1.createClient)({ apiToken: apiToken_ });
121
+ let testRunId;
122
+ try {
123
+ const result = await (0, remote_replay_launcher_1.runWithUploadedAssetChunks)({
124
+ client,
125
+ commitSha,
126
+ ...(baseSha ? { baseSha } : {}),
127
+ ...(gitDiffOutput ? { gitDiffOutput } : {}),
128
+ ...(withUncommittedChanges ? { withUncommittedChanges } : {}),
129
+ assetReferencesManifest: manifest,
130
+ rewrites: (0, parse_rewrites_1.parseRewrites)(rewrites),
131
+ waitForBase: waitForBase || waitForTestRunToComplete,
132
+ ...projectIdentifier,
133
+ });
134
+ if (result.overlaps && result.overlaps.length > 0) {
135
+ logger.warn(`${result.overlaps.length} file path(s) appear in multiple chunks. Later chunks in the manifest override earlier ones.`);
136
+ for (const overlap of result.overlaps) {
137
+ logger.warn(` - ${overlap.path}: ${overlap.lowerChunk.name}@${overlap.lowerChunk.versionId} → ${overlap.upperChunk.name}@${overlap.upperChunk.versionId}`);
138
+ }
139
+ if (result.overlapsTruncated) {
140
+ logger.warn(` ... and more overlapping paths (not shown).`);
141
+ }
142
+ }
143
+ if (!result.testRun) {
144
+ throw new Error(result.message ?? "Asset chunks resolved but test run not created");
145
+ }
146
+ testRunId = result.testRun.id;
147
+ logger.info(`Test run created: ${result.testRun.url}`);
148
+ // Verify the assembled (concatenated) build assets via the test-run URL
149
+ // with `/download-build-assets` appended.
150
+ logger.info(`Verify assembled build assets: ${result.testRun.url}/download-build-assets`);
151
+ }
152
+ catch (error) {
153
+ if ((0, out_of_date_client_error_1.isOutOfDateClientError)(error)) {
154
+ throw new out_of_date_client_error_1.OutOfDateCLIError();
155
+ }
156
+ else {
157
+ throw error;
158
+ }
159
+ }
160
+ if (!waitForTestRunToComplete) {
161
+ return;
162
+ }
163
+ logger.info(`Waiting for test run ${testRunId} to complete...`);
164
+ let completedTestRun = await (0, client_1.getTestRun)({ client, testRunId });
165
+ while (client_1.IN_PROGRESS_TEST_RUN_STATUS.includes(completedTestRun.status)) {
166
+ await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
167
+ completedTestRun = await (0, client_1.getTestRun)({ client, testRunId });
168
+ logger.info(`Test run status: ${completedTestRun.status}`);
169
+ }
170
+ logger.info(`Test run ${testRunId} finished with status: ${completedTestRun.status}`);
171
+ };
172
+ exports.ciRunWithUploadedAssetChunksCommand = {
173
+ command: "run-with-uploaded-asset-chunks",
174
+ describe: "Trigger a test run against already-uploaded asset chunks. Together with `upload-asset-chunk`, this is the chunked equivalent of `upload-assets`.",
175
+ builder: {
176
+ apiToken: common_options_1.OPTIONS.apiToken,
177
+ commitSha: common_options_1.OPTIONS.commitSha,
178
+ baseSha: {
179
+ string: true,
180
+ description: "The base commit SHA to compare against. Intended for custom test run triggers. Cannot be combined with --repoDirectory.",
181
+ },
182
+ gitDiffOutput: {
183
+ string: true,
184
+ description: "Raw git diff output between the base and head commits. Requires --baseSha. Cannot be combined with --repoDirectory.",
185
+ },
186
+ repoDirectory: {
187
+ string: true,
188
+ description: "The path to a git repository. Intended for custom test run triggers. " +
189
+ "Automatically infers --commitSha, --baseSha, and --gitDiffOutput from the repo. " +
190
+ "Cannot be combined with --commitSha, --baseSha, or --gitDiffOutput.",
191
+ },
192
+ assetReferencesManifest: {
193
+ string: true,
194
+ demandOption: true,
195
+ description: "Path to a JSON file containing a list of { name, versionId } references to previously uploaded asset chunks (see `ci upload-asset-chunk`). " +
196
+ "Chunked analog of --appDirectory / --appZip on `ci upload-assets`.",
197
+ },
198
+ rewrites: {
199
+ string: true,
200
+ default: "[]",
201
+ description: "URL rewrite rules. This string should be a valid JSON array in the format described at https://github.com/vercel/serve-handler?tab=readme-ov-file#rewrites-array." +
202
+ ' Note: if no rules are passed, or an empty list is passed, we default to the rewrite rule \'{ source: "**", destination: "/index.html" }\'.',
203
+ },
204
+ waitForBase: {
205
+ boolean: true,
206
+ default: true,
207
+ description: "If true, the launcher will try to wait for a base test run to be created before triggering a test run.",
208
+ },
209
+ waitForTestRunToComplete: {
210
+ boolean: true,
211
+ default: false,
212
+ description: "If true, block until the triggered test run finishes. Only for Meticulous runs tied to a local branch: " +
213
+ "requires --repoDirectory (your clone on that branch) or both --baseSha and --gitDiffOutput from it. Implies --waitForBase.",
214
+ },
215
+ },
216
+ handler: (0, sentry_utils_1.wrapHandler)(handler),
217
+ };
218
+ //# sourceMappingURL=run-with-uploaded-asset-chunks.command.js.map
219
+ //# debugId=3d73e020-c008-5baf-aa2e-4a30f1b6cb1a
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-with-uploaded-asset-chunks.command.js","sources":["../../../src/commands/ci/run-with-uploaded-asset-chunks.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,qDAMkC;AAClC,qDAAsD;AACtD,qFAAsF;AACtF,qDAAuC;AAEvC,uEAA6D;AAC7D,uEAAmE;AACnE,mEAA+D;AAC/D,mFAAiG;AACjG,uFAAkF;AAClF,+DAAuF;AAEvF,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAchC,MAAM,2BAA2B,GAAG,KAAK,EACvC,YAAoB,EACmB,EAAE;IACzC,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAA,mBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,+CAA+C,YAAY,KACzD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,gCAAgC,YAAY,uBAC1C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAC1B,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ;QACrD,OAAQ,IAAgC,CAAC,SAAS,KAAK,QAAQ;QAC9D,IAAyB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACzC,IAA8B,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CACvD,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,2GAA2G,CAC5G,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,MAAsC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,KAAK,EAAE,EACrB,QAAQ,EACR,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,cAAc,EAC7B,aAAa,EACb,uBAAuB,EAAE,YAAY,EACrC,QAAQ,EACR,WAAW,EACX,wBAAwB,GAChB,EAAiB,EAAE;IAC3B,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAE5B,IACE,wBAAwB;QACxB,CAAC,IAAA,iDAA2B,EAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC,EACrE,CAAC;QACD,MAAM,CAAC,KAAK,CACV,iGAAiG;YAC/F,wGAAwG;YACxG,iFAAiF,CACpF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,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,IAAI,CAAC,aAAa,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CACT,8EAA8E;YAC5E,kFAAkF,CACrF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAEjE,MAAM,CAAC,IAAI,CACT,kCAAkC,SAAS,YAAY,QAAQ,CAAC,MAAM,0BAA0B,CACjG,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,iDAAiD,EAAE;QACvE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE;KAClD,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,IAAA,iCAAwB,EAAC;QAC/C,QAAQ;QACR,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAA,qDAAwB,EAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAErD,IAAI,SAAiB,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,mDAA0B,EAAC;YAC9C,MAAM;YACN,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,uBAAuB,EAAE,QAAQ;YACjC,QAAQ,EAAE,IAAA,8BAAa,EAAC,QAAQ,CAAC;YACjC,WAAW,EAAE,WAAW,IAAI,wBAAwB;YACpD,GAAG,iBAAiB;SACrB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,8FAA8F,CACxH,CAAC;YACF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CACT,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,CAC/I,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,gDAAgD,CAAC,CAAC;QACtF,CAAC;QACD,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,wEAAwE;QACxE,0CAA0C;QAC1C,MAAM,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,OAAO,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAC5F,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,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,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,CAAC,YAAY,SAAS,0BAA0B,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;AACxF,CAAC,CAAC;AAEW,QAAA,mCAAmC,GAAoC;IAClF,OAAO,EAAE,gCAAgC;IACzC,QAAQ,EACN,kJAAkJ;IACpJ,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,uBAAuB,EAAE;YACvB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,WAAW,EACT,6IAA6I;gBAC7I,oEAAoE;SACvE;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,WAAW,EACT,mKAAmK;gBACnK,6IAA6I;SAChJ;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,yGAAyG;gBACzG,4HAA4H;SAC/H;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,OAAO,CAAC;CAC9B,CAAC","debugId":"3d73e020-c008-5baf-aa2e-4a30f1b6cb1a"}
@@ -0,0 +1,12 @@
1
+ import { CommandModule } from "yargs";
2
+ interface Options {
3
+ apiToken?: string | undefined;
4
+ chunkName: string;
5
+ chunkVersionId: string;
6
+ chunkAssetsDirectory: string;
7
+ chunkAssetsDirectoryPrefix?: string | undefined;
8
+ commitSha?: string | undefined;
9
+ force: boolean;
10
+ }
11
+ export declare const ciUploadAssetChunkCommand: CommandModule<unknown, Options>;
12
+ export {};
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="adc101e3-636f-51d7-abaf-2e34ef6700b4")}catch(e){}}();
3
+
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.ciUploadAssetChunkCommand = void 0;
39
+ const client_1 = require("@alwaysmeticulous/client");
40
+ const common_1 = require("@alwaysmeticulous/common");
41
+ const remote_replay_launcher_1 = require("@alwaysmeticulous/remote-replay-launcher");
42
+ const Sentry = __importStar(require("@sentry/node"));
43
+ const common_options_1 = require("../../command-utils/common-options");
44
+ const sentry_utils_1 = require("../../command-utils/sentry.utils");
45
+ const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
46
+ const resolve_project_identifier_1 = require("../../utils/resolve-project-identifier");
47
+ const handler = async ({ apiToken, chunkName, chunkVersionId, chunkAssetsDirectory, chunkAssetsDirectoryPrefix, commitSha: commitSha_, force, }) => {
48
+ const logger = (0, common_1.initLogger)();
49
+ const commitSha = await (0, common_1.getCommitSha)(commitSha_);
50
+ if (!commitSha) {
51
+ logger.error("No commit SHA found. Provide one with --commitSha or run inside a git checkout.");
52
+ process.exit(1);
53
+ }
54
+ Sentry.captureMessage("Received upload asset chunk request", {
55
+ level: "debug",
56
+ extra: { chunkName, chunkVersionId, commitSha },
57
+ });
58
+ const apiToken_ = await (0, client_1.resolveApiTokenWithOAuth)({
59
+ apiToken,
60
+ enableOAuthLogin: true,
61
+ });
62
+ const projectIdentifier = (0, resolve_project_identifier_1.resolveProjectIdentifier)(apiToken_);
63
+ try {
64
+ await (0, remote_replay_launcher_1.uploadAssetChunk)({
65
+ apiToken: apiToken_,
66
+ chunkName,
67
+ chunkVersionId,
68
+ chunkAssetsDirectory,
69
+ ...(chunkAssetsDirectoryPrefix ? { chunkAssetsDirectoryPrefix } : {}),
70
+ commitSha,
71
+ force,
72
+ ...projectIdentifier,
73
+ });
74
+ }
75
+ catch (error) {
76
+ if ((0, out_of_date_client_error_1.isOutOfDateClientError)(error)) {
77
+ throw new out_of_date_client_error_1.OutOfDateCLIError();
78
+ }
79
+ throw error;
80
+ }
81
+ };
82
+ exports.ciUploadAssetChunkCommand = {
83
+ command: "upload-asset-chunk",
84
+ describe: "Upload a named, versioned chunk of static assets to Meticulous for incremental deployments",
85
+ builder: {
86
+ apiToken: common_options_1.OPTIONS.apiToken,
87
+ chunkName: {
88
+ string: true,
89
+ demandOption: true,
90
+ description: "Logical name of the asset chunk (e.g. 'app', 'vendor').",
91
+ },
92
+ chunkVersionId: {
93
+ string: true,
94
+ demandOption: true,
95
+ description: "Version identifier for this chunk (e.g. content hash or build id). Chunks are deduped by (chunkName, chunkVersionId).",
96
+ },
97
+ chunkAssetsDirectory: {
98
+ string: true,
99
+ demandOption: true,
100
+ description: "Directory whose contents should be packaged into this chunk.",
101
+ },
102
+ chunkAssetsDirectoryPrefix: {
103
+ string: true,
104
+ description: "Optional path prefix prepended to every entry in the chunk (e.g. 'static/assets'). Files in chunkAssetsDirectory will be served under this prefix at replay time.",
105
+ },
106
+ commitSha: common_options_1.OPTIONS.commitSha,
107
+ force: {
108
+ boolean: true,
109
+ default: false,
110
+ description: "Re-upload even if a chunk with the same name and versionId is already uploaded. Use for recovery; the server will overwrite the existing chunk.",
111
+ },
112
+ },
113
+ handler: (0, sentry_utils_1.wrapHandler)(handler),
114
+ };
115
+ //# sourceMappingURL=upload-asset-chunk.command.js.map
116
+ //# debugId=adc101e3-636f-51d7-abaf-2e34ef6700b4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-asset-chunk.command.js","sources":["../../../src/commands/ci/upload-asset-chunk.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAoE;AACpE,qDAAoE;AACpE,qFAA4E;AAC5E,qDAAuC;AAEvC,uEAA6D;AAC7D,mEAA+D;AAC/D,mFAG8C;AAC9C,uFAAkF;AAYlF,MAAM,OAAO,GAAG,KAAK,EAAE,EACrB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EAAE,UAAU,EACrB,KAAK,GACG,EAAiB,EAAE;IAC3B,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAE5B,MAAM,SAAS,GAAG,MAAM,IAAA,qBAAY,EAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,iFAAiF,CAClF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,qCAAqC,EAAE;QAC3D,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE;KAChD,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,IAAA,iCAAwB,EAAC;QAC/C,QAAQ;QACR,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAA,qDAAwB,EAAC,SAAS,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,IAAA,yCAAgB,EAAC;YACrB,QAAQ,EAAE,SAAS;YACnB,SAAS;YACT,cAAc;YACd,oBAAoB;YACpB,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,SAAS;YACT,KAAK;YACL,GAAG,iBAAiB;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAA,iDAAsB,EAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,4CAAiB,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,yBAAyB,GAAoC;IACxE,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EACN,4FAA4F;IAC9F,OAAO,EAAE;QACP,QAAQ,EAAE,wBAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE;YACT,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,yDAAyD;SACvE;QACD,cAAc,EAAE;YACd,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,WAAW,EACT,uHAAuH;SAC1H;QACD,oBAAoB,EAAE;YACpB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,WAAW,EACT,8DAA8D;SACjE;QACD,0BAA0B,EAAE;YAC1B,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,mKAAmK;SACtK;QACD,SAAS,EAAE,wBAAO,CAAC,SAAS;QAC5B,KAAK,EAAE;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,WAAW,EACT,iJAAiJ;SACpJ;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,OAAO,CAAC;CAC9B,CAAC","debugId":"adc101e3-636f-51d7-abaf-2e34ef6700b4"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e656e038-896d-520f-9681-0d3bfef54640")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cad60ae4-968c-5c5c-988e-a6ef7da4c14a")}catch(e){}}();
3
3
 
4
4
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
5
  if (k2 === undefined) k2 = k;
@@ -41,6 +41,7 @@ const common_1 = require("@alwaysmeticulous/common");
41
41
  const remote_replay_launcher_1 = require("@alwaysmeticulous/remote-replay-launcher");
42
42
  const Sentry = __importStar(require("@sentry/node"));
43
43
  const common_options_1 = require("../../command-utils/common-options");
44
+ const parse_rewrites_1 = require("../../command-utils/parse-rewrites");
44
45
  const sentry_utils_1 = require("../../command-utils/sentry.utils");
45
46
  const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
46
47
  const resolve_project_identifier_1 = require("../../utils/resolve-project-identifier");
@@ -94,7 +95,7 @@ const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, git
94
95
  ...(withUncommittedChanges ? { withUncommittedChanges } : {}),
95
96
  appDirectory,
96
97
  appZip,
97
- rewrites: parseRewrites(rewrites),
98
+ rewrites: (0, parse_rewrites_1.parseRewrites)(rewrites),
98
99
  waitForBase: waitForBase || waitForTestRunToComplete,
99
100
  ...projectIdentifier,
100
101
  });
@@ -121,34 +122,6 @@ const handler = async ({ apiToken, commitSha: commitSha_, baseSha: baseSha_, git
121
122
  }
122
123
  logger.info(`Test run ${testRunId} finished with status: ${completedTestRun.status}`);
123
124
  };
124
- const parseRewrites = (rewritesString) => {
125
- const logger = (0, common_1.initLogger)();
126
- let parsedRewrites;
127
- try {
128
- parsedRewrites = JSON.parse(rewritesString ?? "[]");
129
- }
130
- catch (error) {
131
- logger.error("Error: Could not parse --rewrites flag. Expected a valid JSON array string.");
132
- if (error instanceof Error) {
133
- logger.error(error.message);
134
- }
135
- process.exit(1);
136
- }
137
- if (!Array.isArray(parsedRewrites)) {
138
- logger.error("Error: Invalid --rewrites flag. Expected a valid JSON array string.");
139
- process.exit(1);
140
- }
141
- const isValid = parsedRewrites.every((item) => typeof item === "object" &&
142
- item !== null &&
143
- typeof item.source === "string" &&
144
- typeof item.destination === "string");
145
- if (!isValid) {
146
- logger.error("Error: Invalid --rewrites flag. Each element in the array must be an object with 'source' and 'destination' string properties.");
147
- logger.error("See https://github.com/vercel/serve-handler?tab=readme-ov-file#rewrites-array for more details.");
148
- process.exit(1);
149
- }
150
- return parsedRewrites;
151
- };
152
125
  exports.ciUploadAssetsCommand = {
153
126
  command: "upload-assets",
154
127
  describe: "Upload build artifacts to Meticulous, potentially triggering a test run",
@@ -198,4 +171,4 @@ exports.ciUploadAssetsCommand = {
198
171
  handler: (0, sentry_utils_1.wrapHandler)(handler),
199
172
  };
200
173
  //# sourceMappingURL=upload-assets.command.js.map
201
- //# debugId=e656e038-896d-520f-9681-0d3bfef54640
174
+ //# debugId=cad60ae4-968c-5c5c-988e-a6ef7da4c14a
@@ -1 +1 @@
1
- {"version":3,"file":"upload-assets.command.js","sources":["../../../src/commands/ci/upload-assets.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"e656e038-896d-520f-9681-0d3bfef54640"}
1
+ {"version":3,"file":"upload-assets.command.js","sources":["../../../src/commands/ci/upload-assets.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"cad60ae4-968c-5c5c-988e-a6ef7da4c14a"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/cli",
3
- "version": "2.295.1",
3
+ "version": "2.297.0",
4
4
  "description": "The Meticulous CLI",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -23,18 +23,18 @@
23
23
  "puppeteer-core": "24.14.0",
24
24
  "tar": "^7.5.8",
25
25
  "yargs": "^17.5.1",
26
- "@alwaysmeticulous/api": "2.295.0",
26
+ "@alwaysmeticulous/api": "2.297.0",
27
+ "@alwaysmeticulous/client": "2.297.0",
27
28
  "@alwaysmeticulous/common": "2.293.0",
28
- "@alwaysmeticulous/debug-workspace": "2.295.0",
29
- "@alwaysmeticulous/downloading-helpers": "2.295.0",
30
- "@alwaysmeticulous/record": "2.295.1",
31
- "@alwaysmeticulous/remote-replay-launcher": "2.295.0",
32
- "@alwaysmeticulous/replay-orchestrator-launcher": "2.295.0",
29
+ "@alwaysmeticulous/downloading-helpers": "2.297.0",
30
+ "@alwaysmeticulous/debug-workspace": "2.297.0",
31
+ "@alwaysmeticulous/record": "2.297.0",
32
+ "@alwaysmeticulous/remote-replay-launcher": "2.297.0",
33
33
  "@alwaysmeticulous/replay-debugger-ui": "2.283.1",
34
- "@alwaysmeticulous/sdk-bundles-api": "2.295.0",
34
+ "@alwaysmeticulous/replay-orchestrator-launcher": "2.297.0",
35
+ "@alwaysmeticulous/sdk-bundles-api": "2.297.0",
35
36
  "@alwaysmeticulous/sentry": "2.293.0",
36
- "@alwaysmeticulous/tunnels-client": "2.293.0",
37
- "@alwaysmeticulous/client": "2.295.0"
37
+ "@alwaysmeticulous/tunnels-client": "2.293.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/cli-progress": "^3.11.5",