@swmansion/argent 0.22.1-next.1 → 0.22.1-next.10

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.
@@ -1,29 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
 
4
- // Thin dispatcher exposed as the `argent-simulator-server` bin entry in
5
- // package.json. Picks the platform-specific simulator-server binary at
6
- // invocation time and execs it with the caller's args. Required because
7
- // npm's `bin` field resolves to a single file regardless of host platform,
8
- // but the binary itself is platform-specific (Mach-O for darwin, ELF for
9
- // linux). The native-devtools-ios resolver uses the same per-platform
10
- // subdirectory layout, so a stable layout lives in exactly one place.
4
+ // Dispatcher published as the `argent-simulator-server` bin entry. npm's `bin`
5
+ // field resolves to a single file regardless of host platform, but the
6
+ // simulator-server binary is platform-specific, so pick it at invocation time
7
+ // and spawn it with the caller's args.
11
8
 
12
9
  const { spawn } = require("node:child_process");
13
10
  const path = require("node:path");
14
11
  const fs = require("node:fs");
15
12
 
16
- // Mirrors hostPlatformKey() in @argent/native-devtools-ios: darwin ships a
17
- // universal (lipo) binary, but Linux binaries are single-arch ELFs, so arm64
18
- // Linux resolves to its own "linux-arm64" directory next to the x86_64 one
19
- // ("linux"). Duplicated here because the dispatcher must stay a standalone
20
- // file — it ships verbatim as the npm `bin` entry.
13
+ // Mirrors hostPlatformKey() in @argent/native-devtools-ios; duplicated because
14
+ // this file ships verbatim as the npm `bin` entry and can't import. darwin ships
15
+ // a universal (lipo) binary, but Linux binaries are single-arch ELFs, so arm64
16
+ // Linux gets its own "linux-arm64" directory next to the x86_64 one ("linux").
21
17
  const platformKey =
22
18
  process.platform === "linux" && process.arch === "arm64" ? "linux-arm64" : process.platform;
23
19
 
24
- // PE `.exe` on Windows, extensionless ELF/Mach-O elsewhere. Mirrors
25
- // simulatorServerBinaryName() in @argent/native-devtools-ios; inlined because
26
- // this file ships verbatim as the npm `bin` entry and can't import.
20
+ // Mirrors simulatorServerBinaryName() in @argent/native-devtools-ios; inlined
21
+ // because this file ships verbatim as the npm `bin` entry and can't import.
27
22
  const binaryName = process.platform === "win32" ? "simulator-server.exe" : "simulator-server";
28
23
 
29
24
  const binary = path.join(__dirname, platformKey, binaryName);
@@ -39,9 +34,7 @@ const child = spawn(binary, process.argv.slice(2), { stdio: "inherit" });
39
34
 
40
35
  // Forward termination signals so a supervisor that signals only the dispatcher
41
36
  // PID (systemd, `kill -TERM <pid>`, container stop) doesn't orphan the child.
42
- // Ctrl+C in a TTY already broadcasts to the whole process group so the child
43
- // receives it too — these handlers cover the non-TTY case where the parent
44
- // would otherwise exit alone and leave the binary reparented to init.
37
+ // A TTY Ctrl+C already reaches the whole process group.
45
38
  /** @type {NodeJS.Signals[]} */
46
39
  const FORWARDED_SIGNALS = ["SIGTERM", "SIGINT", "SIGHUP"];
47
40
  for (const sig of FORWARDED_SIGNALS) {
@@ -50,7 +43,7 @@ for (const sig of FORWARDED_SIGNALS) {
50
43
  try {
51
44
  child.kill(sig);
52
45
  } catch {
53
- // Already exited between the signal arriving and us forwarding it.
46
+ // Child already exited between the signal arriving and forwarding.
54
47
  }
55
48
  }
56
49
  });
