inviton-backduck 1.0.10 → 1.0.12

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.
@@ -28,6 +28,12 @@ export type BunNativeRoutes = Record<string, BunNativeHandler | Record<HttpMetho
28
28
  */
29
29
  export declare class BunRouter {
30
30
  routes: BunRouteDefinition[];
31
+ /**
32
+ * Pre-merged `globalMiddlewares.concat(handlers)` per route, computed once in
33
+ * the constructor. Lives off-interface in a WeakMap so the public
34
+ * `BunRouteDefinition` shape stays clean.
35
+ */
36
+ private mergedHandlers;
31
37
  constructor(routes: BunRouteDefinition[]);
32
38
  /**
33
39
  * Build Bun-native routes object for Bun.serve({ routes })
@@ -1 +1 @@
1
- {"version":3,"file":"bunRouter.d.ts","sourceRoot":"","sources":["../../src/bun/bunRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAiB,oBAAoB,EAAE,YAAY,EAAyC,MAAM,mBAAmB,CAAC;AAClI,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,CAAC,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAClD,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;CAC1C;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oCAAoC;AACpC,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvE,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAEtG;;GAEG;AACH,qBAAa,SAAS;IACrB,MAAM,EAAE,kBAAkB,EAAE,CAAC;gBAEjB,MAAM,EAAE,kBAAkB,EAAE;IAIxC;;;OAGG;IACH,iBAAiB,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,eAAe;IAoD9D;;OAEG;IACH,OAAO,CAAC,cAAc;IAgCtB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAiCxD;;OAEG;YACW,aAAa;YA2Cb,eAAe;IAmC7B;;OAEG;YACW,kBAAkB;IAqChC;;OAEG;YACW,SAAS;IAsBvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,iBAAiB;CAGzB"}
1
+ {"version":3,"file":"bunRouter.d.ts","sourceRoot":"","sources":["../../src/bun/bunRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAiB,oBAAoB,EAAE,YAAY,EAAyC,MAAM,mBAAmB,CAAC;AAClI,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,CAAC,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAClD,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;CAC1C;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oCAAoC;AACpC,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvE,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAEtG;;GAEG;AACH,qBAAa,SAAS;IACrB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAA8E;gBAExF,MAAM,EAAE,kBAAkB,EAAE;IAYxC;;;OAGG;IACH,iBAAiB,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,eAAe;IAoD9D;;OAEG;IACH,OAAO,CAAC,cAAc;IAgCtB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAiCxD;;OAEG;YACW,aAAa;YA6Cb,eAAe;IAgC7B;;OAEG;YACW,kBAAkB;IAqChC;;OAEG;YACW,SAAS;IAsBvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,iBAAiB;CAGzB"}
@@ -6,8 +6,22 @@
6
6
  */
7
7
  export class BunRouter {
8
8
  routes;
9
+ /**
10
+ * Pre-merged `globalMiddlewares.concat(handlers)` per route, computed once in
11
+ * the constructor. Lives off-interface in a WeakMap so the public
12
+ * `BunRouteDefinition` shape stays clean.
13
+ */
14
+ mergedHandlers = new WeakMap();
9
15
  constructor(routes) {
10
16
  this.routes = routes;
17
+ // Pre-merge globalMiddlewares + handlers once so the per-request hot path
18
+ // doesn't allocate a fresh array for every incoming request.
19
+ for (const route of routes) {
20
+ this.mergedHandlers.set(route, [
21
+ ...route.globalMiddlewares,
22
+ ...route.handlers,
23
+ ]);
24
+ }
11
25
  }
12
26
  /**
13
27
  * Build Bun-native routes object for Bun.serve({ routes })
@@ -159,16 +173,15 @@ export class BunRouter {
159
173
  if (res._sent) {
160
174
  return res._build();
161
175
  }
162
- return new Response(JSON.stringify({ success: false, message: 'No response sent' }), {
163
- status: 500,
164
- headers: { 'content-type': 'application/json' },
165
- });
176
+ // No response was sent through the WebResponse API. Build a 500 fallback
177
+ // and fire any registered onFinish callbacks so request loggers/metrics
178
+ // still observe the response.
179
+ res.status(500);
180
+ res.json({ success: false, message: 'No response sent' });
181
+ return res._build();
166
182
  }
167
183
  async executeHandlers(route, req, res) {
168
- const allHandlers = [
169
- ...route.globalMiddlewares,
170
- ...route.handlers,
171
- ];
184
+ const allHandlers = this.mergedHandlers.get(route);
172
185
  // Execute handlers sequentially - each handler must complete before next runs
173
186
  for (const handler of allHandlers) {
174
187
  if (res._sent) {
@@ -275,6 +288,7 @@ export class BunRouter {
275
288
  return {
276
289
  method: request.method,
277
290
  url: request.url,
291
+ originalUrl: url.pathname + url.search,
278
292
  path: url.pathname,
279
293
  query: Object.fromEntries(url.searchParams),
280
294
  params,
@@ -293,6 +307,7 @@ class BunResponse {
293
307
  _sent = false;
294
308
  _body = '';
295
309
  _headers = new Headers({ 'content-type': 'application/json' });
310
+ _finishCallbacks = [];
296
311
  get headersSent() {
297
312
  return this._sent;
298
313
  }
@@ -369,7 +384,21 @@ class BunResponse {
369
384
  maxAge: 0,
370
385
  });
371
386
  }
387
+ onFinish(callback) {
388
+ this._finishCallbacks.push(callback);
389
+ }
372
390
  _build() {
391
+ // Fire finish callbacks just before the Response is returned to Bun —
392
+ // this is the closest analogue to Express's `res.on('finish')` we can
393
+ // give without instrumenting the runtime's send pipeline.
394
+ for (const callback of this._finishCallbacks) {
395
+ try {
396
+ callback();
397
+ }
398
+ catch (err) {
399
+ console.error('[Bun] onFinish callback threw:', err);
400
+ }
401
+ }
373
402
  return new Response(this._body, {
374
403
  status: this.statusCode,
375
404
  headers: this._headers,
@@ -1 +1 @@
1
- {"version":3,"file":"bunRouter.js","sourceRoot":"","sources":["../../src/bun/bunRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6BH;;GAEG;AACH,MAAM,OAAO,SAAS;IACrB,MAAM,CAAuB;IAE7B,YAAY,MAA4B;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,UAA0B;QAC3C,MAAM,YAAY,GAAoB,EAAE,CAAC;QAEzC,kEAAkE;QAClE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEtB,mEAAmE;YACnE,MAAM,OAAO,GAAqB,KAAK,EAAE,OAAgB,EAAE,EAAE;gBAC5D,wEAAwE;gBACxE,MAAM,MAAM,GAA4B,OAAe,CAAC,MAAM,IAAI,EAAE,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CACxC,OAAO,EACP,KAAK,EACL,MAAM,CACN,CAAC;gBAEF,OAAO,IAAI,CAAC,cAAc,CACzB,QAAQ,EACR,UAAU,EACV,OAAO,CACP,CAAC;YACH,CAAC,CAAC;YAEF,gCAAgC;YAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAA0C,CAAC;YACpF,CAAC;iBAAM,IAAI,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAClD,YAAY,CAAC,IAAI,CAA0C,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;YAChF,CAAC;QACF,CAAC;QAED,uDAAuD;QACvD,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAqB,CAAC,OAAgB,EAAE,EAAE;oBAC7D,OAAO,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC9D,CAAC,CAAC;gBAEF,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACjE,YAAY,CAAC,IAAI,CAAsC,CAAC,OAAO,GAAG,cAAc,CAAC;gBACnF,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,cAAc,CACrB,QAAkB,EAClB,UAAqC,EACrC,OAAgB;QAEhB,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QACtF,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,UAAU,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO;SACP,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,UAAyB,EAAE,OAAgB;QAC9E,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;YACnE,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI;YACrC,KAAK;YACL,MAAM;YACN,KAAK;YACL,QAAQ;YACR,OAAO;YACP,SAAS;SACT,CAAC;QACF,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI;YACnD,cAAc;YACd,eAAe;YACf,kBAAkB;YAClB,QAAQ;YACR,eAAe;SACf,CAAC;QAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;YACzB,MAAM,EAAE,GAAG;YACX,OAAO,EAAE;gBACR,6BAA6B,EAAE,WAAW,IAAI,GAAG;gBACjD,8BAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClD,8BAA8B,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzD,kCAAkC,EAAE,UAAU,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBACvF,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC;aAC5D;SACD,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,OAAgB;QAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAoB,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7B,SAAS;YACV,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,SAAS;YACV,CAAC;YAED,iBAAiB;YACjB,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC;YACF,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,CACxB,OAAO,EACP,KAAK,EACL,MAAM,CACN,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,mBAAmB;IACjC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAC1B,OAAgB,EAChB,KAAyB,EACzB,MAA8B;QAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,IAAS,CAAC;QACd,IAAI,KAAiC,CAAC;QAEtC,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACrB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;aAAM,CAAC;YACP,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CACjC,OAAO,EACP,GAAG,EACH,MAAM,EACN,IAAI,CACJ,CAAC;QACF,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,eAAe,CACzB,KAAK,EACL,GAAG,EACH,GAAG,CACH,CAAC;QAEF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE;YACpF,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAC/C,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAC5B,KAAyB,EACzB,GAAe,EACf,GAAgB;QAEhB,MAAM,WAAW,GAAG;YACnB,GAAG,KAAK,CAAC,iBAAiB;YAC1B,GAAG,KAAK,CAAC,QAAQ;SACjB,CAAC;QAEF,8EAA8E;QAC9E,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO;YACR,CAAC;YAED,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,IAAI,GAAG,GAAS,EAAE;gBACvB,UAAU,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC;YAEF,8CAA8C;YAC9C,MAAM,OAAO,CACZ,GAAG,EACH,GAAG,EACH,IAAI,CACJ,CAAC;YAEF,qEAAqE;YACrE,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC/B,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,OAAgB;QAChD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAEtD,KAAK,CAAC,IAAI,CAAC;oBACV,SAAS,EAAE,GAAG;oBACd,YAAY,EAAE,KAAK,CAAC,IAAI;oBACxB,QAAQ,EAAE,KAAK,CAAC,IAAI;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM;iBACN,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,gCAAgC;gBAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACjC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACP,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC7B,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/E,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;oBACxB,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,OAAgB;QACvC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC;YACJ,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9C,OAAO,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACxD,OAAO,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,sBAAsB;QACvB,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAAgB;QACpC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,CACL,IAAI,EACJ,GAAG,UAAU,CACb,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,iBAAiB,CACxB,OAAgB,EAChB,GAAQ,EACR,MAA8B,EAC9B,IAAS;QAET,OAAO;YACN,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3C,MAAM;YACN,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,EAAE,EAAE,EAAE,EAAE,0BAA0B;YAClC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;SACnC,CAAC;IACH,CAAC;IAEO,iBAAiB;QACxB,OAAO,IAAI,WAAW,EAAE,CAAC;IAC1B,CAAC;CACD;AAED,MAAM,WAAW;IAChB,UAAU,GAAG,GAAG,CAAC;IACjB,KAAK,GAAG,KAAK,CAAC;IACN,KAAK,GAAyB,EAAE,CAAC;IACjC,QAAQ,GAAG,IAAI,OAAO,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAEvE,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAY;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,IAAY;QAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,IAAS;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,IAAY;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,IAAuC;QACjD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,2CAA2C;YAC3C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAC7C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,CACf,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,KAAa;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,GAAW;QACnB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CACL,IAAY,EACZ,KAAa,EACb,OAAuB;QAEvB,IAAI,SAAS,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAE3E,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC5B,SAAS,IAAI,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,SAAS,IAAI,aAAa,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3D,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,SAAS,IAAI,YAAY,CAAC;YAC3B,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,SAAS,IAAI,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,SAAS,IAAI,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3C,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,SAAS,IAAI,UAAU,CAAC;YACzB,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACnD,SAAS,IAAI,cAAc,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/C,CAAC;QACF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,OAAuB;QAChD,OAAO,IAAI,CAAC,MAAM,CACjB,IAAI,EACJ,EAAE,EACF;YACC,GAAG,OAAO;YACV,MAAM,EAAE,CAAC;SACT,CACD,CAAC;IACH,CAAC;IAED,MAAM;QACL,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAC,CAAC;IACJ,CAAC;CACD"}
1
+ {"version":3,"file":"bunRouter.js","sourceRoot":"","sources":["../../src/bun/bunRouter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Bun.serve() wrapper for running the server under Bun runtime
3
3
  */
4
+ import type { MiddlewareDefinition } from '../data-contracts';
4
5
  import type { WebRouter } from '../router';
5
6
  import type { BuildableRouter } from '../server';
6
7
  import { type StaticFileConfig } from './bunStaticFiles';
@@ -17,6 +18,15 @@ export interface BunServerOptions {
17
18
  fallbackRouters?: BuildableRouter[];
18
19
  /** CORS origins for development */
19
20
  corsOrigins?: string[];
21
+ /**
22
+ * Path-prefix middlewares applied before route handlers.
23
+ * Each middleware runs for any route whose full path starts with the given prefix.
24
+ * Must be runtime-agnostic (use WebRequest/WebResponse, not Express-native objects).
25
+ */
26
+ pathMiddlewares?: Array<{
27
+ path: string;
28
+ middleware: MiddlewareDefinition;
29
+ }>;
20
30
  /** Connection idle timeout in seconds. Set to null to disable (Bun default is 10s). */
21
31
  idleTimeout?: number | null;
22
32
  /** Custom error response handlers */
@@ -71,6 +81,12 @@ export default class BunServer {
71
81
  * Add CORS headers to response
72
82
  */
73
83
  private addCorsHeaders;
84
+ /**
85
+ * Check if a route's full path falls under a middleware prefix.
86
+ * '/api' matches '/api', '/api/users', '/api/users/:id' but not '/apidoc'.
87
+ * '/' matches everything (acts as a global middleware).
88
+ */
89
+ private static pathMatchesPrefix;
74
90
  /**
75
91
  * Add CORS headers to response (static utility)
76
92
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bunServer.d.ts","sourceRoot":"","sources":["../../src/bun/bunServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAuB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,iCAAiC;IACjC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qCAAqC;IACrC,KAAK,CAAC,EAAE;QACP,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QAC/D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;KACzD,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAkB;IACrC,yEAAyE;IACzE,OAAO,CAAC,eAAe,CAAmB;IAE1C,OAAO;IAIP;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAOlE;;OAEG;YACW,UAAU;IAyExB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;;OAGG;IACH,OAAO,CAAC,YAAY;IAmGpB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkBnC;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;CAW9D"}
1
+ {"version":3,"file":"bunServer.d.ts","sourceRoot":"","sources":["../../src/bun/bunServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAuB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,iCAAiC;IACjC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;IAC5E,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qCAAqC;IACrC,KAAK,CAAC,EAAE;QACP,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QAC/D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;KACzD,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAkB;IACrC,yEAAyE;IACzE,OAAO,CAAC,eAAe,CAAmB;IAE1C,OAAO;IAIP;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAOlE;;OAEG;YACW,UAAU;IAiGxB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;;OAGG;IACH,OAAO,CAAC,YAAY;IAmGpB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkBnC;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAahC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;CAW9D"}
@@ -40,6 +40,27 @@ export default class BunServer {
40
40
  console.error(`[Bun] Failed to register routes for ${basePath}:`, error);
41
41
  }
42
42
  }
43
+ // Apply path-prefix middlewares: for every route whose full path starts with
44
+ // the configured prefix, prepend the middleware to its globalMiddlewares.
45
+ // This mirrors Express's `app.use(path, middleware)` for the Bun runtime.
46
+ const pathMiddlewares = this.options.pathMiddlewares;
47
+ if (pathMiddlewares && pathMiddlewares.length > 0) {
48
+ for (const route of allRoutes) {
49
+ const prefixed = [];
50
+ for (const { path, middleware } of pathMiddlewares) {
51
+ if (BunServer.pathMatchesPrefix(route.path, path)) {
52
+ prefixed.push(middleware);
53
+ }
54
+ }
55
+ if (prefixed.length > 0) {
56
+ route.globalMiddlewares = [
57
+ ...prefixed,
58
+ ...route.globalMiddlewares,
59
+ ];
60
+ }
61
+ }
62
+ console.log(`[Bun] Applied ${pathMiddlewares.length} path middleware(s)`);
63
+ }
43
64
  // Convert to Bun-native routes for optimized radix tree routing
44
65
  // Pass CORS config so API routes handle CORS directly (native routes bypass fetch handler)
45
66
  const corsConfig = this.options.corsOrigins && this.options.corsOrigins.length > 0
@@ -239,6 +260,21 @@ export default class BunServer {
239
260
  headers,
240
261
  });
241
262
  }
263
+ /**
264
+ * Check if a route's full path falls under a middleware prefix.
265
+ * '/api' matches '/api', '/api/users', '/api/users/:id' but not '/apidoc'.
266
+ * '/' matches everything (acts as a global middleware).
267
+ */
268
+ static pathMatchesPrefix(routePath, prefix) {
269
+ if (prefix === '' || prefix === '/') {
270
+ return true;
271
+ }
272
+ const normalizedPrefix = prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
273
+ if (routePath === normalizedPrefix) {
274
+ return true;
275
+ }
276
+ return routePath.startsWith(`${normalizedPrefix}/`);
277
+ }
242
278
  /**
243
279
  * Add CORS headers to response (static utility)
244
280
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bunServer.js","sourceRoot":"","sources":["../../src/bun/bunServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bunServer.js","sourceRoot":"","sources":["../../src/bun/bunServer.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,11 @@ export interface WebRequest {
55
55
  method: string;
56
56
  /** Full request URL including query string */
57
57
  url: string;
58
+ /**
59
+ * Original URL the client sent, including query string and unaffected by sub-router
60
+ * mounting. Equivalent to Express's `req.originalUrl` and useful for request logging.
61
+ */
62
+ originalUrl: string;
58
63
  /** Request path without query string */
59
64
  path: string;
60
65
  /** Parsed query string parameters */
@@ -137,6 +142,13 @@ export interface WebResponse {
137
142
  * @returns The response object for chaining
138
143
  */
139
144
  clearCookie?: (name: string, options?: CookieOptions) => WebResponse;
145
+ /**
146
+ * Register a callback invoked when the response is sent.
147
+ * On Express this hooks into `res.on('finish', ...)`. On Bun the callback runs
148
+ * synchronously just before the Response object is returned from the handler.
149
+ * Useful for request logging, metrics, and timing.
150
+ */
151
+ onFinish: (callback: () => void) => void;
140
152
  }
141
153
  /**
142
154
  * Route handler function that processes HTTP requests
@@ -1 +1 @@
1
- {"version":3,"file":"data-contracts.d.ts","sourceRoot":"","sources":["../src/data-contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-contracts.d.ts","sourceRoot":"","sources":["../src/data-contracts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B;;;;OAIG;IACH,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,4DAA4D;IAC5D,IAAI,EAAE,GAAG,CAAC;IACV,2BAA2B;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,sDAAsD;IACtD,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC;IACtC;;;OAGG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1B;;;OAGG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC;IAC9D;;;;;OAKG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;IACxD;;;;OAIG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC;IACpC;;;OAGG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,WAAW,CAAC;IAC/E;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,WAAW,CAAC;IACrE;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CAC1B,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,WAAW,EAChB,IAAI,CAAC,EAAE,MAAM,IAAI,KACb,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAClC,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAC5B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Express Router - Express-specific routing implementation
3
3
  */
4
- import type { Router as ExpressRouter } from 'express';
4
+ import type { Request as ExpressReq, Response as ExpressRes, Router as ExpressRouter, NextFunction } from 'express';
5
5
  import type { MiddlewareDefinition, RouteHandler } from '../data-contracts';
6
6
  import type { HttpMethod } from '../router';
7
7
  interface RouteDefinition {
@@ -17,9 +17,16 @@ interface SubRouterMount {
17
17
  path: string;
18
18
  buildExpress: () => Promise<ExpressRouter>;
19
19
  }
20
+ /**
21
+ * Convert a universal handler/middleware to an Express handler.
22
+ * Exposes the WebRequest/WebResponse shim creation so that universal middlewares
23
+ * passed via server-level options (e.g. `pathMiddlewares`) can be mounted with
24
+ * `app.use(path, ...)`.
25
+ */
26
+ export declare const toExpressHandler: (handler: RouteHandler | MiddlewareDefinition) => (req: ExpressReq, res: ExpressRes, next: NextFunction) => Promise<void>;
20
27
  /**
21
28
  * Build Express router from route definitions
22
29
  */
23
- export declare const buildExpressRouter: (routes: RouteDefinition[], subRouters: SubRouterMount[]) => Promise<ExpressRouter>;
30
+ export declare const buildExpressRouter: (routes: RouteDefinition[], subRouters: SubRouterMount[], globalMiddlewares?: MiddlewareDefinition[]) => Promise<ExpressRouter>;
24
31
  export {};
25
32
  //# sourceMappingURL=expressRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expressRouter.d.ts","sourceRoot":"","sources":["../../src/express/expressRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAiD,MAAM,IAAI,aAAa,EAAgB,MAAM,SAAS,CAAC;AACpH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAyC,MAAM,mBAAmB,CAAC;AACnH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAO5C,UAAU,eAAe;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAClD,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3C;AAiJD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAU,QAAQ,eAAe,EAAE,EAAE,YAAY,cAAc,EAAE,KAAG,OAAO,CAAC,aAAa,CAoCvH,CAAC"}
1
+ {"version":3,"file":"expressRouter.d.ts","sourceRoot":"","sources":["../../src/express/expressRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,IAAI,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAyC,MAAM,mBAAmB,CAAC;AACnH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAO5C,UAAU,eAAe;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAClD,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3C;AA+FD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,YAAY,GAAG,oBAAoB,MAC5E,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,YAAY,kBAalB,CAAC;AAmCF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC9B,QAAQ,eAAe,EAAE,EACzB,YAAY,cAAc,EAAE,EAC5B,oBAAmB,oBAAoB,EAAO,KAC5C,OAAO,CAAC,aAAa,CA0CvB,CAAC"}
@@ -11,6 +11,7 @@ const UNI_RES_KEY = Symbol('uniRes');
11
11
  const expressToUniversalReq = (req) => ({
12
12
  method: req.method,
13
13
  url: req.url,
14
+ originalUrl: req.originalUrl,
14
15
  path: req.path,
15
16
  query: req.query,
16
17
  params: req.params,
@@ -63,6 +64,9 @@ const expressToUniversalRes = (res) => {
63
64
  res.clearCookie(name, options);
64
65
  return uniRes;
65
66
  },
67
+ onFinish: (callback) => {
68
+ res.on('finish', callback);
69
+ },
66
70
  };
67
71
  return uniRes;
68
72
  };
@@ -81,9 +85,12 @@ const getOrCreateUniversal = (req, res) => {
81
85
  };
82
86
  };
83
87
  /**
84
- * Convert universal handler to Express handler
88
+ * Convert a universal handler/middleware to an Express handler.
89
+ * Exposes the WebRequest/WebResponse shim creation so that universal middlewares
90
+ * passed via server-level options (e.g. `pathMiddlewares`) can be mounted with
91
+ * `app.use(path, ...)`.
85
92
  */
86
- const toExpressHandler = (handler) => async (req, res, next) => {
93
+ export const toExpressHandler = (handler) => async (req, res, next) => {
87
94
  const { uniReq, uniRes } = getOrCreateUniversal(req, res);
88
95
  try {
89
96
  await handler(uniReq, uniRes, next);
@@ -122,9 +129,14 @@ const getBodyParserMiddlewares = (express, requestSize) => {
122
129
  /**
123
130
  * Build Express router from route definitions
124
131
  */
125
- export const buildExpressRouter = async (routes, subRouters) => {
132
+ export const buildExpressRouter = async (routes, subRouters, globalMiddlewares = []) => {
126
133
  const { default: express } = await import('express');
127
134
  const router = express.Router();
135
+ // Apply router-level global middlewares (router.use(mw)). These must run
136
+ // before any sub-router or route handler.
137
+ for (const middleware of globalMiddlewares) {
138
+ router.use(toExpressHandler(middleware));
139
+ }
128
140
  // Mount sub-routers
129
141
  for (const { path, buildExpress } of subRouters) {
130
142
  router.use(path, await buildExpress());
@@ -1 +1 @@
1
- {"version":3,"file":"expressRouter.js","sourceRoot":"","sources":["../../src/express/expressRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressRouter.js","sourceRoot":"","sources":["../../src/express/expressRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD,4EAA4E;AAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAiBrC;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,GAAe,EAAc,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,GAAG,EAAE,GAAG,CAAC,GAAG;IACZ,WAAW,EAAE,GAAG,CAAC,WAAW;IAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;IACd,KAAK,EAAE,GAAG,CAAC,KAA4B;IACvC,MAAM,EAAE,GAAG,CAAC,MAAa;IACzB,IAAI,EAAE,GAAG,CAAC,IAAI;IACd,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;IACjD,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE;IAC7C,OAAO,EAAE,GAAG,CAAC,OAAO;IACpB,aAAa,EAAE,GAAG,CAAC,aAAa;IAChC,KAAK,EAAG,GAAW,CAAC,KAAmC;CACvD,CAAC,CAAC;AAEH;;GAEG;AAEH,MAAM,qBAAqB,GAAG,CAAC,GAAe,EAAe,EAAE;IAC9D,MAAM,MAAM,GAAgB;QAC3B,UAAU,EAAE,GAAG;QACf,MAAM,CAAC,IAAY;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;YACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE;YACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,CAAC,IAAuC,EAAE,EAAE;YACvD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,SAAS,EAAE,CAAC,IAAY,EAAE,KAAsB,EAAE,EAAE;YACnD,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QACf,CAAC;QACD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE;YACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,OAAO,MAAM,CAAC;QACf,CAAC;QACD,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE;YACzB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,GAAG,CAAC,WAAW,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,CACP,IAAY,EACZ,KAAa,EACb,OAAa,EACZ,EAAE;YACH,GAAG,CAAC,MAAM,CACT,IAAI,EACJ,KAAK,EACL,OAAO,CACP,CAAC;YACF,OAAO,MAAM,CAAC;QACf,CAAC;QACD,WAAW,EAAE,CAAC,IAAY,EAAE,OAAa,EAAE,EAAE;YAC5C,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QACf,CAAC;QACD,QAAQ,EAAE,CAAC,QAAoB,EAAE,EAAE;YAClC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5B,CAAC;KACD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAAC,GAAe,EAAE,GAAe,EAA+C,EAAE;IAC9G,IAAI,CAAE,GAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,GAAW,CAAC,WAAW,CAAC,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACtD,GAAW,CAAC,WAAW,CAAC,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACN,MAAM,EAAG,GAAW,CAAC,WAAW,CAAC;QACjC,MAAM,EAAG,GAAW,CAAC,WAAW,CAAC;KACjC,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA4C,EAAE,EAAE,CAAC,KAAK,EACtF,GAAe,EACf,GAAe,EACf,IAAkB,EACjB,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1D,IAAI,CAAC;QACJ,MAAM,OAAO,CACZ,MAAM,EACN,MAAM,EACN,IAAI,CACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACX,CAAC;AACF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,YAAY,GAAG,CAAC,MAAc,EAAW,EAAE,CAChD,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,OAAO,CAAC;AAE7D;;GAEG;AACH,MAAM,wBAAwB,GAAG,CAAC,OAAY,EAAE,WAAoB,EAAS,EAAE;IAC9E,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO;YACN,yBAAyB,CAAC,WAAW,CAAC;YACtC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;SACpC,CAAC;IACH,CAAC;IAED,OAAO;QACN,yBAAyB,EAAE;QAC3B,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,EAAE;KACd,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACtC,MAAyB,EACzB,UAA4B,EAC5B,oBAA4C,EAAE,EACrB,EAAE;IAC3B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,MAAM,GAAkB,OAAO,CAAC,MAAM,EAAE,CAAC;IAE/C,yEAAyE;IACzE,0CAA0C;IAC1C,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB;IACpB,KAAK,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,UAAU,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,YAAY,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAiD,CAAC;QACzF,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,yDAAyD;QACzD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;YACvC,CAAC,CAAC;gBACA,GAAG,wBAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC;gBACvD,GAAG,eAAe;aAClB;YACF,CAAC,CAAC,eAAe,CAAC;QAEnB,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,CAAC;YAC7C,CAAC;YACD,6DAA6D;QAC9D,CAAC;aAAM,CAAC;YACP,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC"}
@@ -2,5 +2,5 @@
2
2
  * Express runtime utilities - barrel export
3
3
  */
4
4
  export { buildExpressFrontendRouter, type ExpressFrontendConfig } from './expressFrontendRouter';
5
- export { buildExpressRouter } from './expressRouter';
5
+ export { buildExpressRouter, toExpressHandler } from './expressRouter';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -2,5 +2,5 @@
2
2
  * Express runtime utilities - barrel export
3
3
  */
4
4
  export { buildExpressFrontendRouter } from './expressFrontendRouter';
5
- export { buildExpressRouter } from './expressRouter';
5
+ export { buildExpressRouter, toExpressHandler } from './expressRouter';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAA8B,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAA8B,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -39,7 +39,8 @@
39
39
  */
40
40
  export * from './apidoc';
41
41
  export type { CookieOptions, RouteHandler, UploadedFile, WebHeaders as UniversalHeaders, WebRequest, WebResponse, } from './data-contracts';
42
- export { MiddlewareDefinition as Middleware, } from './data-contracts';
42
+ export type { MiddlewareDefinition as Middleware, } from './data-contracts';
43
+ export type { MiddlewareDefinition } from './data-contracts';
43
44
  export { ControllerGetMiddlewares, Middleware as MiddlewareDecorator, ParseRequestArgs, RequestSize, Route, } from './decorators';
44
45
  export { ControllerBase, createRouter, type HttpMethod, type IController, WebRouter as UniversalRouter, WebRouter, } from './router';
45
46
  export { IS_BUN, RUNTIME } from './runtime-detect';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,cAAc,UAAU,CAAC;AAGzB,YAAY,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,IAAI,gBAAgB,EAC9B,UAAU,EACV,WAAW,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,oBAAoB,IAAI,UAAU,GAClC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,wBAAwB,EACxB,UAAU,IAAI,mBAAmB,EACjC,gBAAgB,EAChB,WAAW,EACX,KAAK,GACL,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,cAAc,EACd,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,SAAS,IAAI,eAAe,EAC5B,SAAS,GACT,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EACN,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,sBAAsB,GAC3B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACN,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,0BAA0B,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,cAAc,UAAU,CAAC;AAGzB,YAAY,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,IAAI,gBAAgB,EAC9B,UAAU,EACV,WAAW,GACX,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACX,oBAAoB,IAAI,UAAU,GAClC,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EACN,wBAAwB,EACxB,UAAU,IAAI,mBAAmB,EACjC,gBAAgB,EAChB,WAAW,EACX,KAAK,GACL,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,cAAc,EACd,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,SAAS,IAAI,eAAe,EAC5B,SAAS,GACT,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EACN,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,sBAAsB,GAC3B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACN,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,0BAA0B,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,0FAA0F;AAC1F,cAAc,UAAU,CAAC;AAgBzB,kDAAkD;AAClD,OAAO,EACN,wBAAwB,EACxB,UAAU,IAAI,mBAAmB,EACjC,gBAAgB,EAChB,WAAW,EACX,KAAK,GACL,MAAM,cAAc,CAAC;AAEtB,wDAAwD;AACxD,OAAO,EACN,cAAc,EACd,YAAY,EAGZ,SAAS,IAAI,eAAe,EAC5B,SAAS,GACT,MAAM,UAAU,CAAC;AAElB,yDAAyD;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEnD,6CAA6C;AAC7C,OAAO,EAEN,YAAY,EAGZ,eAAe,GAEf,MAAM,UAAU,CAAC;AAElB,mDAAmD;AACnD,OAAO,EACN,mBAAmB,EAEnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,cAAc,CAAC;AAEtB,gDAAgD;AAChD,OAAO,EAGN,0BAA0B,GAC1B,MAAM,gBAAgB,CAAC;AAExB,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,0FAA0F;AAC1F,cAAc,UAAU,CAAC;AAkBzB,kDAAkD;AAClD,OAAO,EACN,wBAAwB,EACxB,UAAU,IAAI,mBAAmB,EACjC,gBAAgB,EAChB,WAAW,EACX,KAAK,GACL,MAAM,cAAc,CAAC;AAEtB,wDAAwD;AACxD,OAAO,EACN,cAAc,EACd,YAAY,EAGZ,SAAS,IAAI,eAAe,EAC5B,SAAS,GACT,MAAM,UAAU,CAAC;AAElB,yDAAyD;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEnD,6CAA6C;AAC7C,OAAO,EAEN,YAAY,EAGZ,eAAe,GAEf,MAAM,UAAU,CAAC;AAElB,mDAAmD;AACnD,OAAO,EACN,mBAAmB,EAEnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,cAAc,CAAC;AAEtB,gDAAgD;AAChD,OAAO,EAGN,0BAA0B,GAC1B,MAAM,gBAAgB,CAAC;AAExB,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/dist/router.js CHANGED
@@ -293,7 +293,7 @@ export class WebRouter {
293
293
  */
294
294
  async buildExpress() {
295
295
  const { buildExpressRouter } = await import('./express');
296
- return buildExpressRouter(this.routes, this.subRouters.map(sr => ({ path: sr.path, buildExpress: () => sr.router.buildExpress() })));
296
+ return buildExpressRouter(this.routes, this.subRouters.map(sr => ({ path: sr.path, buildExpress: () => sr.router.buildExpress() })), this.globalMiddlewares);
297
297
  }
298
298
  /**
299
299
  * Build router for Bun runtime
@@ -303,10 +303,20 @@ export class WebRouter {
303
303
  async buildBun(basePath = '') {
304
304
  const { BunRouter: BunRouterImpl } = await import('./bun');
305
305
  const bunRoutes = [];
306
- // Collect sub-router routes
306
+ // Collect sub-router routes - parent's globalMiddlewares must run before
307
+ // any sub-router route handler (matches Express's app.use(mw) + app.use(path, subRouter)
308
+ // behavior).
307
309
  for (const { path, router: subRouter } of this.subRouters) {
308
310
  const subBunRouter = await subRouter.buildBun(basePath + path);
309
- bunRoutes.push(...subBunRouter.routes);
311
+ for (const subRoute of subBunRouter.routes) {
312
+ bunRoutes.push({
313
+ ...subRoute,
314
+ globalMiddlewares: [
315
+ ...this.globalMiddlewares,
316
+ ...subRoute.globalMiddlewares,
317
+ ],
318
+ });
319
+ }
310
320
  }
311
321
  // Collect own routes
312
322
  for (const route of this.routes) {
@@ -322,7 +332,10 @@ export class WebRouter {
322
332
  });
323
333
  }
324
334
  else {
325
- const fullPath = basePath + route.path;
335
+ let fullPath = basePath + route.path;
336
+ if (fullPath.length > 1 && fullPath.endsWith('/')) {
337
+ fullPath = fullPath.slice(0, -1);
338
+ }
326
339
  const { regex, paramNames } = pathToRegex(fullPath);
327
340
  bunRoutes.push({
328
341
  method: route.method,
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAkC1C;;GAEG;AACH,MAAM,OAAO,cAAc;CAA2B;AAEtD;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAuB,EAAE;IAC1E,MAAM,UAAU,GAAwB,EAAE,CAAC;IAE3C,KAAK,MAAM,CACV,GAAG,EACH,QAAQ,EACR,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAC3B,SAAS;QACV,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAC3B,SAAS;QACV,CAAC;QAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACzB,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACP,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACP,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAC5B,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAqBF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,GAAG,CAAC,IAAY,EAA2C,EAAE;IAC7E,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI;SACnB,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;SACpC,OAAO,CAAC,cAAc,EAAE,CACxB,CAAC,EACD,IAAI,EACJ,QAAQ,EACP,EAAE;QACH,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC,CAAC;SACD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzB,OAAO;QACN,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC;QAClC,UAAU;KACV,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,SAAS;IACb,MAAM,GAAsB,EAAE,CAAC;IAC/B,UAAU,GAAqB,EAAE,CAAC;IAClC,iBAAiB,GAA2B,EAAE,CAAC;IAWvD,GAAG,CAAC,gBAA+C,EAAE,MAAkB;QACtE,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAY,EAAE,GAAG,QAAiD;QACrE,OAAO,IAAI,CAAC,QAAQ,CACnB,KAAK,EACL,IAAI,EACJ,QAAQ,CACR,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAY,EAAE,GAAG,QAAiD;QACtE,OAAO,IAAI,CAAC,QAAQ,CACnB,MAAM,EACN,IAAI,EACJ,QAAQ,CACR,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAY,EAAE,GAAG,QAAiD;QACrE,OAAO,IAAI,CAAC,QAAQ,CACnB,KAAK,EACL,IAAI,EACJ,QAAQ,CACR,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAY,EAAE,GAAG,QAAiD;QACvE,OAAO,IAAI,CAAC,QAAQ,CACnB,OAAO,EACP,IAAI,EACJ,QAAQ,CACR,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAY,EAAE,GAAG,QAAiD;QACxE,OAAO,IAAI,CAAC,QAAQ,CACnB,QAAQ,EACR,IAAI,EACJ,QAAQ,CACR,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,QAAQ,CACP,OAAe,EACf,UAAoB,EACpB,GAAG,QAAiD;QAEpD,OAAO,IAAI,CAAC,aAAa,CACxB,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,CACR,CAAC;IACH,CAAC;IAEO,aAAa,CACpB,MAAkB,EAClB,KAAa,EACb,UAAoB,EACpB,QAAiD;QAEjD,6CAA6C;QAC7C,MAAM,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,kBAAkB,CAAqC,eAAsC;QAC5F,MAAM,UAAU,GAAgB,IAAI,eAAe,EAAS,CAAC;QAC7D,IAAI,KAAK,GAAW,UAAU,CAAC,MAAM,IAAK,UAAkB,CAAC,WAAW,EAAE,MAAM,CAAC;QAEjF,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACvD,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,oBAAoB,CACxB,QAAQ,EACR,UAAU,EACV,KAAK,CACL,CAAC;QACF,IAAI,CAAC,oBAAoB,CACxB,KAAK,EACL,UAAU,EACV,KAAK,CACL,CAAC;QACF,IAAI,CAAC,oBAAoB,CACxB,MAAM,EACN,UAAU,EACV,KAAK,CACL,CAAC;QACF,IAAI,CAAC,oBAAoB,CACxB,OAAO,EACP,UAAU,EACV,KAAK,CACL,CAAC;QACF,IAAI,CAAC,oBAAoB,CACxB,KAAK,EACL,UAAU,EACV,KAAK,CACL,CAAC;QACF,IAAI,CAAC,oBAAoB,CACxB,QAAQ,EACR,UAAU,EACV,KAAK,CACL,CAAC;QAEF,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,oBAAoB,CAC3B,MAA8D,EAC9D,UAAuB,EACvB,KAAa;QAEb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,+CAA+C;QAC/C,MAAM,IAAI,GAAI,UAAkB,CAAC,SAAS,MAAM,EAAE,CAAC;eAC/C,CAAE,UAAkB,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;eAC1D,UAAU,CAAC,KAAK;eACf,UAAkB,CAAC,WAAW,EAAE,KAAK,CAAC;QAE3C,4CAA4C;QAC5C,MAAM,eAAe,GAAI,UAAkB,CAAC,UAAU,MAAM,EAAE,CAAC;eAC3D,CAAE,UAAkB,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;QAEhE,yBAAyB;QACzB,MAAM,WAAW,GAAuB,UAAU,CAAC,YAAY;eAC1D,UAAkB,CAAC,WAAW,EAAE,YAAY,CAAC;QAElD,uDAAuD;QACvD,MAAM,qBAAqB,GAA2B;YACrD,GAAG,CAAC,UAAU,CAAC,YAAY;mBACtB,UAAkB,CAAC,WAAW,EAAE,YAAY;mBAC7C,EAAE,CAAC;SACP,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,CAAC;QACpF,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC;QAE5E,qDAAqD;QACrD,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,kEAAkE;QAClE,IAAI,IAAI,EAAE,CAAC;YACV,WAAW,CAAC,IAAI,CAAC,KAAK,EACrB,GAAG,EACH,GAAG,EACH,IAAI,EACH,EAAE;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBAC5C,OAAO;gBACR,CAAC;gBAED,IAAI,EAAE,CAAC;YACR,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,WAAW,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;QAE3C,eAAe;QACf,MAAM,WAAW,GAAiB,KAAK,EACtC,GAAG,EACH,GAAG,EACH,IAAI,EACH,EAAE;YACH,IAAI,CAAC;gBACJ,aAAa;gBACb,IAAI,IAAS,CAAC;gBACd,IAAI,eAAe,EAAE,CAAC;oBACrB,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;qBAAM,IAAI,YAAY,EAAE,CAAC;oBACzB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACP,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,YAAY,GAAG,MAAM,CAAC;gBAC1B,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC;oBAClE,YAAY,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAChE,CAAC;gBAED,MAAM,MAAM,GAAG,MAAO,UAAU,CAAC,YAAY,CAAS,CAAC,IAAI,CAC1D,UAAU,EACV,IAAI,EACJ,GAAG,EACH,GAAG,EACH,IAAI,CACJ,CAAC;gBAEF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACtB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;YACF,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACrB,2DAA2D;gBAC3D,IAAI,KAAK,EAAE,QAAQ,GAAG,GAAG,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC;oBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC;oBAEpD,MAAM,QAAQ,GAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;oBAElD,4DAA4D;oBAC5D,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBACxB,QAAQ,CAAC,YAAY,GAAG;4BACvB,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI;4BAC9B,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI;yBAC9B,CAAC;oBACH,CAAC;oBAED,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACpC,OAAO;gBACR,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAgB,CAAC;QAEpF,8CAA8C;QAC9C,yDAAyD;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE;gBACT,GAAG,WAAW;gBACd,WAAW;aACX;YACD,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SACnD,CAAC,CAAC;IACJ,CAAC;IAEO,QAAQ,CACf,MAAkB,EAClB,IAAY,EACZ,QAAiD;QAEjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK;QACJ,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QACjB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,kBAAkB,CACxB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAC5F,IAAI,CAAC,iBAAiB,CACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAyB,EAAE,CAAC;QAE3C,yEAAyE;QACzE,yFAAyF;QACzF,aAAa;QACb,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC/D,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC5C,SAAS,CAAC,IAAI,CAAC;oBACd,GAAG,QAAQ;oBACX,iBAAiB,EAAE;wBAClB,GAAG,IAAI,CAAC,iBAAiB;wBACzB,GAAG,QAAQ,CAAC,iBAAiB;qBAC7B;iBACD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,mDAAmD;YACnD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,SAAS,CAAC,IAAI,CAAC;oBACd,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAM;oBACnB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;oBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;iBACzC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,IAAI,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEpD,SAAS,CAAC,IAAI,CAAC;oBACd,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,QAAQ;oBACd,KAAK;oBACL,UAAU;oBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;iBACzC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACD;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAc,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC"}
package/dist/server.d.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { Router as ExpressRouter } from 'express';
6
6
  import type { BunRouter } from './bun';
7
+ import type { MiddlewareDefinition } from './data-contracts';
7
8
  import type { WebRouter } from './router';
8
9
  /**
9
10
  * Type representing one or more URL paths
@@ -46,10 +47,15 @@ export interface UniversalServerOptions {
46
47
  routers?: BuildableRouter[];
47
48
  /** CORS origins for development */
48
49
  corsOrigins?: string[];
49
- /** Middleware to apply to specific paths (Express only) */
50
+ /**
51
+ * Path-prefix middlewares applied before route handlers.
52
+ * Each middleware runs for any route whose path starts with the given prefix.
53
+ * Must use the runtime-agnostic `MiddlewareDefinition` signature so they work
54
+ * on both Express and Bun.
55
+ */
50
56
  pathMiddlewares?: Array<{
51
57
  path: string;
52
- middleware: any;
58
+ middleware: MiddlewareDefinition;
53
59
  }>;
54
60
  /** Ignore default headers such as: 'Content-Type', 'Authorization', 'X-Requested-With', 'Accept', 'Cache-Control',*/
55
61
  ignoreDefaultHeaders?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -40,10 +40,11 @@ export class UniversalServer {
40
40
  * Start Express server
41
41
  */
42
42
  async startExpress() {
43
- const [{ default: express }, { default: cookieParser }, { default: cors },] = await Promise.all([
43
+ const [{ default: express }, { default: cookieParser }, { default: cors }, { toExpressHandler },] = await Promise.all([
44
44
  import('express'),
45
45
  import('cookie-parser'),
46
46
  import('cors'),
47
+ import('./express'),
47
48
  ]);
48
49
  const app = express();
49
50
  app.disable('x-powered-by');
@@ -69,10 +70,11 @@ export class UniversalServer {
69
70
  }
70
71
  // Cookie parser
71
72
  app.use(cookieParser());
72
- // Path-specific middlewares
73
+ // Path-specific middlewares (wrap as Express handlers so they get the
74
+ // WebRequest/WebResponse shim - same contract as Bun)
73
75
  if (this.options.pathMiddlewares) {
74
76
  for (const { path, middleware } of this.options.pathMiddlewares) {
75
- app.use(path, middleware);
77
+ app.use(path, toExpressHandler(middleware));
76
78
  }
77
79
  }
78
80
  // Fallback routers (SSR, frontend SPAs, etc.) - order matters
@@ -201,6 +203,7 @@ export class UniversalServer {
201
203
  })),
202
204
  fallbackRouters: this.options.routers,
203
205
  corsOrigins: this.options.corsOrigins,
206
+ pathMiddlewares: this.options.pathMiddlewares,
204
207
  idleTimeout: this.options.idleTimeout,
205
208
  error: this.options.error,
206
209
  onStart: () => this.options.onStart?.('Bun'),
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inviton-backduck",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Runtime-agnostic utilities for building web servers with Express and Bun support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,7 +10,10 @@
10
10
  "clean": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"",
11
11
  "prebuild": "npm run clean",
12
12
  "prepublishOnly": "npm run build",
13
- "type-check": "tsc --noEmit"
13
+ "type-check": "tsc --noEmit",
14
+ "test": "npm run test:node && npm run test:bun",
15
+ "test:node": "jest --runInBand",
16
+ "test:bun": "bun test tests/"
14
17
  },
15
18
  "keywords": [
16
19
  "express",
@@ -51,9 +54,15 @@
51
54
  "@types/cookie-parser": "^1.4.7",
52
55
  "@types/cors": "^2.8.17",
53
56
  "@types/express": "^5.0.0",
57
+ "@types/jest": "^30.0.0",
54
58
  "@types/mime-types": "^2.1.4",
55
59
  "@types/node": "^22.10.5",
56
60
  "bun-types": "^1.1.38",
61
+ "express": "^5.2.1",
62
+ "jest": "^30.4.2",
63
+ "jest-environment-node": "^30.4.1",
64
+ "ts-jest": "^29.4.9",
65
+ "tsx": "^4.21.1",
57
66
  "typescript": "^5.7.3"
58
67
  },
59
68
  "files": [