@effect/platform-node-shared 4.0.0-beta.5 → 4.0.0-beta.51
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.
- package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
- package/dist/NodeChildProcessSpawner.js +91 -115
- package/dist/NodeChildProcessSpawner.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +4 -3
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeFileSystem.d.ts.map +1 -1
- package/dist/NodeFileSystem.js +19 -23
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodeRuntime.d.ts.map +1 -1
- package/dist/NodeRuntime.js +2 -6
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeSink.d.ts.map +1 -1
- package/dist/NodeSink.js +7 -1
- package/dist/NodeSink.js.map +1 -1
- package/dist/NodeSocket.d.ts +4 -4
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +9 -8
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +2 -2
- package/dist/NodeSocketServer.d.ts.map +1 -1
- package/dist/NodeSocketServer.js +6 -6
- package/dist/NodeSocketServer.js.map +1 -1
- package/dist/NodeStdio.d.ts +0 -3
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +8 -4
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts.map +1 -1
- package/dist/NodeStream.js +8 -6
- package/dist/NodeStream.js.map +1 -1
- package/dist/NodeTerminal.d.ts.map +1 -1
- package/dist/NodeTerminal.js +2 -1
- package/dist/NodeTerminal.js.map +1 -1
- package/package.json +6 -6
- package/src/NodeChildProcessSpawner.ts +121 -135
- package/src/NodeClusterSocket.ts +4 -3
- package/src/NodeFileSystem.ts +26 -25
- package/src/NodeRuntime.ts +2 -6
- package/src/NodeSink.ts +7 -0
- package/src/NodeSocket.ts +11 -10
- package/src/NodeSocketServer.ts +6 -6
- package/src/NodeStdio.ts +26 -20
- package/src/NodeStream.ts +11 -8
- package/src/NodeTerminal.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeChildProcessSpawner.d.ts","sourceRoot":"","sources":["../src/NodeChildProcessSpawner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAIxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAMnC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAEpE,OAAO,
|
|
1
|
+
{"version":3,"file":"NodeChildProcessSpawner.d.ts","sourceRoot":"","sources":["../src/NodeChildProcessSpawner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAIxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAMnC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EACL,mBAAmB,EAKpB,MAAM,6CAA6C,CAAA;AAylBpD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,mBAAmB,EACnB,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CACQ,CAAA;AAM3C;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;IAC1E,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;CAC9D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,YAAY,CAAC,OAAO,KAC5B,iBAoCF,CAAA"}
|
|
@@ -8,9 +8,8 @@ import * as Predicate from "effect/Predicate";
|
|
|
8
8
|
import * as Sink from "effect/Sink";
|
|
9
9
|
import * as Stream from "effect/Stream";
|
|
10
10
|
import * as ChildProcess from "effect/unstable/process/ChildProcess";
|
|
11
|
-
import { ChildProcessSpawner, ExitCode, makeHandle, ProcessId } from "effect/unstable/process/ChildProcessSpawner";
|
|
11
|
+
import { ChildProcessSpawner, ExitCode, make as makeSpawner, makeHandle, ProcessId } from "effect/unstable/process/ChildProcessSpawner";
|
|
12
12
|
import * as NodeChildProcess from "node:child_process";
|
|
13
|
-
import * as NodeJSStream from "node:stream";
|
|
14
13
|
import { handleErrnoException } from "./internal/utils.js";
|
|
15
14
|
import * as NodeSink from "./NodeSink.js";
|
|
16
15
|
import * as NodeStream from "./NodeStream.js";
|
|
@@ -147,14 +146,14 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
147
146
|
{
|
|
148
147
|
// Create a sink to write to for input file descriptors
|
|
149
148
|
let sink = Sink.drain;
|
|
150
|
-
if (
|
|
149
|
+
if (nodeStream && "write" in nodeStream) {
|
|
151
150
|
sink = NodeSink.fromWritable({
|
|
152
151
|
evaluate: () => nodeStream,
|
|
153
152
|
onError: error => toPlatformError(`fromWritable(fd${fd})`, toError(error), command)
|
|
154
153
|
});
|
|
155
154
|
}
|
|
156
155
|
// If user provided a stream, pipe it into the sink
|
|
157
|
-
if (
|
|
156
|
+
if (config.stream) {
|
|
158
157
|
yield* Effect.forkScoped(Stream.run(config.stream, sink));
|
|
159
158
|
}
|
|
160
159
|
inputSinks.set(fd, sink);
|
|
@@ -164,14 +163,14 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
164
163
|
{
|
|
165
164
|
// Create a stream to read from for output file descriptors
|
|
166
165
|
let stream = Stream.empty;
|
|
167
|
-
if (
|
|
166
|
+
if (nodeStream && "read" in nodeStream) {
|
|
168
167
|
stream = NodeStream.fromReadable({
|
|
169
168
|
evaluate: () => nodeStream,
|
|
170
169
|
onError: error => toPlatformError(`fromReadable(fd${fd})`, toError(error), command)
|
|
171
170
|
});
|
|
172
171
|
}
|
|
173
172
|
// If user provided a sink, transduce the stream through it
|
|
174
|
-
if (
|
|
173
|
+
if (config.sink) {
|
|
175
174
|
stream = Stream.transduce(stream, config.sink);
|
|
176
175
|
}
|
|
177
176
|
outputStreams.set(fd, stream);
|
|
@@ -202,104 +201,22 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
202
201
|
}
|
|
203
202
|
return Effect.succeed(sink);
|
|
204
203
|
});
|
|
205
|
-
/**
|
|
206
|
-
* Given that `NodeStream.fromReadable` uses `.read` to read data from the
|
|
207
|
-
* provided `Readable` stream, consumers would race to read data from the
|
|
208
|
-
* `handle.stdout` and `handle.stderr` streams if they were also simultaneously
|
|
209
|
-
* reading from the `handle.all` stream.
|
|
210
|
-
*
|
|
211
|
-
* To solve this, we leverage the fact that NodeJS `Readable` streams can be
|
|
212
|
-
* piped to multiple destinations simultaneously. The logic for the solution
|
|
213
|
-
* is as follows:
|
|
214
|
-
*
|
|
215
|
-
* 1. Pipe each original stream to two `PassThrough` streams:
|
|
216
|
-
* - One dedicated PassThrough for individual access (.stdout / .stderr)
|
|
217
|
-
* - One shared PassThrough for combined access (.all)
|
|
218
|
-
* 2. Create Effect streams from the PassThrough streams (not the originals)
|
|
219
|
-
*
|
|
220
|
-
* **Diagram**
|
|
221
|
-
*
|
|
222
|
-
* ┌─────────────┐
|
|
223
|
-
* ┌────►│ passthrough │────► Effect stdout Stream
|
|
224
|
-
* │ └─────────────┘
|
|
225
|
-
* childProcess.stdout ────┤
|
|
226
|
-
* │ ┌─────────────┐
|
|
227
|
-
* └────►│ passthrough │────► Effect all Stream
|
|
228
|
-
* ┌────►│ │
|
|
229
|
-
* childProcess.stderr ────┤ └─────────────┘
|
|
230
|
-
* │ ┌─────────────┐
|
|
231
|
-
* └────►│ passthrough │────► Effect stderr Stream
|
|
232
|
-
* └─────────────┘
|
|
233
|
-
*/
|
|
234
204
|
const setupChildOutputStreams = (command, childProcess, stdoutConfig, stderrConfig) => {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
// Track stream endings for the combined stream
|
|
246
|
-
const totalStreams = (Predicate.isNotNull(nodeStdout) ? 1 : 0) + (Predicate.isNotNull(nodeStderr) ? 1 : 0);
|
|
247
|
-
let endedCount = 0;
|
|
248
|
-
const onStreamEnd = () => {
|
|
249
|
-
endedCount++;
|
|
250
|
-
if (endedCount >= totalStreams) {
|
|
251
|
-
combinedPassThrough.end();
|
|
252
|
-
}
|
|
253
|
-
};
|
|
254
|
-
// Pipe stdout to both its own PassThrough and the combined PassThrough
|
|
255
|
-
if (Predicate.isNotNull(nodeStdout) && Predicate.isNotNull(stdoutPassThrough)) {
|
|
256
|
-
nodeStdout.pipe(stdoutPassThrough);
|
|
257
|
-
nodeStdout.pipe(combinedPassThrough, {
|
|
258
|
-
end: false
|
|
259
|
-
});
|
|
260
|
-
nodeStdout.once("end", onStreamEnd);
|
|
205
|
+
let stdout = childProcess.stdout ? NodeStream.fromReadable({
|
|
206
|
+
evaluate: () => childProcess.stdout,
|
|
207
|
+
onError: error => toPlatformError("fromReadable(stdout)", toError(error), command)
|
|
208
|
+
}) : Stream.empty;
|
|
209
|
+
let stderr = childProcess.stderr ? NodeStream.fromReadable({
|
|
210
|
+
evaluate: () => childProcess.stderr,
|
|
211
|
+
onError: error => toPlatformError("fromReadable(stderr)", toError(error), command)
|
|
212
|
+
}) : Stream.empty;
|
|
213
|
+
if (Sink.isSink(stdoutConfig.stream)) {
|
|
214
|
+
stdout = Stream.transduce(stdout, stdoutConfig.stream);
|
|
261
215
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
nodeStderr.pipe(stderrPassThrough);
|
|
265
|
-
nodeStderr.pipe(combinedPassThrough, {
|
|
266
|
-
end: false
|
|
267
|
-
});
|
|
268
|
-
nodeStderr.once("end", onStreamEnd);
|
|
269
|
-
}
|
|
270
|
-
// Handle edge case: no streams available
|
|
271
|
-
if (totalStreams === 0) {
|
|
272
|
-
combinedPassThrough.end();
|
|
216
|
+
if (Sink.isSink(stderrConfig.stream)) {
|
|
217
|
+
stderr = Stream.transduce(stderr, stderrConfig.stream);
|
|
273
218
|
}
|
|
274
|
-
|
|
275
|
-
let stdout = Stream.empty;
|
|
276
|
-
if (Predicate.isNotNull(stdoutPassThrough)) {
|
|
277
|
-
stdout = NodeStream.fromReadable({
|
|
278
|
-
evaluate: () => stdoutPassThrough,
|
|
279
|
-
onError: error => toPlatformError("fromReadable(stdout)", toError(error), command)
|
|
280
|
-
});
|
|
281
|
-
// Apply user-provided Sink if configured
|
|
282
|
-
if (Sink.isSink(stdoutConfig.stream)) {
|
|
283
|
-
stdout = Stream.transduce(stdout, stdoutConfig.stream);
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
// Create Effect stream for stderr from its PassThrough
|
|
287
|
-
let stderr = Stream.empty;
|
|
288
|
-
if (Predicate.isNotNull(stderrPassThrough)) {
|
|
289
|
-
stderr = NodeStream.fromReadable({
|
|
290
|
-
evaluate: () => stderrPassThrough,
|
|
291
|
-
onError: error => toPlatformError("fromReadable(stderr)", toError(error), command)
|
|
292
|
-
});
|
|
293
|
-
// Apply user-provided Sink if configured
|
|
294
|
-
if (Sink.isSink(stderrConfig.stream)) {
|
|
295
|
-
stderr = Stream.transduce(stderr, stderrConfig.stream);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
// Create Effect stream for combined output from the combined PassThrough
|
|
299
|
-
const all = NodeStream.fromReadable({
|
|
300
|
-
evaluate: () => combinedPassThrough,
|
|
301
|
-
onError: error => toPlatformError("fromReadable(all)", toError(error), command)
|
|
302
|
-
});
|
|
219
|
+
const all = Stream.merge(stdout, stderr);
|
|
303
220
|
return {
|
|
304
221
|
stdout,
|
|
305
222
|
stderr,
|
|
@@ -341,6 +258,19 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
341
258
|
catch: error => toPlatformError("kill", toError(error), command)
|
|
342
259
|
});
|
|
343
260
|
};
|
|
261
|
+
const killProcessGroupOnExit = (childProcess, signal) => {
|
|
262
|
+
if (globalThis.process.platform === "win32") {
|
|
263
|
+
NodeChildProcess.exec(`taskkill /pid ${childProcess.pid} /T /F`, () => {
|
|
264
|
+
// ignore errors during best-effort cleanup
|
|
265
|
+
});
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
try {
|
|
269
|
+
globalThis.process.kill(-childProcess.pid, signal);
|
|
270
|
+
} catch {
|
|
271
|
+
// ignore errors during best-effort cleanup
|
|
272
|
+
}
|
|
273
|
+
};
|
|
344
274
|
const killProcess = (command, childProcess, signal) => Effect.suspend(() => {
|
|
345
275
|
const killed = childProcess.kill(signal);
|
|
346
276
|
if (!killed) {
|
|
@@ -353,7 +283,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
353
283
|
const killSignal = options?.killSignal ?? "SIGTERM";
|
|
354
284
|
return Predicate.isUndefined(options?.forceKillAfter) ? kill(command, childProcess, killSignal) : Effect.timeoutOrElse(kill(command, childProcess, killSignal), {
|
|
355
285
|
duration: options.forceKillAfter,
|
|
356
|
-
|
|
286
|
+
orElse: () => kill(command, childProcess, "SIGKILL")
|
|
357
287
|
});
|
|
358
288
|
};
|
|
359
289
|
/**
|
|
@@ -389,6 +319,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
389
319
|
const stdoutConfig = resolveOutputOption(cmd.options, "stdout");
|
|
390
320
|
const stderrConfig = resolveOutputOption(cmd.options, "stderr");
|
|
391
321
|
const resolvedAdditionalFds = resolveAdditionalFds(cmd.options);
|
|
322
|
+
let isReferenced = true;
|
|
323
|
+
let cleanupOnNonZeroExit = false;
|
|
392
324
|
const cwd = yield* resolveWorkingDirectory(cmd.options);
|
|
393
325
|
const env = resolveEnvironment(cmd.options);
|
|
394
326
|
const stdio = buildStdioArray(stdinConfig, stdoutConfig, stderrConfig, resolvedAdditionalFds);
|
|
@@ -410,10 +342,33 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
410
342
|
}
|
|
411
343
|
return yield* Effect.void;
|
|
412
344
|
}
|
|
345
|
+
if (!isReferenced) {
|
|
346
|
+
return yield* Effect.void;
|
|
347
|
+
}
|
|
413
348
|
// Process is still running, kill it
|
|
414
349
|
return yield* killWithTimeout((command, childProcess, signal) => Effect.catch(killProcessGroup(command, childProcess, signal), () => killProcess(command, childProcess, signal))).pipe(Effect.andThen(Deferred.await(exitSignal)), Effect.ignore);
|
|
415
350
|
}));
|
|
416
351
|
const pid = ProcessId(childProcess.pid);
|
|
352
|
+
childProcess.on("exit", code => {
|
|
353
|
+
if (cleanupOnNonZeroExit && code !== 0 && Predicate.isNotNull(code)) {
|
|
354
|
+
killProcessGroupOnExit(childProcess, cmd.options.killSignal ?? "SIGTERM");
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
const reref = Effect.sync(() => {
|
|
358
|
+
if (!isReferenced) {
|
|
359
|
+
childProcess.ref();
|
|
360
|
+
isReferenced = true;
|
|
361
|
+
cleanupOnNonZeroExit = false;
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
const unref = Effect.sync(() => {
|
|
365
|
+
if (isReferenced) {
|
|
366
|
+
childProcess.unref();
|
|
367
|
+
isReferenced = false;
|
|
368
|
+
cleanupOnNonZeroExit = true;
|
|
369
|
+
}
|
|
370
|
+
return reref;
|
|
371
|
+
});
|
|
417
372
|
const stdin = yield* setupChildStdin(cmd, childProcess, stdinConfig);
|
|
418
373
|
const {
|
|
419
374
|
all,
|
|
@@ -449,7 +404,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
449
404
|
stderr,
|
|
450
405
|
all,
|
|
451
406
|
getInputFd,
|
|
452
|
-
getOutputFd
|
|
407
|
+
getOutputFd,
|
|
408
|
+
unref
|
|
453
409
|
});
|
|
454
410
|
}
|
|
455
411
|
case "PipedCommand":
|
|
@@ -459,31 +415,31 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
459
415
|
pipeOptions
|
|
460
416
|
} = flattenCommand(cmd);
|
|
461
417
|
const [root, ...pipeline] = commands;
|
|
462
|
-
|
|
418
|
+
const handles = [yield* spawnCommand(root)];
|
|
463
419
|
for (let i = 0; i < pipeline.length; i++) {
|
|
464
420
|
const command = pipeline[i];
|
|
465
421
|
const options = pipeOptions[i] ?? {};
|
|
466
422
|
const stdinConfig = resolveStdinOption(command.options);
|
|
467
423
|
// Get the appropriate stream from the source based on `from` option
|
|
468
|
-
const sourceStream = Stream.unwrap(Effect.
|
|
424
|
+
const sourceStream = Stream.unwrap(Effect.succeed(getSourceStream(handles[handles.length - 1], options.from)));
|
|
469
425
|
// Determine where to pipe: stdin or custom fd
|
|
470
426
|
const toOption = options.to ?? "stdin";
|
|
471
427
|
if (toOption === "stdin") {
|
|
472
428
|
// Pipe to stdin (default behavior)
|
|
473
|
-
|
|
429
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
474
430
|
...command.options,
|
|
475
431
|
stdin: {
|
|
476
432
|
...stdinConfig,
|
|
477
433
|
stream: sourceStream
|
|
478
434
|
}
|
|
479
|
-
}));
|
|
435
|
+
})));
|
|
480
436
|
} else {
|
|
481
437
|
// Pipe to custom fd (fd3, fd4, etc.)
|
|
482
438
|
const fd = ChildProcess.parseFdName(toOption);
|
|
483
439
|
if (Predicate.isNotUndefined(fd)) {
|
|
484
440
|
const fdName = ChildProcess.fdName(fd);
|
|
485
441
|
const existingFds = command.options.additionalFds ?? {};
|
|
486
|
-
|
|
442
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
487
443
|
...command.options,
|
|
488
444
|
additionalFds: {
|
|
489
445
|
...existingFds,
|
|
@@ -492,26 +448,46 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
492
448
|
stream: sourceStream
|
|
493
449
|
}
|
|
494
450
|
}
|
|
495
|
-
}));
|
|
451
|
+
})));
|
|
496
452
|
} else {
|
|
497
453
|
// Invalid fd name, fall back to stdin
|
|
498
|
-
|
|
454
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
499
455
|
...command.options,
|
|
500
456
|
stdin: {
|
|
501
457
|
...stdinConfig,
|
|
502
458
|
stream: sourceStream
|
|
503
459
|
}
|
|
504
|
-
}));
|
|
460
|
+
})));
|
|
505
461
|
}
|
|
506
462
|
}
|
|
507
463
|
}
|
|
508
|
-
|
|
464
|
+
const handle = handles[handles.length - 1];
|
|
465
|
+
const unref = Effect.gen(function* () {
|
|
466
|
+
const rerefs = [];
|
|
467
|
+
for (const handle of handles) {
|
|
468
|
+
rerefs.push(yield* handle.unref);
|
|
469
|
+
}
|
|
470
|
+
return Effect.forEach([...rerefs].reverse(), reref => reref, {
|
|
471
|
+
discard: true
|
|
472
|
+
});
|
|
473
|
+
});
|
|
474
|
+
return makeHandle({
|
|
475
|
+
pid: handle.pid,
|
|
476
|
+
exitCode: handle.exitCode,
|
|
477
|
+
isRunning: handle.isRunning,
|
|
478
|
+
kill: handle.kill,
|
|
479
|
+
stdin: handle.stdin,
|
|
480
|
+
stdout: handle.stdout,
|
|
481
|
+
stderr: handle.stderr,
|
|
482
|
+
all: handle.all,
|
|
483
|
+
getInputFd: handle.getInputFd,
|
|
484
|
+
getOutputFd: handle.getOutputFd,
|
|
485
|
+
unref
|
|
486
|
+
});
|
|
509
487
|
}
|
|
510
488
|
}
|
|
511
489
|
});
|
|
512
|
-
return
|
|
513
|
-
spawn: spawnCommand
|
|
514
|
-
});
|
|
490
|
+
return makeSpawner(spawnCommand);
|
|
515
491
|
});
|
|
516
492
|
/**
|
|
517
493
|
* Layer providing the `NodeChildProcessSpawner` implementation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeChildProcessSpawner.js","names":["Deferred","Effect","Exit","FileSystem","Layer","Path","Predicate","Sink","Stream","ChildProcess","ChildProcessSpawner","ExitCode","makeHandle","ProcessId","NodeChildProcess","NodeJSStream","handleErrnoException","NodeSink","NodeStream","toError","error","globalThis","Error","String","toPlatformError","method","command","commands","flattenCommand","commandStr","reduce","acc","curr","cmd","args","join","length","make","gen","fs","path","resolveWorkingDirectory","fnUntraced","options","isUndefined","cwd","undefined","access","resolve","resolveEnvironment","extendEnv","process","env","inputToStdioOption","input","isStream","outputToStdioOption","isSink","resolveStdinOption","defaultConfig","stream","encoding","endOnDone","stdin","resolveOutputOption","streamName","option","resolveAdditionalFds","additionalFds","result","name","config","Object","entries","fd","parseFdName","isNotUndefined","push","sort","a","b","buildStdioArray","stdinConfig","stdoutConfig","stderrConfig","stdio","maxFd","max","Math","i","setupAdditionalFds","childProcess","getInputFd","drain","getOutputFd","empty","inputSinks","Map","outputStreams","nodeStream","type","sink","isNotNullish","fromWritable","evaluate","onError","forkScoped","run","set","isNotNull","fromReadable","transduce","get","setupChildStdin","suspend","as","succeed","setupChildOutputStreams","nodeStdout","stdout","nodeStderr","stderr","stdoutPassThrough","PassThrough","stderrPassThrough","combinedPassThrough","totalStreams","endedCount","onStreamEnd","end","pipe","once","all","spawn","spawnOptions","callback","resume","deferred","makeUnsafe","handle","on","fail","doneUnsafe","sync","kill","killProcessGroup","signal","platform","exec","pid","void","try","catch","killProcess","killed","withTimeout","killSignal","forceKillAfter","timeoutOrElse","duration","onTimeout","getSourceStream","from","fromOption","spawnCommand","_tag","resolvedAdditionalFds","exitSignal","acquireRelease","detached","shell","exited","isDone","killWithTimeout","code","await","ignore","andThen","isRunning","map","done","exitCode","flatMap","asVoid","pipeOptions","root","pipeline","sourceStream","unwrap","h","toOption","to","fdName","existingFds","of","layer","effect","flatten","left","right","first","rest","nonEmptyCommands"],"sources":["../src/NodeChildProcessSpawner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NodeChildProcessSpawner.js","names":["Deferred","Effect","Exit","FileSystem","Layer","Path","Predicate","Sink","Stream","ChildProcess","ChildProcessSpawner","ExitCode","make","makeSpawner","makeHandle","ProcessId","NodeChildProcess","handleErrnoException","NodeSink","NodeStream","toError","error","globalThis","Error","String","toPlatformError","method","command","commands","flattenCommand","commandStr","reduce","acc","curr","cmd","args","join","length","gen","fs","path","resolveWorkingDirectory","fnUntraced","options","isUndefined","cwd","undefined","access","resolve","resolveEnvironment","extendEnv","process","env","inputToStdioOption","input","isStream","outputToStdioOption","isSink","resolveStdinOption","defaultConfig","stream","encoding","endOnDone","stdin","resolveOutputOption","streamName","option","resolveAdditionalFds","additionalFds","result","name","config","Object","entries","fd","parseFdName","isNotUndefined","push","sort","a","b","buildStdioArray","stdinConfig","stdoutConfig","stderrConfig","stdio","maxFd","max","Math","i","setupAdditionalFds","childProcess","getInputFd","drain","getOutputFd","empty","inputSinks","Map","outputStreams","nodeStream","type","sink","fromWritable","evaluate","onError","forkScoped","run","set","fromReadable","transduce","get","setupChildStdin","suspend","isNotNull","as","succeed","setupChildOutputStreams","stdout","stderr","all","merge","spawn","spawnOptions","callback","resume","deferred","makeUnsafe","handle","on","fail","doneUnsafe","sync","kill","killProcessGroup","signal","platform","exec","pid","void","try","catch","killProcessGroupOnExit","killProcess","killed","withTimeout","killSignal","forceKillAfter","timeoutOrElse","duration","orElse","getSourceStream","from","fromOption","spawnCommand","_tag","resolvedAdditionalFds","isReferenced","cleanupOnNonZeroExit","exitSignal","acquireRelease","detached","shell","exited","isDone","killWithTimeout","code","await","ignore","pipe","andThen","reref","ref","unref","isRunning","map","done","exitCode","flatMap","asVoid","pipeOptions","root","pipeline","handles","sourceStream","unwrap","toOption","to","fdName","existingFds","rerefs","forEach","reverse","discard","layer","effect","flatten","left","right","first","rest","nonEmptyCommands"],"sources":["../src/NodeChildProcessSpawner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AAExE,OAAO,KAAK,KAAK,YAAY,MAAM,qCAAqC,CAAA;AAIxE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAC3C,OAAO,CAAC,iBAAiB,EACzB,KAAK,EACL,gBAAgB,CAAC,gBAAgB,CAiBlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,KAAK,CACzC,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,EAC9B,cAAc,CAAC,cAAc,CAQV,CAAA"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Effect from "effect/Effect";
|
|
5
5
|
import * as Layer from "effect/Layer";
|
|
6
|
+
import * as Option from "effect/Option";
|
|
6
7
|
import * as Runners from "effect/unstable/cluster/Runners";
|
|
7
8
|
import * as ShardingConfig from "effect/unstable/cluster/ShardingConfig";
|
|
8
9
|
import * as RpcClient from "effect/unstable/rpc/RpcClient";
|
|
@@ -32,10 +33,10 @@ export const layerClientProtocol = /*#__PURE__*/Layer.effect(Runners.RpcClientPr
|
|
|
32
33
|
*/
|
|
33
34
|
export const layerSocketServer = /*#__PURE__*/Effect.gen(function* () {
|
|
34
35
|
const config = yield* ShardingConfig.ShardingConfig;
|
|
35
|
-
const listenAddress = config.runnerListenAddress
|
|
36
|
-
if (listenAddress
|
|
36
|
+
const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress);
|
|
37
|
+
if (Option.isNone(listenAddress)) {
|
|
37
38
|
return yield* Effect.die("layerSocketServer: ShardingConfig.runnerListenAddress is None");
|
|
38
39
|
}
|
|
39
|
-
return NodeSocketServer.layer(listenAddress);
|
|
40
|
+
return NodeSocketServer.layer(listenAddress.value);
|
|
40
41
|
}).pipe(Layer.unwrap);
|
|
41
42
|
//# sourceMappingURL=NodeClusterSocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClusterSocket.js","names":["Effect","Layer","Runners","ShardingConfig","RpcClient","RpcSerialization","Socket","NodeSocket","NodeSocketServer","layerClientProtocol","effect","RpcClientProtocol","gen","serialization","fnUntraced","address","socket","makeNet","openTimeout","timeout","host","port","makeProtocolSocket","pipe","provideService","orDie","layerSocketServer","config","listenAddress","runnerListenAddress","runnerAddress","
|
|
1
|
+
{"version":3,"file":"NodeClusterSocket.js","names":["Effect","Layer","Option","Runners","ShardingConfig","RpcClient","RpcSerialization","Socket","NodeSocket","NodeSocketServer","layerClientProtocol","effect","RpcClientProtocol","gen","serialization","fnUntraced","address","socket","makeNet","openTimeout","timeout","host","port","makeProtocolSocket","pipe","provideService","orDie","layerSocketServer","config","listenAddress","orElse","runnerListenAddress","runnerAddress","isNone","die","layer","value","unwrap"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,iCAAiC;AAC1D,OAAO,KAAKC,cAAc,MAAM,wCAAwC;AACxE,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAKC,gBAAgB,MAAM,sCAAsC;AACxE,SAASC,MAAM,QAAQ,+BAA+B;AAEtD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;;AAIA,OAAO,MAAMC,mBAAmB,gBAI5BT,KAAK,CAACU,MAAM,CAACR,OAAO,CAACS,iBAAiB,CAAC,cACzCZ,MAAM,CAACa,GAAG,CAAC,aAAS;EAClB,MAAMC,aAAa,GAAG,OAAOR,gBAAgB,CAACA,gBAAgB;EAC9D,OAAON,MAAM,CAACe,UAAU,CAAC,WAAUC,OAAO;IACxC,MAAMC,MAAM,GAAG,OAAOT,UAAU,CAACU,OAAO,CAAC;MACvCC,WAAW,EAAE,IAAI;MACjBC,OAAO,EAAE,IAAI;MACbC,IAAI,EAAEL,OAAO,CAACK,IAAI;MAClBC,IAAI,EAAEN,OAAO,CAACM;KACf,CAAC;IACF,OAAO,OAAOjB,SAAS,CAACkB,kBAAkB,EAAE,CAACC,IAAI,CAC/CxB,MAAM,CAACyB,cAAc,CAAClB,MAAM,EAAEU,MAAM,CAAC,EACrCjB,MAAM,CAACyB,cAAc,CAACnB,gBAAgB,CAACA,gBAAgB,EAAEQ,aAAa,CAAC,CACxE;EACH,CAAC,EAAEd,MAAM,CAAC0B,KAAK,CAAC;AAClB,CAAC,CAAC,CACH;AAED;;;;AAIA,OAAO,MAAMC,iBAAiB,gBAI1B3B,MAAM,CAACa,GAAG,CAAC,aAAS;EACtB,MAAMe,MAAM,GAAG,OAAOxB,cAAc,CAACA,cAAc;EACnD,MAAMyB,aAAa,GAAG3B,MAAM,CAAC4B,MAAM,CAACF,MAAM,CAACG,mBAAmB,EAAE,MAAMH,MAAM,CAACI,aAAa,CAAC;EAC3F,IAAI9B,MAAM,CAAC+B,MAAM,CAACJ,aAAa,CAAC,EAAE;IAChC,OAAO,OAAO7B,MAAM,CAACkC,GAAG,CAAC,+DAA+D,CAAC;EAC3F;EACA,OAAOzB,gBAAgB,CAAC0B,KAAK,CAACN,aAAa,CAACO,KAAK,CAAC;AACpD,CAAC,CAAC,CAACZ,IAAI,CAACvB,KAAK,CAACoC,MAAM,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAonBrC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAuD,CAAA"}
|
package/dist/NodeFileSystem.js
CHANGED
|
@@ -120,7 +120,7 @@ const makeFile = /*#__PURE__*/(() => {
|
|
|
120
120
|
[FileSystem.FileTypeId];
|
|
121
121
|
fd;
|
|
122
122
|
append;
|
|
123
|
-
position =
|
|
123
|
+
position = /*#__PURE__*/BigInt(0);
|
|
124
124
|
constructor(fd, append) {
|
|
125
125
|
this[FileSystem.FileTypeId] = FileSystem.FileTypeId;
|
|
126
126
|
this.fd = fd;
|
|
@@ -166,15 +166,15 @@ const makeFile = /*#__PURE__*/(() => {
|
|
|
166
166
|
position
|
|
167
167
|
}), bytesRead => {
|
|
168
168
|
if (bytesRead === 0) {
|
|
169
|
-
return
|
|
169
|
+
return Option.none();
|
|
170
170
|
}
|
|
171
171
|
this.position = position + BigInt(bytesRead);
|
|
172
172
|
if (bytesRead === sizeNumber) {
|
|
173
|
-
return buffer;
|
|
173
|
+
return Option.some(buffer);
|
|
174
174
|
}
|
|
175
175
|
const dst = Buffer.allocUnsafeSlow(bytesRead);
|
|
176
176
|
buffer.copy(dst, 0, 0, bytesRead);
|
|
177
|
-
return dst;
|
|
177
|
+
return Option.some(dst);
|
|
178
178
|
});
|
|
179
179
|
});
|
|
180
180
|
}
|
|
@@ -285,19 +285,19 @@ const rename = /*#__PURE__*/(() => {
|
|
|
285
285
|
// == stat
|
|
286
286
|
const makeFileInfo = stat => ({
|
|
287
287
|
type: stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : stat.isBlockDevice() ? "BlockDevice" : stat.isCharacterDevice() ? "CharacterDevice" : stat.isFIFO() ? "FIFO" : stat.isSocket() ? "Socket" : "Unknown",
|
|
288
|
-
mtime: stat.mtime,
|
|
289
|
-
atime: stat.atime,
|
|
290
|
-
birthtime: stat.birthtime,
|
|
288
|
+
mtime: Option.fromNullishOr(stat.mtime),
|
|
289
|
+
atime: Option.fromNullishOr(stat.atime),
|
|
290
|
+
birthtime: Option.fromNullishOr(stat.birthtime),
|
|
291
291
|
dev: stat.dev,
|
|
292
|
-
rdev: stat.rdev,
|
|
293
|
-
ino: stat.ino,
|
|
292
|
+
rdev: Option.fromNullishOr(stat.rdev),
|
|
293
|
+
ino: Option.fromNullishOr(stat.ino),
|
|
294
294
|
mode: stat.mode,
|
|
295
|
-
nlink: stat.nlink,
|
|
296
|
-
uid: stat.uid,
|
|
297
|
-
gid: stat.gid,
|
|
295
|
+
nlink: Option.fromNullishOr(stat.nlink),
|
|
296
|
+
uid: Option.fromNullishOr(stat.uid),
|
|
297
|
+
gid: Option.fromNullishOr(stat.gid),
|
|
298
298
|
size: FileSystem.Size(stat.size),
|
|
299
|
-
blksize: FileSystem.Size(stat.blksize),
|
|
300
|
-
blocks: stat.blocks
|
|
299
|
+
blksize: stat.blksize !== undefined ? Option.some(FileSystem.Size(stat.blksize)) : Option.none(),
|
|
300
|
+
blocks: Option.fromNullishOr(stat.blocks)
|
|
301
301
|
});
|
|
302
302
|
const stat = /*#__PURE__*/(() => {
|
|
303
303
|
const nodeStat = /*#__PURE__*/effectify(NFS.stat, /*#__PURE__*/handleErrnoException("FileSystem", "stat"), /*#__PURE__*/handleBadArgument("stat"));
|
|
@@ -320,7 +320,9 @@ const utimes = /*#__PURE__*/(() => {
|
|
|
320
320
|
})();
|
|
321
321
|
// == watch
|
|
322
322
|
const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.sync(() => {
|
|
323
|
-
const watcher = NFS.watch(path, {
|
|
323
|
+
const watcher = NFS.watch(path, {
|
|
324
|
+
recursive: true
|
|
325
|
+
}, (event, path) => {
|
|
324
326
|
if (!path) return;
|
|
325
327
|
switch (event) {
|
|
326
328
|
case "rename":
|
|
@@ -361,13 +363,7 @@ const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.
|
|
|
361
363
|
});
|
|
362
364
|
return watcher;
|
|
363
365
|
}), watcher => Effect.sync(() => watcher.close())));
|
|
364
|
-
const watch = (backend, path) => stat(path).pipe(Effect.map(stat =>
|
|
365
|
-
if (backend) {
|
|
366
|
-
const stream = backend.register(path, stat);
|
|
367
|
-
if (stream) return stream;
|
|
368
|
-
}
|
|
369
|
-
return watchNode(path);
|
|
370
|
-
}), Stream.unwrap);
|
|
366
|
+
const watch = (backend, path) => stat(path).pipe(Effect.map(stat => backend.pipe(Option.flatMap(_ => _.register(path, stat)), Option.getOrElse(() => watchNode(path)))), Stream.unwrap);
|
|
371
367
|
// == writeFile
|
|
372
368
|
const writeFile = (path, data, options) => Effect.callback((resume, signal) => {
|
|
373
369
|
try {
|
|
@@ -410,7 +406,7 @@ const makeFileSystem = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.serviceOption
|
|
|
410
406
|
truncate,
|
|
411
407
|
utimes,
|
|
412
408
|
watch(path) {
|
|
413
|
-
return watch(
|
|
409
|
+
return watch(backend, path);
|
|
414
410
|
},
|
|
415
411
|
writeFile
|
|
416
412
|
}));
|