2.5.5
Added
- Added optional container binding support for controller method arguments.
- Added
clear-router/decoratorswith:@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
- imports
- Added optional
reflect-metadatapeer dependency and dev dependency. - Added support for tokenless
@Bind()when legacydesign:paramtypesmetadata 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.autoDiscoveris enabled. - Added new
Router.configure({ container })options:container.enabledcontainer.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()withreflect-metadata - class-level
@Bind() - TS 5.2+ standard decorator metadata
- setup-entry side effects
- explicit container bindings
- disabled binding fallback behavior.
- explicit
Full Changelog: 2.5.0...2.5.5