@effect/platform-node-shared 4.0.0-beta.8 → 4.0.0-beta.81
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 +19 -5
- package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
- package/dist/NodeChildProcessSpawner.js +77 -18
- package/dist/NodeChildProcessSpawner.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts +10 -4
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +22 -8
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeCrypto.d.ts +27 -0
- package/dist/NodeCrypto.d.ts.map +1 -0
- package/dist/NodeCrypto.js +55 -0
- package/dist/NodeCrypto.js.map +1 -0
- package/dist/NodeFileSystem.d.ts +5 -2
- package/dist/NodeFileSystem.d.ts.map +1 -1
- package/dist/NodeFileSystem.js +33 -26
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodePath.d.ts +15 -6
- package/dist/NodePath.d.ts.map +1 -1
- package/dist/NodePath.js +23 -7
- package/dist/NodePath.js.map +1 -1
- package/dist/NodeRuntime.d.ts +26 -7
- package/dist/NodeRuntime.d.ts.map +1 -1
- package/dist/NodeRuntime.js +8 -8
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeSink.d.ts +33 -4
- package/dist/NodeSink.d.ts.map +1 -1
- package/dist/NodeSink.js +31 -4
- package/dist/NodeSink.js.map +1 -1
- package/dist/NodeSocket.d.ts +41 -10
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +39 -16
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +25 -8
- package/dist/NodeSocketServer.d.ts.map +1 -1
- package/dist/NodeSocketServer.js +29 -12
- package/dist/NodeSocketServer.js.map +1 -1
- package/dist/NodeStdio.d.ts +6 -5
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +23 -7
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts +76 -20
- package/dist/NodeStream.d.ts.map +1 -1
- package/dist/NodeStream.js +68 -23
- package/dist/NodeStream.js.map +1 -1
- package/dist/NodeTerminal.d.ts +9 -2
- package/dist/NodeTerminal.d.ts.map +1 -1
- package/dist/NodeTerminal.js +13 -3
- package/dist/NodeTerminal.js.map +1 -1
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/package.json +7 -6
- package/src/NodeChildProcessSpawner.ts +117 -29
- package/src/NodeClusterSocket.ts +22 -8
- package/src/NodeCrypto.ts +60 -0
- package/src/NodeFileSystem.ts +40 -28
- package/src/NodePath.ts +23 -7
- package/src/NodeRuntime.ts +28 -13
- package/src/NodeSink.ts +40 -4
- package/src/NodeSocket.ts +47 -17
- package/src/NodeSocketServer.ts +39 -13
- package/src/NodeStdio.ts +41 -23
- package/src/NodeStream.ts +89 -30
- package/src/NodeTerminal.ts +22 -4
- package/src/index.ts +65 -0
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Node.js implementation of
|
|
2
|
+
* Shared Node.js implementation of the child process spawner service.
|
|
3
|
+
*
|
|
4
|
+
* This module adapts `node:child_process.spawn` to the Effect
|
|
5
|
+
* `ChildProcessSpawner` service. Provide {@link layer} to run `ChildProcess`
|
|
6
|
+
* commands in Node-compatible runtimes: commands get scoped process handles
|
|
7
|
+
* with stdin sinks, stdout and stderr streams, exit-code waiting,
|
|
8
|
+
* interruption-time cleanup, process killing, and custom file-descriptor pipes.
|
|
9
|
+
*
|
|
10
|
+
* The implementation sits below the command-building API. It validates and
|
|
11
|
+
* resolves `cwd` through the Effect `FileSystem` and `Path` services,
|
|
12
|
+
* translates Node errno failures to `PlatformError`, and uses scopes to
|
|
13
|
+
* terminate referenced children when the owning effect is interrupted or
|
|
14
|
+
* finalized. Pipelines are flattened by {@link flattenCommand} and spawned one
|
|
15
|
+
* process at a time, wiring the selected source stream (`stdout`, `stderr`,
|
|
16
|
+
* `all`, or `fdN`) to the destination `stdin` or `fdN`.
|
|
3
17
|
*
|
|
4
18
|
* @since 4.0.0
|
|
5
19
|
*/
|
|
@@ -10,17 +24,17 @@ import * as Path from "effect/Path";
|
|
|
10
24
|
import * as ChildProcess from "effect/unstable/process/ChildProcess";
|
|
11
25
|
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
|
|
12
26
|
/**
|
|
13
|
-
* Layer
|
|
27
|
+
* Layer that provides the `NodeChildProcessSpawner` implementation.
|
|
14
28
|
*
|
|
29
|
+
* @category layers
|
|
15
30
|
* @since 4.0.0
|
|
16
|
-
* @category Layers
|
|
17
31
|
*/
|
|
18
32
|
export declare const layer: Layer.Layer<ChildProcessSpawner, never, FileSystem.FileSystem | Path.Path>;
|
|
19
33
|
/**
|
|
20
34
|
* Result of flattening a pipeline of commands.
|
|
21
35
|
*
|
|
36
|
+
* @category models
|
|
22
37
|
* @since 4.0.0
|
|
23
|
-
* @category Models
|
|
24
38
|
*/
|
|
25
39
|
export interface FlattenedPipeline {
|
|
26
40
|
readonly commands: Arr.NonEmptyReadonlyArray<ChildProcess.StandardCommand>;
|
|
@@ -30,8 +44,8 @@ export interface FlattenedPipeline {
|
|
|
30
44
|
* Flattens a `Command` into an array of `StandardCommand`s along with pipe
|
|
31
45
|
* options for each connection.
|
|
32
46
|
*
|
|
47
|
+
* @category transforming
|
|
33
48
|
* @since 4.0.0
|
|
34
|
-
* @category Utilities
|
|
35
49
|
*/
|
|
36
50
|
export declare const flattenCommand: (command: ChildProcess.Command) => FlattenedPipeline;
|
|
37
51
|
//# sourceMappingURL=NodeChildProcessSpawner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeChildProcessSpawner.d.ts","sourceRoot":"","sources":["../src/NodeChildProcessSpawner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeChildProcessSpawner.d.ts","sourceRoot":"","sources":["../src/NodeChildProcessSpawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;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,7 +8,7 @@ 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
13
|
import { handleErrnoException } from "./internal/utils.js";
|
|
14
14
|
import * as NodeSink from "./NodeSink.js";
|
|
@@ -258,6 +258,19 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
258
258
|
catch: error => toPlatformError("kill", toError(error), command)
|
|
259
259
|
});
|
|
260
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
|
+
};
|
|
261
274
|
const killProcess = (command, childProcess, signal) => Effect.suspend(() => {
|
|
262
275
|
const killed = childProcess.kill(signal);
|
|
263
276
|
if (!killed) {
|
|
@@ -270,7 +283,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
270
283
|
const killSignal = options?.killSignal ?? "SIGTERM";
|
|
271
284
|
return Predicate.isUndefined(options?.forceKillAfter) ? kill(command, childProcess, killSignal) : Effect.timeoutOrElse(kill(command, childProcess, killSignal), {
|
|
272
285
|
duration: options.forceKillAfter,
|
|
273
|
-
|
|
286
|
+
orElse: () => kill(command, childProcess, "SIGKILL")
|
|
274
287
|
});
|
|
275
288
|
};
|
|
276
289
|
/**
|
|
@@ -306,6 +319,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
306
319
|
const stdoutConfig = resolveOutputOption(cmd.options, "stdout");
|
|
307
320
|
const stderrConfig = resolveOutputOption(cmd.options, "stderr");
|
|
308
321
|
const resolvedAdditionalFds = resolveAdditionalFds(cmd.options);
|
|
322
|
+
let isReferenced = true;
|
|
323
|
+
let cleanupOnNonZeroExit = false;
|
|
309
324
|
const cwd = yield* resolveWorkingDirectory(cmd.options);
|
|
310
325
|
const env = resolveEnvironment(cmd.options);
|
|
311
326
|
const stdio = buildStdioArray(stdinConfig, stdoutConfig, stderrConfig, resolvedAdditionalFds);
|
|
@@ -327,10 +342,33 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
327
342
|
}
|
|
328
343
|
return yield* Effect.void;
|
|
329
344
|
}
|
|
345
|
+
if (!isReferenced) {
|
|
346
|
+
return yield* Effect.void;
|
|
347
|
+
}
|
|
330
348
|
// Process is still running, kill it
|
|
331
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);
|
|
332
350
|
}));
|
|
333
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
|
+
});
|
|
334
372
|
const stdin = yield* setupChildStdin(cmd, childProcess, stdinConfig);
|
|
335
373
|
const {
|
|
336
374
|
all,
|
|
@@ -366,7 +404,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
366
404
|
stderr,
|
|
367
405
|
all,
|
|
368
406
|
getInputFd,
|
|
369
|
-
getOutputFd
|
|
407
|
+
getOutputFd,
|
|
408
|
+
unref
|
|
370
409
|
});
|
|
371
410
|
}
|
|
372
411
|
case "PipedCommand":
|
|
@@ -376,31 +415,31 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
376
415
|
pipeOptions
|
|
377
416
|
} = flattenCommand(cmd);
|
|
378
417
|
const [root, ...pipeline] = commands;
|
|
379
|
-
|
|
418
|
+
const handles = [yield* spawnCommand(root)];
|
|
380
419
|
for (let i = 0; i < pipeline.length; i++) {
|
|
381
420
|
const command = pipeline[i];
|
|
382
421
|
const options = pipeOptions[i] ?? {};
|
|
383
422
|
const stdinConfig = resolveStdinOption(command.options);
|
|
384
423
|
// Get the appropriate stream from the source based on `from` option
|
|
385
|
-
const sourceStream = Stream.unwrap(Effect.
|
|
424
|
+
const sourceStream = Stream.unwrap(Effect.succeed(getSourceStream(handles[handles.length - 1], options.from)));
|
|
386
425
|
// Determine where to pipe: stdin or custom fd
|
|
387
426
|
const toOption = options.to ?? "stdin";
|
|
388
427
|
if (toOption === "stdin") {
|
|
389
428
|
// Pipe to stdin (default behavior)
|
|
390
|
-
|
|
429
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
391
430
|
...command.options,
|
|
392
431
|
stdin: {
|
|
393
432
|
...stdinConfig,
|
|
394
433
|
stream: sourceStream
|
|
395
434
|
}
|
|
396
|
-
}));
|
|
435
|
+
})));
|
|
397
436
|
} else {
|
|
398
437
|
// Pipe to custom fd (fd3, fd4, etc.)
|
|
399
438
|
const fd = ChildProcess.parseFdName(toOption);
|
|
400
439
|
if (Predicate.isNotUndefined(fd)) {
|
|
401
440
|
const fdName = ChildProcess.fdName(fd);
|
|
402
441
|
const existingFds = command.options.additionalFds ?? {};
|
|
403
|
-
|
|
442
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
404
443
|
...command.options,
|
|
405
444
|
additionalFds: {
|
|
406
445
|
...existingFds,
|
|
@@ -409,40 +448,60 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
409
448
|
stream: sourceStream
|
|
410
449
|
}
|
|
411
450
|
}
|
|
412
|
-
}));
|
|
451
|
+
})));
|
|
413
452
|
} else {
|
|
414
453
|
// Invalid fd name, fall back to stdin
|
|
415
|
-
|
|
454
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
416
455
|
...command.options,
|
|
417
456
|
stdin: {
|
|
418
457
|
...stdinConfig,
|
|
419
458
|
stream: sourceStream
|
|
420
459
|
}
|
|
421
|
-
}));
|
|
460
|
+
})));
|
|
422
461
|
}
|
|
423
462
|
}
|
|
424
463
|
}
|
|
425
|
-
|
|
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
|
+
});
|
|
426
487
|
}
|
|
427
488
|
}
|
|
428
489
|
});
|
|
429
|
-
return
|
|
430
|
-
spawn: spawnCommand
|
|
431
|
-
});
|
|
490
|
+
return makeSpawner(spawnCommand);
|
|
432
491
|
});
|
|
433
492
|
/**
|
|
434
|
-
* Layer
|
|
493
|
+
* Layer that provides the `NodeChildProcessSpawner` implementation.
|
|
435
494
|
*
|
|
495
|
+
* @category layers
|
|
436
496
|
* @since 4.0.0
|
|
437
|
-
* @category Layers
|
|
438
497
|
*/
|
|
439
498
|
export const layer = /*#__PURE__*/Layer.effect(ChildProcessSpawner, make);
|
|
440
499
|
/**
|
|
441
500
|
* Flattens a `Command` into an array of `StandardCommand`s along with pipe
|
|
442
501
|
* options for each connection.
|
|
443
502
|
*
|
|
503
|
+
* @category transforming
|
|
444
504
|
* @since 4.0.0
|
|
445
|
-
* @category Utilities
|
|
446
505
|
*/
|
|
447
506
|
export const flattenCommand = command => {
|
|
448
507
|
const commands = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeChildProcessSpawner.js","names":["Deferred","Effect","Exit","FileSystem","Layer","Path","Predicate","Sink","Stream","ChildProcess","ChildProcessSpawner","ExitCode","makeHandle","ProcessId","NodeChildProcess","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","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","killProcess","killed","withTimeout","killSignal","forceKillAfter","timeoutOrElse","duration","onTimeout","getSourceStream","from","fromOption","spawnCommand","_tag","resolvedAdditionalFds","exitSignal","acquireRelease","detached","shell","exited","isDone","killWithTimeout","code","await","ignore","pipe","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":[]}
|
|
@@ -4,13 +4,19 @@ import * as ShardingConfig from "effect/unstable/cluster/ShardingConfig";
|
|
|
4
4
|
import * as RpcSerialization from "effect/unstable/rpc/RpcSerialization";
|
|
5
5
|
import type * as SocketServer from "effect/unstable/socket/SocketServer";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Provides the cluster `RpcClientProtocol` by opening TCP sockets to runner
|
|
8
|
+
* addresses and using the current RPC serialization service.
|
|
9
|
+
*
|
|
10
|
+
* @category layers
|
|
11
|
+
* @since 4.0.0
|
|
9
12
|
*/
|
|
10
13
|
export declare const layerClientProtocol: Layer.Layer<Runners.RpcClientProtocol, never, RpcSerialization.RpcSerialization>;
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
15
|
+
* Provides the socket server used by cluster runners, listening on
|
|
16
|
+
* `ShardingConfig.runnerListenAddress` or `runnerAddress`.
|
|
17
|
+
*
|
|
18
|
+
* @category layers
|
|
19
|
+
* @since 4.0.0
|
|
14
20
|
*/
|
|
15
21
|
export declare const layerSocketServer: Layer.Layer<SocketServer.SocketServer, SocketServer.SocketServerError, ShardingConfig.ShardingConfig>;
|
|
16
22
|
//# sourceMappingURL=NodeClusterSocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAWA,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;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAC3C,OAAO,CAAC,iBAAiB,EACzB,KAAK,EACL,gBAAgB,CAAC,gBAAgB,CAiBlC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,KAAK,CACzC,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,EAC9B,cAAc,CAAC,cAAc,CAQV,CAAA"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node TCP socket transport for Effect Cluster runner-to-runner RPC.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the shared Node layers used by socket-based cluster
|
|
5
|
+
* transports. `layerClientProtocol` opens TCP sockets to peer runner addresses
|
|
6
|
+
* and wraps them in the current RPC serialization protocol. `layerSocketServer`
|
|
7
|
+
* exposes the socket server that receives incoming runner RPC traffic.
|
|
8
|
+
*
|
|
9
|
+
* @since 4.0.0
|
|
3
10
|
*/
|
|
4
11
|
import * as Effect from "effect/Effect";
|
|
5
12
|
import * as Layer from "effect/Layer";
|
|
13
|
+
import * as Option from "effect/Option";
|
|
6
14
|
import * as Runners from "effect/unstable/cluster/Runners";
|
|
7
15
|
import * as ShardingConfig from "effect/unstable/cluster/ShardingConfig";
|
|
8
16
|
import * as RpcClient from "effect/unstable/rpc/RpcClient";
|
|
@@ -11,8 +19,11 @@ import { Socket } from "effect/unstable/socket/Socket";
|
|
|
11
19
|
import * as NodeSocket from "./NodeSocket.js";
|
|
12
20
|
import * as NodeSocketServer from "./NodeSocketServer.js";
|
|
13
21
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
22
|
+
* Provides the cluster `RpcClientProtocol` by opening TCP sockets to runner
|
|
23
|
+
* addresses and using the current RPC serialization service.
|
|
24
|
+
*
|
|
25
|
+
* @category layers
|
|
26
|
+
* @since 4.0.0
|
|
16
27
|
*/
|
|
17
28
|
export const layerClientProtocol = /*#__PURE__*/Layer.effect(Runners.RpcClientProtocol)(/*#__PURE__*/Effect.gen(function* () {
|
|
18
29
|
const serialization = yield* RpcSerialization.RpcSerialization;
|
|
@@ -27,15 +38,18 @@ export const layerClientProtocol = /*#__PURE__*/Layer.effect(Runners.RpcClientPr
|
|
|
27
38
|
}, Effect.orDie);
|
|
28
39
|
}));
|
|
29
40
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
41
|
+
* Provides the socket server used by cluster runners, listening on
|
|
42
|
+
* `ShardingConfig.runnerListenAddress` or `runnerAddress`.
|
|
43
|
+
*
|
|
44
|
+
* @category layers
|
|
45
|
+
* @since 4.0.0
|
|
32
46
|
*/
|
|
33
47
|
export const layerSocketServer = /*#__PURE__*/Effect.gen(function* () {
|
|
34
48
|
const config = yield* ShardingConfig.ShardingConfig;
|
|
35
|
-
const listenAddress = config.runnerListenAddress
|
|
36
|
-
if (listenAddress
|
|
49
|
+
const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress);
|
|
50
|
+
if (Option.isNone(listenAddress)) {
|
|
37
51
|
return yield* Effect.die("layerSocketServer: ShardingConfig.runnerListenAddress is None");
|
|
38
52
|
}
|
|
39
|
-
return NodeSocketServer.layer(listenAddress);
|
|
53
|
+
return NodeSocketServer.layer(listenAddress.value);
|
|
40
54
|
}).pipe(Layer.unwrap);
|
|
41
55
|
//# 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;;;;;;;;;;AAUA,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;;;;;;;AAOA,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;;;;;;;AAOA,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":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node-compatible implementation of Effect's `Crypto` service.
|
|
3
|
+
*
|
|
4
|
+
* This module builds the service from `node:crypto`, using `randomBytes` for
|
|
5
|
+
* random data and `createHash` for supported digest algorithms. It exports
|
|
6
|
+
* `make` as the concrete service value and `layer` for providing it through
|
|
7
|
+
* Effect context.
|
|
8
|
+
*
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
import * as EffectCrypto from "effect/Crypto";
|
|
12
|
+
import * as Layer from "effect/Layer";
|
|
13
|
+
/**
|
|
14
|
+
* The default Node.js Crypto service implementation.
|
|
15
|
+
*
|
|
16
|
+
* @category constructors
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
*/
|
|
19
|
+
export declare const make: EffectCrypto.Crypto;
|
|
20
|
+
/**
|
|
21
|
+
* Layer that provides the Node.js Crypto service implementation.
|
|
22
|
+
*
|
|
23
|
+
* @category layers
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
*/
|
|
26
|
+
export declare const layer: Layer.Layer<EffectCrypto.Crypto>;
|
|
27
|
+
//# sourceMappingURL=NodeCrypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeCrypto.d.ts","sourceRoot":"","sources":["../src/NodeCrypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA8BrC;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,YAAY,CAAC,MAG9B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAA4C,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node-compatible implementation of Effect's `Crypto` service.
|
|
3
|
+
*
|
|
4
|
+
* This module builds the service from `node:crypto`, using `randomBytes` for
|
|
5
|
+
* random data and `createHash` for supported digest algorithms. It exports
|
|
6
|
+
* `make` as the concrete service value and `layer` for providing it through
|
|
7
|
+
* Effect context.
|
|
8
|
+
*
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
import * as EffectCrypto from "effect/Crypto";
|
|
12
|
+
import * as Effect from "effect/Effect";
|
|
13
|
+
import * as Layer from "effect/Layer";
|
|
14
|
+
import * as PlatformError from "effect/PlatformError";
|
|
15
|
+
import * as NodeCrypto from "node:crypto";
|
|
16
|
+
const toHashAlgorithm = algorithm => {
|
|
17
|
+
switch (algorithm) {
|
|
18
|
+
case "SHA-1":
|
|
19
|
+
return "sha1";
|
|
20
|
+
case "SHA-256":
|
|
21
|
+
return "sha256";
|
|
22
|
+
case "SHA-384":
|
|
23
|
+
return "sha384";
|
|
24
|
+
case "SHA-512":
|
|
25
|
+
return "sha512";
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const digest = (algorithm, data) => Effect.try({
|
|
29
|
+
try: () => Uint8Array.from(NodeCrypto.createHash(toHashAlgorithm(algorithm)).update(data).digest()),
|
|
30
|
+
catch: cause => PlatformError.systemError({
|
|
31
|
+
module: "Crypto",
|
|
32
|
+
method: "digest",
|
|
33
|
+
_tag: "Unknown",
|
|
34
|
+
description: "Could not compute digest",
|
|
35
|
+
cause
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* The default Node.js Crypto service implementation.
|
|
40
|
+
*
|
|
41
|
+
* @category constructors
|
|
42
|
+
* @since 1.0.0
|
|
43
|
+
*/
|
|
44
|
+
export const make = /*#__PURE__*/EffectCrypto.make({
|
|
45
|
+
randomBytes: NodeCrypto.randomBytes,
|
|
46
|
+
digest
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* Layer that provides the Node.js Crypto service implementation.
|
|
50
|
+
*
|
|
51
|
+
* @category layers
|
|
52
|
+
* @since 1.0.0
|
|
53
|
+
*/
|
|
54
|
+
export const layer = /*#__PURE__*/Layer.succeed(EffectCrypto.Crypto, make);
|
|
55
|
+
//# sourceMappingURL=NodeCrypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeCrypto.js","names":["EffectCrypto","Effect","Layer","PlatformError","NodeCrypto","toHashAlgorithm","algorithm","digest","data","try","Uint8Array","from","createHash","update","catch","cause","systemError","module","method","_tag","description","make","randomBytes","layer","succeed","Crypto"],"sources":["../src/NodeCrypto.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAKA,YAAY,MAAM,eAAe;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,aAAa,MAAM,sBAAsB;AACrD,OAAO,KAAKC,UAAU,MAAM,aAAa;AAEzC,MAAMC,eAAe,GAAIC,SAAuC,IAAY;EAC1E,QAAQA,SAAS;IACf,KAAK,OAAO;MACV,OAAO,MAAM;IACf,KAAK,SAAS;MACZ,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,QAAQ;EACnB;AACF,CAAC;AAED,MAAMC,MAAM,GAAkCA,CAACD,SAAS,EAAEE,IAAI,KAC5DP,MAAM,CAACQ,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMC,UAAU,CAACC,IAAI,CAACP,UAAU,CAACQ,UAAU,CAACP,eAAe,CAACC,SAAS,CAAC,CAAC,CAACO,MAAM,CAACL,IAAI,CAAC,CAACD,MAAM,EAAE,CAAC;EACnGO,KAAK,EAAGC,KAAK,IACXZ,aAAa,CAACa,WAAW,CAAC;IACxBC,MAAM,EAAE,QAAQ;IAChBC,MAAM,EAAE,QAAQ;IAChBC,IAAI,EAAE,SAAS;IACfC,WAAW,EAAE,0BAA0B;IACvCL;GACD;CACJ,CAAC;AAEJ;;;;;;AAMA,OAAO,MAAMM,IAAI,gBAAwBrB,YAAY,CAACqB,IAAI,CAAC;EACzDC,WAAW,EAAElB,UAAU,CAACkB,WAAW;EACnCf;CACD,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMgB,KAAK,gBAAqCrB,KAAK,CAACsB,OAAO,CAACxB,YAAY,CAACyB,MAAM,EAAEJ,IAAI,CAAC","ignoreList":[]}
|
package/dist/NodeFileSystem.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as FileSystem from "effect/FileSystem";
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Provides the `FileSystem` service backed by Node filesystem APIs, including
|
|
5
|
+
* file operations, directory operations, links, metadata, and file watching.
|
|
6
|
+
*
|
|
7
|
+
* @category layers
|
|
8
|
+
* @since 4.0.0
|
|
6
9
|
*/
|
|
7
10
|
export declare const layer: Layer.Layer<FileSystem.FileSystem>;
|
|
8
11
|
//# sourceMappingURL=NodeFileSystem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAonBrC;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAuD,CAAA"}
|