summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2025-08-17 12:27:30 -0700
committerElizabeth Hunt <me@liz.coffee>2025-08-17 12:27:30 -0700
commitdd08023982e34cd66e1329beb65c55b8b1c7869a (patch)
treefca2209fd3d57b383ad9f6dc418a0592e6471e17
parent0f5ccadc0b2967ac84931f2ddcccb118d57d2cc7 (diff)
downloadci-release.tar.gz
ci-release.zip
Bump pengueno and use common HonoProxyrelease
-rw-r--r--model/package.json2
-rw-r--r--package-lock.json12
-rw-r--r--server/hono_proxy.ts71
-rw-r--r--server/index.ts4
-rw-r--r--server/package.json2
-rw-r--r--worker/package.json2
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"