@effect/platform-node 0.16.1 → 0.17.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.
@@ -48,6 +48,10 @@ const runCommand = fileSystem => command => {
48
48
  ...Object.fromEntries(command.env)
49
49
  }
50
50
  });
51
+ let exited = false;
52
+ handle.on("exit", () => {
53
+ exited = true;
54
+ });
51
55
  // If starting the process throws an error, make sure to capture it
52
56
  handle.on("error", err => {
53
57
  handle.kill("SIGKILL");
@@ -61,6 +65,9 @@ const runCommand = fileSystem => command => {
61
65
  stdin = (0, _sink.fromWritable)(() => handle.stdin, err => toPlatformError("toWritable", toError(err), command));
62
66
  }
63
67
  const exitCode = Effect.async(resume => {
68
+ if (exited) {
69
+ return resume(handle.exitCode !== null ? Effect.succeed(CommandExecutor.ExitCode(handle.exitCode)) : Effect.fail(toPlatformError("exitCode", new globalThis.Error(`Process interrupted due to receipt of signal: ${handle.signalCode}`), command)));
70
+ }
64
71
  handle.on("exit", (code, signal) => {
65
72
  if (code !== null) {
66
73
  resume(Effect.succeed(CommandExecutor.ExitCode(code)));
@@ -1 +1 @@
1
- {"version":3,"file":"commandExecutor.js","names":["_Function","require","Option","_interopRequireWildcard","Effect","Layer","_error","_sink","_stream","Command","CommandExecutor","FileSystem","Sink","Stream","ChildProcess","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","inputToStdioOption","stdin","match","onNone","onSome","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","handleErrnoException","runCommand","fileSystem","_tag","tap","process","unit","forkDaemon","run","flatMap","env","async","resume","handle","spawn","stdio","stdout","stderr","cwd","getOrElse","constUndefined","fromEntries","on","kill","fail","pid","drain","fromWritable","exitCode","code","signal","succeed","ExitCode","sync","isRunning","signalCode","killed","ProcessId","fromReadable","transduce","ProcessTypeId","zipRight","dir","access","head","tail","slice","initial","last","stream","layer","effect","map","makeExecutor","exports"],"sources":["../src/internal/commandExecutor.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"commandExecutor.js","names":["_Function","require","Option","_interopRequireWildcard","Effect","Layer","_error","_sink","_stream","Command","CommandExecutor","FileSystem","Sink","Stream","ChildProcess","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","inputToStdioOption","stdin","match","onNone","onSome","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","handleErrnoException","runCommand","fileSystem","_tag","tap","process","unit","forkDaemon","run","flatMap","env","async","resume","handle","spawn","stdio","stdout","stderr","cwd","getOrElse","constUndefined","fromEntries","exited","on","kill","fail","pid","drain","fromWritable","exitCode","succeed","ExitCode","signalCode","code","signal","sync","isRunning","killed","ProcessId","fromReadable","transduce","ProcessTypeId","zipRight","dir","access","head","tail","slice","initial","last","stream","layer","effect","map","makeExecutor","exports"],"sources":["../src/internal/commandExecutor.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -40,6 +40,10 @@ const runCommand = fileSystem => command => {
40
40
  ...Object.fromEntries(command.env)
41
41
  }
42
42
  });
43
+ let exited = false;
44
+ handle.on("exit", () => {
45
+ exited = true;
46
+ });
43
47
  // If starting the process throws an error, make sure to capture it
44
48
  handle.on("error", err => {
45
49
  handle.kill("SIGKILL");
@@ -53,6 +57,9 @@ const runCommand = fileSystem => command => {
53
57
  stdin = fromWritable(() => handle.stdin, err => toPlatformError("toWritable", toError(err), command));
54
58
  }
55
59
  const exitCode = Effect.async(resume => {
60
+ if (exited) {
61
+ return resume(handle.exitCode !== null ? Effect.succeed(CommandExecutor.ExitCode(handle.exitCode)) : Effect.fail(toPlatformError("exitCode", new globalThis.Error(`Process interrupted due to receipt of signal: ${handle.signalCode}`), command)));
62
+ }
56
63
  handle.on("exit", (code, signal) => {
57
64
  if (code !== null) {
58
65
  resume(Effect.succeed(CommandExecutor.ExitCode(code)));
@@ -1 +1 @@
1
- {"version":3,"file":"commandExecutor.mjs","names":["constUndefined","Option","Effect","Layer","handleErrnoException","fromWritable","fromReadable","Command","CommandExecutor","FileSystem","Sink","Stream","ChildProcess","inputToStdioOption","stdin","match","onNone","onSome","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","runCommand","fileSystem","_tag","tap","process","unit","forkDaemon","run","flatMap","env","async","resume","handle","spawn","stdio","stdout","stderr","cwd","getOrElse","Object","fromEntries","on","kill","fail","pid","drain","exitCode","code","signal","succeed","ExitCode","sync","isRunning","signalCode","killed","ProcessId","transduce","ProcessTypeId","zipRight","dir","access","head","tail","slice","initial","last","stream","layer","effect","map","makeExecutor"],"sources":["../../src/internal/commandExecutor.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"commandExecutor.mjs","names":["constUndefined","Option","Effect","Layer","handleErrnoException","fromWritable","fromReadable","Command","CommandExecutor","FileSystem","Sink","Stream","ChildProcess","inputToStdioOption","stdin","match","onNone","onSome","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","runCommand","fileSystem","_tag","tap","process","unit","forkDaemon","run","flatMap","env","async","resume","handle","spawn","stdio","stdout","stderr","cwd","getOrElse","Object","fromEntries","exited","on","kill","fail","pid","drain","exitCode","succeed","ExitCode","signalCode","code","signal","sync","isRunning","killed","ProcessId","transduce","ProcessTypeId","zipRight","dir","access","head","tail","slice","initial","last","stream","layer","effect","map","makeExecutor"],"sources":["../../src/internal/commandExecutor.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-node",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -26,12 +26,12 @@
26
26
  "author": "Effect contributors",
27
27
  "dependencies": {
28
28
  "busboy": "^1.6.0",
29
- "mime": "^3.0.0"
29
+ "mime": "^3.0.0",
30
+ "@effect/platform": "^0.16.1"
30
31
  },
31
32
  "peerDependencies": {
32
33
  "@effect/data": "^0.18.5",
33
34
  "@effect/io": "^0.40.1",
34
- "@effect/stream": "^0.36.0",
35
- "@effect/platform": "^0.16.1"
35
+ "@effect/stream": "^0.36.0"
36
36
  }
37
37
  }
@@ -56,6 +56,10 @@ const runCommand =
56
56
  cwd: Option.getOrElse(command.cwd, constUndefined),
57
57
  env: { ...env, ...Object.fromEntries(command.env) }
58
58
  })
59
+ let exited = false
60
+ handle.on("exit", () => {
61
+ exited = true
62
+ })
59
63
 
60
64
  // If starting the process throws an error, make sure to capture it
61
65
  handle.on("error", (err) => {
@@ -76,6 +80,20 @@ const runCommand =
76
80
  }
77
81
 
78
82
  const exitCode: CommandExecutor.Process["exitCode"] = Effect.async((resume) => {
83
+ if (exited) {
84
+ return resume(
85
+ handle.exitCode !== null
86
+ ? Effect.succeed(CommandExecutor.ExitCode(handle.exitCode))
87
+ : Effect.fail(
88
+ toPlatformError(
89
+ "exitCode",
90
+ new globalThis.Error(`Process interrupted due to receipt of signal: ${handle.signalCode}`),
91
+ command
92
+ )
93
+ )
94
+ )
95
+ }
96
+
79
97
  handle.on("exit", (code, signal) => {
80
98
  if (code !== null) {
81
99
  resume(Effect.succeed(CommandExecutor.ExitCode(code)))