Node server entrypoint
This commit is contained in:
@@ -3,12 +3,14 @@
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "NODE_ENV=development bun --hot ./src/entrypoint.bun.ts"
|
||||
"bun:dev": "NODE_ENV=development bun --hot ./src/entrypoint.bun.ts",
|
||||
"node:dev": "NODE_ENV=development tsx --watch ./src/entrypoint.node.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@effect/opentelemetry": "^0.56.6",
|
||||
"@effect/platform": "^0.90.9",
|
||||
"@effect/platform-bun": "^0.79.0",
|
||||
"@effect/platform-node": "^0.96.1",
|
||||
"@effect/rpc": "^0.69.2",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "^0.205.0",
|
||||
"@opentelemetry/sdk-metrics": "^2.1.0",
|
||||
@@ -17,5 +19,8 @@
|
||||
"@opentelemetry/sdk-trace-web": "^2.1.0",
|
||||
"@website/common": "workspace:*",
|
||||
"effect": "^3.17.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"tsx": "^4.20.5"
|
||||
}
|
||||
}
|
||||
|
||||
18
packages/server/src/entrypoint.node.ts
Normal file
18
packages/server/src/entrypoint.node.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { NodeContext, NodeHttpServer, NodeRuntime } from "@effect/platform-node"
|
||||
import { Effect, Layer } from "effect"
|
||||
import { createServer } from "node:http"
|
||||
import { ServerConfig } from "./config"
|
||||
import { Server } from "./server"
|
||||
|
||||
|
||||
Layer.launch(Server).pipe(
|
||||
Effect.provide(Layer.empty.pipe(
|
||||
Layer.provideMerge(ServerConfig.httpPort.pipe(
|
||||
Effect.map(port => NodeHttpServer.layer(createServer, { port })),
|
||||
Layer.unwrapEffect,
|
||||
)),
|
||||
Layer.provideMerge(NodeContext.layer),
|
||||
)),
|
||||
|
||||
NodeRuntime.runMain,
|
||||
)
|
||||
Reference in New Issue
Block a user