diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-08-17 12:27:30 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-08-17 12:27:30 -0700 |
commit | dd08023982e34cd66e1329beb65c55b8b1c7869a (patch) | |
tree | fca2209fd3d57b383ad9f6dc418a0592e6471e17 | |
parent | 0f5ccadc0b2967ac84931f2ddcccb118d57d2cc7 (diff) | |
download | ci-release.tar.gz ci-release.zip |
Bump pengueno and use common HonoProxyrelease
-rw-r--r-- | model/package.json | 2 | ||||
-rw-r--r-- | package-lock.json | 12 | ||||
-rw-r--r-- | server/hono_proxy.ts | 71 | ||||
-rw-r--r-- | server/index.ts | 4 | ||||
-rw-r--r-- | server/package.json | 2 | ||||
-rw-r--r-- | worker/package.json | 2 |
6 files changed, 11 insertions, 82 deletions
diff --git a/model/package.json b/model/package.json index 0f4f691..b123541 100644 --- a/model/package.json +++ b/model/package.json @@ -17,7 +17,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@emprespresso/pengueno": "^0.0.6" + "@emprespresso/pengueno": "^0.0.9" }, "files": [ "dist/**/*", diff --git a/package-lock.json b/package-lock.json index feaf151..cb04b9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,7 @@ "name": "@emprespresso/ci_model", "version": "0.1.0", "dependencies": { - "@emprespresso/pengueno": "^0.0.6" + "@emprespresso/pengueno": "^0.0.9" } }, "node_modules/@emprespresso/ci_model": { @@ -56,9 +56,9 @@ "link": true }, "node_modules/@emprespresso/pengueno": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@emprespresso/pengueno/-/pengueno-0.0.6.tgz", - "integrity": "sha512-QjyNXJPFp6OlOuk6cH/0yzdFznItofqhB1wF75k/Len5A0BsqvuE1QGU9aZ7AkujGkIpbv21Vm6K21/bmk0S2A==", + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@emprespresso/pengueno/-/pengueno-0.0.9.tgz", + "integrity": "sha512-MaFL00ICx0uyAKsiz1WJoAEJMX9uiCB43udzOVt+t11/m+7+DLHIs5TOgsh4AG38FoB6H3n5d37h1gXvM/v8gw==", "license": "MIT", "engines": { "node": ">=22.16.0", @@ -2273,7 +2273,7 @@ "version": "0.1.0", "dependencies": { "@emprespresso/ci_model": "*", - "@emprespresso/pengueno": "^0.0.6", + "@emprespresso/pengueno": "^0.0.9", "@hono/node-server": "^1.14.0", "hono": "^4.8.9" } @@ -2283,7 +2283,7 @@ "version": "0.1.0", "dependencies": { "@emprespresso/ci_model": "*", - "@emprespresso/pengueno": "^0.0.6" + "@emprespresso/pengueno": "^0.0.9" }, "devDependencies": { "copyfiles": "2.4.1" diff --git a/server/hono_proxy.ts b/server/hono_proxy.ts deleted file mode 100644 index f729819..0000000 --- a/server/hono_proxy.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { - BaseRequest, - Either, - IEither, - LogMetricTraceable, - Metric, - PenguenoRequest, - Server, - Signals, - TraceUtil, -} from '@emprespresso/pengueno'; - -import { serve, ServerType } from '@hono/node-server'; -import { Hono } from 'hono'; - -const AppLifetimeMetric = Metric.fromName('HonoAppLifetime').asResult(); -const AppRequestMetric = Metric.fromName('HonoAppRequest'); - -export class HonoProxy { - private readonly app = LogMetricTraceable.of(new Hono()) - .flatMap(TraceUtil.withTrace(`AppId = ${crypto.randomUUID()}`)) - .flatMap(TraceUtil.withMetricTrace(AppLifetimeMetric)); - - constructor(private readonly server: Server) {} - - public async serve(port: number, hostname: string): Promise<IEither<Error, void>> { - return this.app - .map((tApp) => - Either.fromFailable<Error, ServerType>(() => { - const app = tApp.get(); - app.all('*', async (c) => - tApp - .flatMap(TraceUtil.withMetricTrace(AppRequestMetric)) - .move(<BaseRequest>c.req) - .flatMap((tRequest) => PenguenoRequest.from(tRequest)) - .map((req) => this.server.serve(req)) - .map( - TraceUtil.promiseify((tResponse) => { - tResponse.trace.trace(AppRequestMetric.count.withValue(1.0)); - return new Response(tResponse.get().body(), tResponse.get()); - }), - ) - .get(), - ); - return serve({ - fetch: (_r) => app.fetch(_r), - port, - hostname, - }); - }), - ) - .peek(TraceUtil.traceResultingEither()) - .peek((tServe) => - tServe - .get() - .mapRight(() => - tServe.trace.trace( - `haii im still listening at http://${hostname}:${port} ~uwu dont think i forgot`, - ), - ), - ) - .map((tEitherServer) => - tEitherServer - .get() - .mapRight((server) => tEitherServer.move(server)) - .flatMapAsync((tServer) => Signals.awaitClose(tServer)), - ) - .peek(TraceUtil.promiseify(TraceUtil.traceResultingEither(AppLifetimeMetric))) - .get(); - } -} diff --git a/server/index.ts b/server/index.ts index d018a4e..59b72de 100644 --- a/server/index.ts +++ b/server/index.ts @@ -3,9 +3,9 @@ export * from './job/index.js'; export * from './ci.js'; export * from './health.js'; -export * from './hono_proxy.js'; -import { CiHookServer, HonoProxy } from '@emprespresso/ci_server'; +import { CiHookServer } from '@emprespresso/ci_server'; +import { HonoProxy } from '@emprespresso/pengueno'; const server = new CiHookServer(); const hono = new HonoProxy(server); diff --git a/server/package.json b/server/package.json index c0ce5c6..fe8b4ed 100644 --- a/server/package.json +++ b/server/package.json @@ -20,7 +20,7 @@ "format:check": "prettier --check ." }, "dependencies": { - "@emprespresso/pengueno": "^0.0.6", + "@emprespresso/pengueno": "^0.0.9", "@emprespresso/ci_model": "*", "@hono/node-server": "^1.14.0", "hono": "^4.8.9" diff --git a/worker/package.json b/worker/package.json index 912a168..83366a0 100644 --- a/worker/package.json +++ b/worker/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@emprespresso/ci_model": "*", - "@emprespresso/pengueno": "^0.0.6" + "@emprespresso/pengueno": "^0.0.9" }, "devDependencies": { "copyfiles": "2.4.1" |