@effect/platform-node 4.0.0-beta.1 → 4.0.0-beta.100
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/README.md +1 -1
- package/dist/Mime.d.ts +9 -3
- package/dist/Mime.d.ts.map +1 -1
- package/dist/Mime.js +9 -3
- package/dist/Mime.js.map +1 -1
- package/dist/NodeChildProcessSpawner.d.ts +1 -1
- package/dist/NodeChildProcessSpawner.js +1 -1
- package/dist/NodeClusterHttp.d.ts +25 -7
- package/dist/NodeClusterHttp.d.ts.map +1 -1
- package/dist/NodeClusterHttp.js +20 -10
- package/dist/NodeClusterHttp.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts +37 -11
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +37 -11
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeCrypto.d.ts +10 -0
- package/dist/NodeCrypto.d.ts.map +1 -0
- package/dist/NodeCrypto.js +22 -0
- package/dist/NodeCrypto.js.map +1 -0
- package/dist/NodeFileSystem.d.ts +4 -2
- package/dist/NodeFileSystem.d.ts.map +1 -1
- package/dist/NodeFileSystem.js +12 -3
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodeHttpClient.d.ts +98 -29
- package/dist/NodeHttpClient.d.ts.map +1 -1
- package/dist/NodeHttpClient.js +120 -33
- package/dist/NodeHttpClient.js.map +1 -1
- package/dist/NodeHttpIncomingMessage.d.ts +36 -9
- package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
- package/dist/NodeHttpIncomingMessage.js +40 -8
- package/dist/NodeHttpIncomingMessage.js.map +1 -1
- package/dist/NodeHttpPlatform.d.ts +10 -4
- package/dist/NodeHttpPlatform.d.ts.map +1 -1
- package/dist/NodeHttpPlatform.js +20 -7
- package/dist/NodeHttpPlatform.js.map +1 -1
- package/dist/NodeHttpServer.d.ts +60 -19
- package/dist/NodeHttpServer.d.ts.map +1 -1
- package/dist/NodeHttpServer.js +111 -54
- package/dist/NodeHttpServer.js.map +1 -1
- package/dist/NodeHttpServerRequest.d.ts +18 -5
- package/dist/NodeHttpServerRequest.d.ts.map +1 -1
- package/dist/NodeHttpServerRequest.js +11 -4
- package/dist/NodeHttpServerRequest.js.map +1 -1
- package/dist/NodeMultipart.d.ts +24 -4
- package/dist/NodeMultipart.d.ts.map +1 -1
- package/dist/NodeMultipart.js +24 -4
- package/dist/NodeMultipart.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/NodeRedis.d.ts +27 -9
- package/dist/NodeRedis.d.ts.map +1 -1
- package/dist/NodeRedis.js +30 -12
- package/dist/NodeRedis.js.map +1 -1
- package/dist/NodeRuntime.d.ts +27 -36
- package/dist/NodeRuntime.d.ts.map +1 -1
- package/dist/NodeRuntime.js +17 -13
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeServices.d.ts +19 -5
- package/dist/NodeServices.d.ts.map +1 -1
- package/dist/NodeServices.js +7 -3
- package/dist/NodeServices.js.map +1 -1
- package/dist/NodeSink.d.ts +2 -2
- package/dist/NodeSink.js +2 -2
- package/dist/NodeSocket.d.ts +19 -4
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +27 -4
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +2 -2
- package/dist/NodeSocketServer.js +2 -2
- package/dist/NodeStdio.d.ts +5 -2
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +13 -3
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts +2 -2
- package/dist/NodeStream.js +2 -2
- package/dist/NodeTerminal.d.ts +8 -2
- package/dist/NodeTerminal.d.ts.map +1 -1
- package/dist/NodeTerminal.js +15 -3
- package/dist/NodeTerminal.js.map +1 -1
- package/dist/NodeWorker.d.ts +9 -2
- package/dist/NodeWorker.d.ts.map +1 -1
- package/dist/NodeWorker.js +22 -6
- package/dist/NodeWorker.js.map +1 -1
- package/dist/NodeWorkerRunner.d.ts +5 -1
- package/dist/NodeWorkerRunner.d.ts.map +1 -1
- package/dist/NodeWorkerRunner.js +18 -5
- package/dist/NodeWorkerRunner.js.map +1 -1
- package/dist/Undici.d.ts +18 -5
- package/dist/Undici.d.ts.map +1 -1
- package/dist/Undici.js +18 -5
- package/dist/Undici.js.map +1 -1
- package/dist/index.d.ts +28 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -26
- package/dist/index.js.map +1 -1
- package/package.json +11 -12
- package/src/Mime.ts +10 -3
- package/src/NodeChildProcessSpawner.ts +1 -1
- package/src/NodeClusterHttp.ts +30 -11
- package/src/NodeClusterSocket.ts +37 -11
- package/src/NodeCrypto.ts +24 -0
- package/src/NodeFileSystem.ts +12 -3
- package/src/NodeHttpClient.ts +128 -38
- package/src/NodeHttpIncomingMessage.ts +48 -12
- package/src/NodeHttpPlatform.ts +21 -6
- package/src/NodeHttpServer.ts +134 -59
- package/src/NodeHttpServerRequest.ts +18 -5
- package/src/NodeMultipart.ts +24 -4
- package/src/NodePath.ts +23 -7
- package/src/NodeRedis.ts +32 -14
- package/src/NodeRuntime.ts +35 -37
- package/src/NodeServices.ts +21 -5
- package/src/NodeSink.ts +2 -2
- package/src/NodeSocket.ts +33 -5
- package/src/NodeSocketServer.ts +2 -2
- package/src/NodeStdio.ts +13 -3
- package/src/NodeStream.ts +2 -2
- package/src/NodeTerminal.ts +15 -3
- package/src/NodeWorker.ts +22 -6
- package/src/NodeWorkerRunner.ts +18 -5
- package/src/Undici.ts +18 -5
- package/src/index.ts +29 -26
package/dist/index.js
CHANGED
|
@@ -1,103 +1,105 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
// @barrel: Auto-generated exports. Do not edit manually.
|
|
5
5
|
/**
|
|
6
|
-
* @since
|
|
6
|
+
* @since 4.0.0
|
|
7
7
|
*/
|
|
8
8
|
export * as Mime from "./Mime.js";
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @since 1.0.0
|
|
10
|
+
* @since 4.0.0
|
|
13
11
|
*/
|
|
14
12
|
export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.js";
|
|
15
13
|
/**
|
|
16
|
-
* @since
|
|
14
|
+
* @since 4.0.0
|
|
17
15
|
*/
|
|
18
16
|
export * as NodeClusterHttp from "./NodeClusterHttp.js";
|
|
19
17
|
/**
|
|
20
|
-
* @since
|
|
18
|
+
* @since 4.0.0
|
|
21
19
|
*/
|
|
22
20
|
export * as NodeClusterSocket from "./NodeClusterSocket.js";
|
|
23
21
|
/**
|
|
24
22
|
* @since 1.0.0
|
|
25
23
|
*/
|
|
24
|
+
export * as NodeCrypto from "./NodeCrypto.js";
|
|
25
|
+
/**
|
|
26
|
+
* @since 4.0.0
|
|
27
|
+
*/
|
|
26
28
|
export * as NodeFileSystem from "./NodeFileSystem.js";
|
|
27
29
|
/**
|
|
28
|
-
* @since
|
|
30
|
+
* @since 4.0.0
|
|
29
31
|
*/
|
|
30
32
|
export * as NodeHttpClient from "./NodeHttpClient.js";
|
|
31
33
|
/**
|
|
32
|
-
* @since
|
|
34
|
+
* @since 4.0.0
|
|
33
35
|
*/
|
|
34
36
|
export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.js";
|
|
35
37
|
/**
|
|
36
|
-
* @since
|
|
38
|
+
* @since 4.0.0
|
|
37
39
|
*/
|
|
38
40
|
export * as NodeHttpPlatform from "./NodeHttpPlatform.js";
|
|
39
41
|
/**
|
|
40
|
-
* @since
|
|
42
|
+
* @since 4.0.0
|
|
41
43
|
*/
|
|
42
44
|
export * as NodeHttpServer from "./NodeHttpServer.js";
|
|
43
45
|
/**
|
|
44
|
-
* @since
|
|
46
|
+
* @since 4.0.0
|
|
45
47
|
*/
|
|
46
48
|
export * as NodeHttpServerRequest from "./NodeHttpServerRequest.js";
|
|
47
49
|
/**
|
|
48
|
-
* @since
|
|
50
|
+
* @since 4.0.0
|
|
49
51
|
*/
|
|
50
52
|
export * as NodeMultipart from "./NodeMultipart.js";
|
|
51
53
|
/**
|
|
52
|
-
* @since
|
|
54
|
+
* @since 4.0.0
|
|
53
55
|
*/
|
|
54
56
|
export * as NodePath from "./NodePath.js";
|
|
55
57
|
/**
|
|
56
|
-
* @since
|
|
58
|
+
* @since 4.0.0
|
|
57
59
|
*/
|
|
58
60
|
export * as NodeRedis from "./NodeRedis.js";
|
|
59
61
|
/**
|
|
60
|
-
* @since
|
|
62
|
+
* @since 4.0.0
|
|
61
63
|
*/
|
|
62
64
|
export * as NodeRuntime from "./NodeRuntime.js";
|
|
63
65
|
/**
|
|
64
|
-
* @since
|
|
66
|
+
* @since 4.0.0
|
|
65
67
|
*/
|
|
66
68
|
export * as NodeServices from "./NodeServices.js";
|
|
67
69
|
/**
|
|
68
|
-
* @since
|
|
70
|
+
* @since 4.0.0
|
|
69
71
|
*/
|
|
70
72
|
export * as NodeSink from "./NodeSink.js";
|
|
71
73
|
/**
|
|
72
|
-
* @since
|
|
74
|
+
* @since 4.0.0
|
|
73
75
|
*/
|
|
74
76
|
export * as NodeSocket from "./NodeSocket.js";
|
|
75
77
|
/**
|
|
76
|
-
* @since
|
|
78
|
+
* @since 4.0.0
|
|
77
79
|
*/
|
|
78
80
|
export * as NodeSocketServer from "./NodeSocketServer.js";
|
|
79
81
|
/**
|
|
80
|
-
* @since
|
|
82
|
+
* @since 4.0.0
|
|
81
83
|
*/
|
|
82
84
|
export * as NodeStdio from "./NodeStdio.js";
|
|
83
85
|
/**
|
|
84
|
-
* @since
|
|
86
|
+
* @since 4.0.0
|
|
85
87
|
*/
|
|
86
88
|
export * as NodeStream from "./NodeStream.js";
|
|
87
89
|
/**
|
|
88
|
-
* @since
|
|
90
|
+
* @since 4.0.0
|
|
89
91
|
*/
|
|
90
92
|
export * as NodeTerminal from "./NodeTerminal.js";
|
|
91
93
|
/**
|
|
92
|
-
* @since
|
|
94
|
+
* @since 4.0.0
|
|
93
95
|
*/
|
|
94
96
|
export * as NodeWorker from "./NodeWorker.js";
|
|
95
97
|
/**
|
|
96
|
-
* @since
|
|
98
|
+
* @since 4.0.0
|
|
97
99
|
*/
|
|
98
100
|
export * as NodeWorkerRunner from "./NodeWorkerRunner.js";
|
|
99
101
|
/**
|
|
100
|
-
* @since
|
|
102
|
+
* @since 4.0.0
|
|
101
103
|
*/
|
|
102
104
|
export * as Undici from "./Undici.js";
|
|
103
105
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Mime","NodeChildProcessSpawner","NodeClusterHttp","NodeClusterSocket","NodeFileSystem","NodeHttpClient","NodeHttpIncomingMessage","NodeHttpPlatform","NodeHttpServer","NodeHttpServerRequest","NodeMultipart","NodePath","NodeRedis","NodeRuntime","NodeServices","NodeSink","NodeSocket","NodeSocketServer","NodeStdio","NodeStream","NodeTerminal","NodeWorker","NodeWorkerRunner","Undici"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,WAAW;AAEjC
|
|
1
|
+
{"version":3,"file":"index.js","names":["Mime","NodeChildProcessSpawner","NodeClusterHttp","NodeClusterSocket","NodeCrypto","NodeFileSystem","NodeHttpClient","NodeHttpIncomingMessage","NodeHttpPlatform","NodeHttpServer","NodeHttpServerRequest","NodeMultipart","NodePath","NodeRedis","NodeRuntime","NodeServices","NodeSink","NodeSocket","NodeSocketServer","NodeStdio","NodeStream","NodeTerminal","NodeWorker","NodeWorkerRunner","Undici"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B;AAEvE;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B;AAEvE;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform-node",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.0.0-beta.
|
|
4
|
+
"version": "4.0.0-beta.100",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Platform specific implementations for the Node.js runtime",
|
|
7
7
|
"homepage": "https://effect.website",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/Effect-TS/effect
|
|
10
|
+
"url": "https://github.com/Effect-TS/effect.git",
|
|
11
11
|
"directory": "packages/platform-node"
|
|
12
12
|
},
|
|
13
13
|
"bugs": {
|
|
14
|
-
"url": "https://github.com/Effect-TS/effect
|
|
14
|
+
"url": "https://github.com/Effect-TS/effect/issues"
|
|
15
15
|
},
|
|
16
16
|
"tags": [
|
|
17
17
|
"node",
|
|
@@ -49,24 +49,23 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"mime": "^4.1.0",
|
|
52
|
-
"undici": "^7.
|
|
53
|
-
"@effect/platform-node-shared": "^4.0.0-beta.
|
|
52
|
+
"undici": "^8.7.0",
|
|
53
|
+
"@effect/platform-node-shared": "^4.0.0-beta.100"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"ioredis": "^5.7.0",
|
|
57
|
-
"effect": "^4.0.0-beta.
|
|
57
|
+
"effect": "^4.0.0-beta.100"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@testcontainers/mysql": "^11.
|
|
61
|
-
"@testcontainers/postgresql": "^11.
|
|
62
|
-
"@testcontainers/redis": "^11.
|
|
63
|
-
"@types/node": "^
|
|
64
|
-
"effect": "^4.0.0-beta.
|
|
60
|
+
"@testcontainers/mysql": "^11.14.0",
|
|
61
|
+
"@testcontainers/postgresql": "^11.14.0",
|
|
62
|
+
"@testcontainers/redis": "^11.14.0",
|
|
63
|
+
"@types/node": "^26.1.1",
|
|
64
|
+
"effect": "^4.0.0-beta.100"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
67
|
"codegen": "effect-utils codegen",
|
|
68
68
|
"build": "tsc -b tsconfig.json && pnpm babel",
|
|
69
|
-
"build:tsgo": "tsgo -b tsconfig.json && pnpm babel",
|
|
70
69
|
"babel": "babel dist --plugins annotate-pure-calls --out-dir dist --source-maps",
|
|
71
70
|
"check": "tsc -b tsconfig.json",
|
|
72
71
|
"test": "vitest",
|
package/src/Mime.ts
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-exports the `mime` package through the `@effect/platform-node/Mime`
|
|
3
|
+
* module and the `Mime` namespace in the package barrel.
|
|
4
|
+
*
|
|
5
|
+
* @since 4.0.0
|
|
6
|
+
*/
|
|
7
|
+
|
|
1
8
|
/* oxlint-disable no-named-as-default */
|
|
2
9
|
|
|
3
10
|
/**
|
|
4
|
-
* @since
|
|
11
|
+
* @since 4.0.0
|
|
5
12
|
*/
|
|
6
13
|
import Mime from "mime"
|
|
7
14
|
|
|
8
15
|
/**
|
|
9
|
-
* @since 1.0.0
|
|
10
16
|
* @category re-exports
|
|
17
|
+
* @since 4.0.0
|
|
11
18
|
*/
|
|
12
19
|
export * from "mime"
|
|
13
20
|
|
|
14
21
|
/**
|
|
15
|
-
* @since 1.0.0
|
|
16
22
|
* @category re-exports
|
|
23
|
+
* @since 4.0.0
|
|
17
24
|
*/
|
|
18
25
|
export default Mime
|
package/src/NodeClusterHttp.ts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js HTTP and WebSocket layers for Effect Cluster runners.
|
|
3
|
+
*
|
|
4
|
+
* The main `layer` builds a sharding layer for HTTP or WebSocket transport,
|
|
5
|
+
* choosing serialization, runner health checks, runner storage, message
|
|
6
|
+
* storage, and optional client-only mode from the supplied options.
|
|
7
|
+
* `layerHttpServer` provides the Node HTTP server used by cluster runners, and
|
|
8
|
+
* this module re-exports the Kubernetes HTTP client layer used by runner health
|
|
9
|
+
* checks.
|
|
10
|
+
*
|
|
11
|
+
* @since 4.0.0
|
|
3
12
|
*/
|
|
4
13
|
import type * as Config from "effect/Config"
|
|
5
14
|
import * as Effect from "effect/Effect"
|
|
6
15
|
import * as Layer from "effect/Layer"
|
|
16
|
+
import * as Option from "effect/Option"
|
|
7
17
|
import * as HttpRunner from "effect/unstable/cluster/HttpRunner"
|
|
8
18
|
import * as MessageStorage from "effect/unstable/cluster/MessageStorage"
|
|
9
19
|
import * as RunnerHealth from "effect/unstable/cluster/RunnerHealth"
|
|
@@ -28,15 +38,21 @@ import * as NodeSocket from "./NodeSocket.ts"
|
|
|
28
38
|
|
|
29
39
|
export {
|
|
30
40
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
41
|
+
* Provides the Kubernetes HTTP client layer used by Kubernetes runner health checks.
|
|
42
|
+
*
|
|
43
|
+
* @category re-exports
|
|
44
|
+
* @since 4.0.0
|
|
33
45
|
*/
|
|
34
46
|
layerK8sHttpClient
|
|
35
47
|
} from "./NodeClusterSocket.ts"
|
|
36
48
|
|
|
37
49
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
50
|
+
* Builds the Node cluster HTTP/WebSocket sharding layer, configuring runner
|
|
51
|
+
* transport, RPC serialization, message storage, runner health checks, and
|
|
52
|
+
* optional client-only mode.
|
|
53
|
+
*
|
|
54
|
+
* @category layers
|
|
55
|
+
* @since 4.0.0
|
|
40
56
|
*/
|
|
41
57
|
export const layer = <
|
|
42
58
|
const ClientOnly extends boolean = false,
|
|
@@ -116,8 +132,11 @@ export const layer = <
|
|
|
116
132
|
}
|
|
117
133
|
|
|
118
134
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
135
|
+
* Provides the HTTP server and Node HTTP services used by cluster runners,
|
|
136
|
+
* listening on `ShardingConfig.runnerListenAddress` or `runnerAddress`.
|
|
137
|
+
*
|
|
138
|
+
* @category layers
|
|
139
|
+
* @since 4.0.0
|
|
121
140
|
*/
|
|
122
141
|
export const layerHttpServer: Layer.Layer<
|
|
123
142
|
| HttpPlatform
|
|
@@ -128,9 +147,9 @@ export const layerHttpServer: Layer.Layer<
|
|
|
128
147
|
ShardingConfig.ShardingConfig
|
|
129
148
|
> = Effect.gen(function*() {
|
|
130
149
|
const config = yield* ShardingConfig.ShardingConfig
|
|
131
|
-
const listenAddress = config.runnerListenAddress
|
|
132
|
-
if (listenAddress
|
|
133
|
-
return yield* Effect.die("NodeClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is
|
|
150
|
+
const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress)
|
|
151
|
+
if (Option.isNone(listenAddress)) {
|
|
152
|
+
return yield* Effect.die("NodeClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is None")
|
|
134
153
|
}
|
|
135
|
-
return NodeHttpServer.layer(createServer, listenAddress)
|
|
154
|
+
return NodeHttpServer.layer(createServer, listenAddress.value)
|
|
136
155
|
}).pipe(Layer.unwrap)
|
package/src/NodeClusterSocket.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js socket layers for Effect Cluster runners.
|
|
3
|
+
*
|
|
4
|
+
* The main `layer` builds a sharding layer for socket transport, choosing
|
|
5
|
+
* serialization, runner health checks, runner storage, message storage, and
|
|
6
|
+
* optional client-only mode from the supplied options. This module also
|
|
7
|
+
* re-exports the shared socket client and server protocol layers, and provides
|
|
8
|
+
* Kubernetes-aware Undici dispatcher and HTTP client layers for runner health
|
|
9
|
+
* checks.
|
|
10
|
+
*
|
|
11
|
+
* @since 4.0.0
|
|
3
12
|
*/
|
|
4
13
|
import { layerClientProtocol, layerSocketServer } from "@effect/platform-node-shared/NodeClusterSocket"
|
|
5
14
|
import type { ConfigError } from "effect/Config"
|
|
@@ -25,20 +34,30 @@ import * as Undici from "./Undici.ts"
|
|
|
25
34
|
|
|
26
35
|
export {
|
|
27
36
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
37
|
+
* Provides the cluster `RpcClientProtocol` using the shared socket client
|
|
38
|
+
* implementation.
|
|
39
|
+
*
|
|
40
|
+
* @category re-exports
|
|
41
|
+
* @since 4.0.0
|
|
30
42
|
*/
|
|
31
43
|
layerClientProtocol,
|
|
32
44
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
45
|
+
* Provides the socket server used by Node cluster runners through the shared
|
|
46
|
+
* socket server implementation.
|
|
47
|
+
*
|
|
48
|
+
* @category re-exports
|
|
49
|
+
* @since 4.0.0
|
|
35
50
|
*/
|
|
36
51
|
layerSocketServer
|
|
37
52
|
}
|
|
38
53
|
|
|
39
54
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
55
|
+
* Builds the Node cluster socket sharding layer, configuring RPC
|
|
56
|
+
* serialization, message storage, runner health checks, and optional
|
|
57
|
+
* client-only mode.
|
|
58
|
+
*
|
|
59
|
+
* @category layers
|
|
60
|
+
* @since 4.0.0
|
|
42
61
|
*/
|
|
43
62
|
export const layer = <
|
|
44
63
|
const ClientOnly extends boolean = false,
|
|
@@ -111,8 +130,12 @@ export const layer = <
|
|
|
111
130
|
}
|
|
112
131
|
|
|
113
132
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
133
|
+
* Provides an Undici dispatcher for Kubernetes API calls, using the service
|
|
134
|
+
* account CA certificate when it is available and falling back to the default
|
|
135
|
+
* dispatcher otherwise.
|
|
136
|
+
*
|
|
137
|
+
* @category layers
|
|
138
|
+
* @since 4.0.0
|
|
116
139
|
*/
|
|
117
140
|
export const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher> = Layer.effect(NodeHttpClient.Dispatcher)(
|
|
118
141
|
Effect.gen(function*() {
|
|
@@ -140,8 +163,11 @@ export const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher> = Layer.
|
|
|
140
163
|
)
|
|
141
164
|
|
|
142
165
|
/**
|
|
143
|
-
*
|
|
144
|
-
*
|
|
166
|
+
* Provides a `K8sHttpClient` backed by the Undici HTTP client and the
|
|
167
|
+
* Kubernetes-aware dispatcher.
|
|
168
|
+
*
|
|
169
|
+
* @category layers
|
|
170
|
+
* @since 4.0.0
|
|
145
171
|
*/
|
|
146
172
|
export const layerK8sHttpClient: Layer.Layer<K8sHttpClient.K8sHttpClient> = K8sHttpClient.layer.pipe(
|
|
147
173
|
Layer.provide(Layer.fresh(NodeHttpClient.layerUndiciNoDispatcher)),
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `NodeCrypto` module provides the Node.js `Crypto` service layer for
|
|
3
|
+
* Effect programs. Provide {@link layer} at the edge of a Node application,
|
|
4
|
+
* CLI, script, or test to satisfy `effect/Crypto` with Node's `node:crypto`
|
|
5
|
+
* implementation for secure random bytes, UUID generation, random values, and
|
|
6
|
+
* SHA digest operations.
|
|
7
|
+
*
|
|
8
|
+
* This module is the public Node adapter around the shared Node-compatible
|
|
9
|
+
* implementation. Digest failures are reported as platform errors, and SHA-1
|
|
10
|
+
* remains available only for interoperability with existing protocols.
|
|
11
|
+
*
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
import * as NodeCrypto from "@effect/platform-node-shared/NodeCrypto"
|
|
15
|
+
import type * as Crypto from "effect/Crypto"
|
|
16
|
+
import type * as Layer from "effect/Layer"
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Layer that provides the Node.js Crypto service implementation.
|
|
20
|
+
*
|
|
21
|
+
* @category layers
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
*/
|
|
24
|
+
export const layer: Layer.Layer<Crypto.Crypto> = NodeCrypto.layer
|
package/src/NodeFileSystem.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js `FileSystem` layer for programs that perform real filesystem I/O.
|
|
3
|
+
*
|
|
4
|
+
* The exported layer satisfies the platform-independent `FileSystem` service
|
|
5
|
+
* with Node-backed operations for files, directories, metadata, permissions,
|
|
6
|
+
* links, temporary paths, and path watching. Effects still call the service from
|
|
7
|
+
* `effect/FileSystem`; this module only chooses the Node implementation.
|
|
8
|
+
*
|
|
9
|
+
* @since 4.0.0
|
|
3
10
|
*/
|
|
4
11
|
import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem"
|
|
5
12
|
import type { FileSystem } from "effect/FileSystem"
|
|
6
13
|
import type * as Layer from "effect/Layer"
|
|
7
14
|
|
|
8
15
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
16
|
+
* Provides the `FileSystem` service backed by Node filesystem APIs.
|
|
17
|
+
*
|
|
18
|
+
* @category layers
|
|
19
|
+
* @since 4.0.0
|
|
11
20
|
*/
|
|
12
21
|
export const layer: Layer.Layer<FileSystem> = NodeFileSystem.layer
|