Skip to content

2.5.5

Choose a tag to compare

@3m1n3nc3 3m1n3nc3 released this 08 May 11:59
· 116 commits to main since this release

Added

  • Added optional container binding support for controller method arguments.
  • Added clear-router/decorators with:
    • @Bind(...)
    • Container.bind(...)
    • Container.unbind(...)
    • Container.clear()
  • Added clear-router/decorators/setup, a one-import setup entry that:
    • imports reflect-metadata
    • enables container binding defaults
    • enables autoDiscover
  • Added optional reflect-metadata peer dependency and dev dependency.
  • Added support for tokenless @Bind() when legacy design:paramtypes metadata is available.
  • Added support for class-level binding:
    @Bind()
    class UsersController {}
  • Added support for TypeScript 5.2+ standard decorator metadata with explicit bind tokens.
  • Added auto-discovery for unknown constructable classes when container.autoDiscover is enabled.
  • Added new Router.configure({ container }) options:
    • container.enabled
    • container.autoDiscover
  • Added container binding documentation page.

Improved

  • Route handler invocation now uses a shared binding resolver across Express, Fastify, H3, Hono, and Koa.
  • Decorated handlers gracefully fall back to the existing (ctx, clearRequest) signature when binding is disabled or resolution fails.
  • Adapter setup now passes binding metadata through each framework consistently.

Tests

  • Added coverage for:
    • explicit @Bind(Request, Response, Service)
    • tokenless @Bind() with reflect-metadata
    • class-level @Bind()
    • TS 5.2+ standard decorator metadata
    • setup-entry side effects
    • explicit container bindings
    • disabled binding fallback behavior.

Full Changelog: 2.5.0...2.5.5