@swmansion/argent 0.25.1-next.9 → 0.25.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.
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/cli-cmds.mjs CHANGED
@@ -2372,6 +2372,8 @@ var FAILURE_CODES = {
2372
2372
  ANDROID_DEVTOOLS_WRONG_PLATFORM: "ANDROID_DEVTOOLS_WRONG_PLATFORM",
2373
2373
  ANDROID_DEVTOOLS_DEVICE_ID_INVALID: "ANDROID_DEVTOOLS_DEVICE_ID_INVALID",
2374
2374
  ANDROID_DEVTOOLS_HELPER_TERMINATED: "ANDROID_DEVTOOLS_HELPER_TERMINATED",
2375
+ ANDROID_DEVTOOLS_HELPER_INSTALL_FAILED: "ANDROID_DEVTOOLS_HELPER_INSTALL_FAILED",
2376
+ ANDROID_DEVTOOLS_HELPER_REPAIR_FAILED: "ANDROID_DEVTOOLS_HELPER_REPAIR_FAILED",
2375
2377
  ANDROID_DEVTOOLS_RPC_CLIENT_CLOSED: "ANDROID_DEVTOOLS_RPC_CLIENT_CLOSED",
2376
2378
  ANDROID_DEVTOOLS_RPC_ERROR: "ANDROID_DEVTOOLS_RPC_ERROR",
2377
2379
  ANDROID_DEVTOOLS_RPC_TIMEOUT: "ANDROID_DEVTOOLS_RPC_TIMEOUT",
@@ -17368,7 +17370,7 @@ function createToolsClient(options = {}) {
17368
17370
  import { copyFile, mkdir as mkdir4, readFile as readFile4, realpath, rm as rm3, stat as stat3, writeFile as writeFile4 } from "node:fs/promises";
17369
17371
  import { constants as fsConstants } from "node:fs";
17370
17372
  import { tmpdir as tmpdir2 } from "node:os";
17371
- import { basename as basename4, dirname as dirname5, extname as extname2, isAbsolute as isAbsolute3, join as join9, normalize, resolve as resolve6, sep as sep2 } from "node:path";
17373
+ import { basename as basename4, dirname as dirname5, extname as extname2, isAbsolute as isAbsolute4, join as join9, normalize, resolve as resolve6, sep as sep2 } from "node:path";
17372
17374
  import { createHash as createHash3 } from "node:crypto";
17373
17375
 
17374
17376
  // ../configuration-core/src/flags.ts
@@ -17812,6 +17814,7 @@ function applyMergePolicy(policy, local, global2) {
17812
17814
  }
17813
17815
 
17814
17816
  // ../configuration-core/src/config-schema.ts
17817
+ import { isAbsolute as isAbsolute3 } from "node:path";
17815
17818
  function asBoolean(raw) {
17816
17819
  return typeof raw === "boolean" ? raw : void 0;
17817
17820
  }
@@ -17887,6 +17890,18 @@ var CONFIG_SCHEMA = [
17887
17890
  merge: "union",
17888
17891
  example: '["~/DeviceSets/ci"]'
17889
17892
  },
17893
+ {
17894
+ key: "android.sdkRoot",
17895
+ description: "Android SDK root argent uses instead of `ANDROID_HOME`, for hosts whose SDK is not where the environment says (Nix, custom layouts). Absolute or `~/`-prefixed. Applies to the tool-server and to the simulator-server it starts. `adb` on PATH still wins, as it does with the environment variable.",
17896
+ scopes: ["project", "global"],
17897
+ parse: (raw) => {
17898
+ const value = asString(raw);
17899
+ return value !== void 0 && (value === "~" || value.startsWith("~/") || isAbsolute3(value)) ? value : void 0;
17900
+ },
17901
+ expected: "an absolute path, or one starting with `~/`",
17902
+ merge: "prioritize-local",
17903
+ example: "~/Library/Android/sdk"
17904
+ },
17890
17905
  {
17891
17906
  key: "recordings.directory",
17892
17907
  description: "Directory where finished screen recordings (mp4) are saved on the client host. Absolute, `~`-prefixed, or relative to the project root (home dir when not in a project). Unset \u21D2 `.argent/recordings` under the project root.",
@@ -18155,7 +18170,7 @@ async function writeDurableUnique(dir, filename, write) {
18155
18170
  function durableSaveTarget(handle) {
18156
18171
  if (typeof handle.saveDir !== "string" || !handle.saveDir || handle.archive) return null;
18157
18172
  const rel = normalize(handle.saveDir);
18158
- if (isAbsolute3(rel) || rel === ".." || rel.startsWith(`..${sep2}`) || rel.split(sep2).includes("..")) {
18173
+ if (isAbsolute4(rel) || rel === ".." || rel.startsWith(`..${sep2}`) || rel.split(sep2).includes("..")) {
18159
18174
  return null;
18160
18175
  }
18161
18176
  if (!ALLOWED_SAVE_DIRS.has(rel)) return null;
@@ -21857,7 +21872,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
21857
21872
  var SESSION_ID2 = randomUUID5();
21858
21873
  function readCliVersion() {
21859
21874
  if (true) {
21860
- return "0.25.1-next.9";
21875
+ return "0.25.1";
21861
21876
  }
21862
21877
  return "0.0.0";
21863
21878
  }
@@ -23211,7 +23226,8 @@ Subcommands:
23211
23226
 
23212
23227
  Options (run):
23213
23228
  --device <id> Device id to run against (auto-detected when omitted)
23214
- --platform <p> ios | android | chromium | vega \u2014 narrow auto-detection
23229
+ --platform <p> ios | android | chromium | vega | ios-remote \u2014 narrow
23230
+ auto-detection (ios never picks a remote simulator)
23215
23231
  --update-baselines Write/refresh screenshot baselines instead of diffing
23216
23232
  --output <dir> Also write failed snapshot images (baseline/current/diff)
23217
23233
  under <dir>/<flow>/ \u2014 a stable path for CI artifact
@@ -23460,7 +23476,10 @@ async function exportFailureArtifacts(report, outputDir, flowPath, ctx) {
23460
23476
  if (dirName === null) return;
23461
23477
  dir = path14.join(outputDir, dirName);
23462
23478
  }
23463
- const dest = path14.join(dir, `${key}-${role}.png`);
23479
+ const dest = path14.join(
23480
+ dir,
23481
+ `${key}${s.snapshotRemote === true ? "-remote" : ""}-${role}.png`
23482
+ );
23464
23483
  const rel = path14.relative(outputDir, dest);
23465
23484
  if (rel.startsWith("..") || path14.isAbsolute(rel)) continue;
23466
23485
  try {
@@ -15249,6 +15249,7 @@ function applyMergePolicy(policy, local, global2) {
15249
15249
  }
15250
15250
 
15251
15251
  // ../configuration-core/src/config-schema.ts
15252
+ import { isAbsolute } from "node:path";
15252
15253
  function asBoolean(raw) {
15253
15254
  return typeof raw === "boolean" ? raw : void 0;
15254
15255
  }
@@ -15311,6 +15312,18 @@ var CONFIG_SCHEMA = [
15311
15312
  merge: "union",
15312
15313
  example: '["~/DeviceSets/ci"]'
15313
15314
  },
15315
+ {
15316
+ key: "android.sdkRoot",
15317
+ description: "Android SDK root argent uses instead of `ANDROID_HOME`, for hosts whose SDK is not where the environment says (Nix, custom layouts). Absolute or `~/`-prefixed. Applies to the tool-server and to the simulator-server it starts. `adb` on PATH still wins, as it does with the environment variable.",
15318
+ scopes: ["project", "global"],
15319
+ parse: (raw) => {
15320
+ const value = asString(raw);
15321
+ return value !== void 0 && (value === "~" || value.startsWith("~/") || isAbsolute(value)) ? value : void 0;
15322
+ },
15323
+ expected: "an absolute path, or one starting with `~/`",
15324
+ merge: "prioritize-local",
15325
+ example: "~/Library/Android/sdk"
15326
+ },
15314
15327
  {
15315
15328
  key: "recordings.directory",
15316
15329
  description: "Directory where finished screen recordings (mp4) are saved on the client host. Absolute, `~`-prefixed, or relative to the project root (home dir when not in a project). Unset \u21D2 `.argent/recordings` under the project root.",
@@ -15744,6 +15757,8 @@ var FAILURE_CODES = {
15744
15757
  ANDROID_DEVTOOLS_WRONG_PLATFORM: "ANDROID_DEVTOOLS_WRONG_PLATFORM",
15745
15758
  ANDROID_DEVTOOLS_DEVICE_ID_INVALID: "ANDROID_DEVTOOLS_DEVICE_ID_INVALID",
15746
15759
  ANDROID_DEVTOOLS_HELPER_TERMINATED: "ANDROID_DEVTOOLS_HELPER_TERMINATED",
15760
+ ANDROID_DEVTOOLS_HELPER_INSTALL_FAILED: "ANDROID_DEVTOOLS_HELPER_INSTALL_FAILED",
15761
+ ANDROID_DEVTOOLS_HELPER_REPAIR_FAILED: "ANDROID_DEVTOOLS_HELPER_REPAIR_FAILED",
15747
15762
  ANDROID_DEVTOOLS_RPC_CLIENT_CLOSED: "ANDROID_DEVTOOLS_RPC_CLIENT_CLOSED",
15748
15763
  ANDROID_DEVTOOLS_RPC_ERROR: "ANDROID_DEVTOOLS_RPC_ERROR",
15749
15764
  ANDROID_DEVTOOLS_RPC_TIMEOUT: "ANDROID_DEVTOOLS_RPC_TIMEOUT",
@@ -16710,7 +16725,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
16710
16725
  var SESSION_ID = randomUUID4();
16711
16726
  function readCliVersion() {
16712
16727
  if (true) {
16713
- return "0.25.1-next.9";
16728
+ return "0.25.1";
16714
16729
  }
16715
16730
  return "0.0.0";
16716
16731
  }
@@ -19581,6 +19596,9 @@ function formatShellCommand(cmd) {
19581
19596
  const parts = [cmd.bin, ...cmd.args.map((a3) => a3.includes(" ") ? `"${a3}"` : a3)];
19582
19597
  return parts.join(" ");
19583
19598
  }
19599
+ function shellQuotePath(dir) {
19600
+ return "'" + dir.split("'").join("'\\''") + "'";
19601
+ }
19584
19602
  function detectPackageManager() {
19585
19603
  const agent = process.env.npm_config_user_agent ?? "";
19586
19604
  if (agent.startsWith("yarn")) return "yarn";
@@ -22107,7 +22125,9 @@ async function installLocally(opts) {
22107
22125
  log.error(
22108
22126
  installError ? `${installError}` : `The install reported success but ${import_picocolors3.default.cyan(PACKAGE_NAME)} is not in node_modules.`
22109
22127
  );
22110
- log.info(`Install manually with: ${import_picocolors3.default.cyan(`cd ${projectRoot} && ${cmdStr}`)}`);
22128
+ log.info(
22129
+ `Install manually with: ${import_picocolors3.default.cyan(`cd ${shellQuotePath(projectRoot)} && ${cmdStr}`)}`
22130
+ );
22111
22131
  }
22112
22132
  await tel.trackPackageAction(
22113
22133
  "fresh_install",
@@ -23297,7 +23317,7 @@ var MAX_CONTENT_BYTES = 32 * 1024 * 1024;
23297
23317
  import { copyFile, mkdir as mkdir4, readFile as readFile4, realpath, rm as rm3, stat as stat3, writeFile as writeFile4 } from "node:fs/promises";
23298
23318
  import { constants as fsConstants } from "node:fs";
23299
23319
  import { tmpdir as tmpdir2 } from "node:os";
23300
- import { basename as basename4, dirname as dirname13, extname as extname2, isAbsolute as isAbsolute5, join as join21, normalize, resolve as resolve13, sep as sep4 } from "node:path";
23320
+ import { basename as basename4, dirname as dirname13, extname as extname2, isAbsolute as isAbsolute6, join as join21, normalize, resolve as resolve13, sep as sep4 } from "node:path";
23301
23321
  import { createHash as createHash4 } from "node:crypto";
23302
23322
  var ALLOWED_SAVE_DIRS = /* @__PURE__ */ new Set([normalize(".argent/recordings")]);
23303
23323
  var RECORDINGS_SAVE_DIR = normalize(".argent/recordings");
@@ -16552,6 +16552,8 @@ var FAILURE_CODES = {
16552
16552
  ANDROID_DEVTOOLS_WRONG_PLATFORM: "ANDROID_DEVTOOLS_WRONG_PLATFORM",
16553
16553
  ANDROID_DEVTOOLS_DEVICE_ID_INVALID: "ANDROID_DEVTOOLS_DEVICE_ID_INVALID",
16554
16554
  ANDROID_DEVTOOLS_HELPER_TERMINATED: "ANDROID_DEVTOOLS_HELPER_TERMINATED",
16555
+ ANDROID_DEVTOOLS_HELPER_INSTALL_FAILED: "ANDROID_DEVTOOLS_HELPER_INSTALL_FAILED",
16556
+ ANDROID_DEVTOOLS_HELPER_REPAIR_FAILED: "ANDROID_DEVTOOLS_HELPER_REPAIR_FAILED",
16555
16557
  ANDROID_DEVTOOLS_RPC_CLIENT_CLOSED: "ANDROID_DEVTOOLS_RPC_CLIENT_CLOSED",
16556
16558
  ANDROID_DEVTOOLS_RPC_ERROR: "ANDROID_DEVTOOLS_RPC_ERROR",
16557
16559
  ANDROID_DEVTOOLS_RPC_TIMEOUT: "ANDROID_DEVTOOLS_RPC_TIMEOUT",
@@ -16912,7 +16914,7 @@ function errorBodyMessage(body) {
16912
16914
  import { copyFile, mkdir as mkdir4, readFile as readFile4, realpath, rm as rm3, stat as stat3, writeFile as writeFile4 } from "node:fs/promises";
16913
16915
  import { constants as fsConstants } from "node:fs";
16914
16916
  import { tmpdir as tmpdir2 } from "node:os";
16915
- import { basename as basename4, dirname as dirname5, extname as extname2, isAbsolute as isAbsolute3, join as join9, normalize, resolve as resolve6, sep as sep2 } from "node:path";
16917
+ import { basename as basename4, dirname as dirname5, extname as extname2, isAbsolute as isAbsolute4, join as join9, normalize, resolve as resolve6, sep as sep2 } from "node:path";
16916
16918
  import { createHash as createHash3 } from "node:crypto";
16917
16919
 
16918
16920
  // ../configuration-core/src/flags.ts
@@ -17170,6 +17172,7 @@ function applyMergePolicy(policy, local, global) {
17170
17172
  }
17171
17173
 
17172
17174
  // ../configuration-core/src/config-schema.ts
17175
+ import { isAbsolute as isAbsolute3 } from "node:path";
17173
17176
  function asBoolean(raw) {
17174
17177
  return typeof raw === "boolean" ? raw : void 0;
17175
17178
  }
@@ -17232,6 +17235,18 @@ var CONFIG_SCHEMA = [
17232
17235
  merge: "union",
17233
17236
  example: '["~/DeviceSets/ci"]'
17234
17237
  },
17238
+ {
17239
+ key: "android.sdkRoot",
17240
+ description: "Android SDK root argent uses instead of `ANDROID_HOME`, for hosts whose SDK is not where the environment says (Nix, custom layouts). Absolute or `~/`-prefixed. Applies to the tool-server and to the simulator-server it starts. `adb` on PATH still wins, as it does with the environment variable.",
17241
+ scopes: ["project", "global"],
17242
+ parse: (raw) => {
17243
+ const value = asString(raw);
17244
+ return value !== void 0 && (value === "~" || value.startsWith("~/") || isAbsolute3(value)) ? value : void 0;
17245
+ },
17246
+ expected: "an absolute path, or one starting with `~/`",
17247
+ merge: "prioritize-local",
17248
+ example: "~/Library/Android/sdk"
17249
+ },
17235
17250
  {
17236
17251
  key: "recordings.directory",
17237
17252
  description: "Directory where finished screen recordings (mp4) are saved on the client host. Absolute, `~`-prefixed, or relative to the project root (home dir when not in a project). Unset \u21D2 `.argent/recordings` under the project root.",
@@ -17404,7 +17419,7 @@ async function writeDurableUnique(dir, filename, write) {
17404
17419
  function durableSaveTarget(handle) {
17405
17420
  if (typeof handle.saveDir !== "string" || !handle.saveDir || handle.archive) return null;
17406
17421
  const rel = normalize(handle.saveDir);
17407
- if (isAbsolute3(rel) || rel === ".." || rel.startsWith(`..${sep2}`) || rel.split(sep2).includes("..")) {
17422
+ if (isAbsolute4(rel) || rel === ".." || rel.startsWith(`..${sep2}`) || rel.split(sep2).includes("..")) {
17408
17423
  return null;
17409
17424
  }
17410
17425
  if (!ALLOWED_SAVE_DIRS.has(rel)) return null;