Binary file
Binary file
Binary file
Binary file
@@ -1,11 +1,11 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
- // Installed package version, read from the shipped package.json. Lets the
4
- // launcher detect a stale tool-server after an in-place version bump (a local
5
- // devDependency update rewrites tool-server.cjs at the same path) and respawn
6
- // it with no install-time hook: install scripts are frequently disabled
7
- // (--ignore-scripts, pnpm's build gate, Yarn PnP, locked-down CI), which is
8
- // why argent ships no postinstall script at all.
3
+ // Installed package version, read from the shipped package.json. Feeds the
4
+ // launcher's version gate as the fallback for its on-disk read, so an in-place
5
+ // bump (a local devDependency update rewrites tool-server.cjs at the same
6
+ // path) retires the stale tool-server with no install-time hook: install
7
+ // scripts are frequently disabled (--ignore-scripts, pnpm's build gate, Yarn
8
+ // PnP, locked-down CI), which is why argent ships no postinstall script.
9
9
  function readPackageVersion() {
10
10
  try {
11
11
  const pkg = JSON.parse(fs.readFileSync(path.join(import.meta.dirname, "..", "package.json"), "utf8"));
@@ -46,12 +46,10 @@ function findDeclaringRoot(startDir) {
46
46
  // The version-STABLE package dir: the conventional <dir>/node_modules/<pkg>
47
47
  // symlink closest to cwd that resolves to the running package. Unlike
48
48
  // import.meta's realpath — pnpm's version-pinned .pnpm store dir, pruned on a
49
- // bump — this symlink survives an in-place update. In a pnpm WORKSPACE the
50
- // symlink sits in the DECLARING member's node_modules, a level below the root
51
- // where the .pnpm store lives, so scan every level from cwd up rather than
52
- // only the level where the store matched. Only ever returns a path whose
53
- // realpath equals the running package, so it can never point at a different
54
- // install — just a different (stable) alias of the same real dir.
49
+ // bump — this symlink survives an in-place update. Scan every level from cwd
50
+ // up: in a pnpm WORKSPACE the symlink sits in the DECLARING member's
51
+ // node_modules, below the root where the .pnpm store lives. The realpath check
52
+ // means the result is only ever another alias of the same real dir.
55
53
  export function findStablePackageDir(startDir, packageRoot) {
56
54
  let dir = startDir;
57
55
  for (;;) {
@@ -72,8 +70,7 @@ export function findStablePackageDir(startDir, packageRoot) {
72
70
  // Install topology of this running package: a project's local devDependency
73
71
  // (package root inside a node_modules found by walking up from cwd) or the
74
72
  // global PATH install — and, for local, WHICH project. Classified at process
75
- // start, the moment cwd is trustworthy (a committed local MCP command only
76
- // resolves with cwd at the project root); the launcher forwards both as
73
+ // start, while cwd is still trustworthy; the launcher forwards both as
77
74
  // ARGENT_INSTALL_KIND / ARGENT_PROJECT_ROOT so update-argent doesn't re-infer
78
75
  // them from the detached server's editor-chosen cwd.
79
76
  function classifyInstall() {
@@ -82,8 +79,8 @@ function classifyInstall() {
82
79
  let cwd;
83
80
  try {
84
81
  packageRoot = fs.realpathSync(path.join(import.meta.dirname, ".."));
85
- // cwd can throw (ENOENT) when the shell's directory was deleted and this
86
- // runs at module import, before any fatal handler is installed.
82
+ // cwd throws (ENOENT) when the shell's directory was deleted, and this runs
83
+ // at module import, before fatal handlers are installed.
87
84
  cwd = process.cwd();
88
85
  dir = cwd;
89
86
  }
@@ -94,11 +91,9 @@ function classifyInstall() {
94
91
  try {
95
92
  const nmReal = fs.realpathSync(path.join(dir, "node_modules"));
96
93
  if (packageRoot === nmReal || packageRoot.startsWith(nmReal + path.sep)) {
97
- // Local install. Prefer the DECLARING root over this physical hoist
98
- // root: in a hoisted workspace the declaring manifest sits at cwd
99
- // (the member root) or an ancestor below `dir`. The version-stable
100
- // package dir (used for runtime paths that must survive a pnpm store
101
- // prune) is found by its own cwd-up scan — see findStablePackageDir.
94
+ // Prefer the DECLARING root over this physical hoist root: in a
95
+ // hoisted workspace the declaring manifest sits at cwd (the member
96
+ // root) or an ancestor below `dir`.
102
97
  return {
103
98
  kind: "local",
104
99
  projectRoot: findDeclaringRoot(cwd) ?? dir,
@@ -114,10 +109,9 @@ function classifyInstall() {
114
109
  break;
115
110
  dir = parent;
116
111
  }
117
- // Yarn PnP local installs have no node_modules anywhere: the package runs
118
- // from the project's .yarn dir (unplugged/cache). Falling through to
119
- // "global" would make the agent-triggered update target a global install
120
- // the user may not even have.
112
+ // Yarn PnP has no node_modules anywhere: the package runs from the project's
113
+ // .yarn dir. Falling through to "global" would point the update at a global
114
+ // install the user may not even have.
121
115
  if (packageRoot.includes(`${path.sep}.yarn${path.sep}`)) {
122
116
  const declRoot = findDeclaringRoot(cwd);
123
117
  if (declRoot)
@@ -126,9 +120,8 @@ function classifyInstall() {
126
120
  return { kind: "global" };
127
121
  }
128
122
  const classifiedInstall = classifyInstall();
129
- // __dirname in ESM (compiled from TS) will be dist/. Bundle artifacts ship
130
- // next to the compiled launcher; prefer the version-stable package dir when
131
- // the classification found one (see classifyInstall).
123
+ // import.meta.dirname is dist/ in the published package, so ".." is the
124
+ // package root; prefer the version-stable alias when classification found one.
132
125
  const packageDir = classifiedInstall.stablePackageDir ?? path.join(import.meta.dirname, "..");
133
126
  export const BUNDLED_RUNTIME_PATHS = {
134
127
  bundlePath: path.join(packageDir, "dist", "tool-server.cjs"),
@@ -1 +1 @@
1
- {"version":3,"file":"bundled-paths.js","sourceRoot":"","sources":["../src/bundled-paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundled-paths.js","sourceRoot":"","sources":["../src/bundled-paths.ts"],"names":[],"mappings":"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"}