History

[codex] Avoid shell for Node executable spawns (#2952)

Julius Marminge committed 5 months ago

Commit a74dfd41 parent 49c1b644 files · +3 −8Browse files

Unified · Split

4 files
  1. apps/server/scripts/cli.ts +0 −2
  2. packages/effect-acp/src/client.test.ts +1 −2
  3. packages/effect-acp/src/protocol.test.ts +1 −2
  4. packages/effect-codex-app-server/src/client.test.ts +1 −2
apps/server/scripts/cli.ts+0−2
@@ -175,8 +175,6 @@ const buildCmd = Command.make( · 174 unmodified lines
175 cwd: serverDir,175 cwd: serverDir,
176 stdout: config.verbose ? "inherit" : "ignore",176 stdout: config.verbose ? "inherit" : "ignore",
177 stderr: "inherit",177 stderr: "inherit",
178 // Windows needs shell mode to resolve `.cmd` shims on PATH.
179 shell: process.platform === "win32",
180 }),178 }),
181 );179 );
182 180
packages/effect-acp/src/client.test.ts+1−2
@@ -34,9 +34,8 @@ it.layer(NodeServices.layer)("effect-acp client", (it) => { · 33 unmodified lines
34 Effect.gen(function* () {34 Effect.gen(function* () {
35 const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;35 const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
36 const path = yield* Path.Path;36 const path = yield* Path.Path;
37 const command = ChildProcess.make("node", mockPeerArgs(yield* mockPeerPath), {37 const command = ChildProcess.make(process.execPath, mockPeerArgs(yield* mockPeerPath), {
38 cwd: path.join(import.meta.dirname, ".."),38 cwd: path.join(import.meta.dirname, ".."),
39 shell: process.platform === "win32",
40 ...(env ? { env: { ...process.env, ...env } } : {}),39 ...(env ? { env: { ...process.env, ...env } } : {}),
41 });40 });
42 return yield* spawner.spawn(command);41 return yield* spawner.spawn(command);
packages/effect-acp/src/protocol.test.ts+1−2
@@ -57,9 +57,8 @@ const makeHandle = (env?: Record<string, string>) => · 56 unmodified lines
57 Effect.gen(function* () {57 Effect.gen(function* () {
58 const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;58 const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
59 const path = yield* Path.Path;59 const path = yield* Path.Path;
60 const command = ChildProcess.make("node", mockPeerArgs(yield* mockPeerPath), {60 const command = ChildProcess.make(process.execPath, mockPeerArgs(yield* mockPeerPath), {
61 cwd: path.join(import.meta.dirname, ".."),61 cwd: path.join(import.meta.dirname, ".."),
62 shell: process.platform === "win32",
63 ...(env ? { env: { ...process.env, ...env } } : {}),62 ...(env ? { env: { ...process.env, ...env } } : {}),
64 });63 });
65 return yield* spawner.spawn(command);64 return yield* spawner.spawn(command);
packages/effect-codex-app-server/src/client.test.ts+1−2
@@ -22,9 +22,8 @@ it.layer(NodeServices.layer)("effect-codex-app-server client", (it) => { · 21 unmodified lines
22 const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;22 const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
23 const path = yield* Path.Path;23 const path = yield* Path.Path;
24 const peerCwd = path.join(import.meta.dirname, "..");24 const peerCwd = path.join(import.meta.dirname, "..");
25 const command = ChildProcess.make("node", mockPeerArgs(yield* mockPeerPath), {25 const command = ChildProcess.make(process.execPath, mockPeerArgs(yield* mockPeerPath), {
26 cwd: peerCwd,26 cwd: peerCwd,
27 shell: process.platform === "win32",
28 });27 });
29 return yield* spawner.spawn(command);28 return yield* spawner.spawn(command);
30 });29 });

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t