@praxisjs/di
Changelog for @praxisjs/di — dependency injection with @Injectable, @Inject, @Scope, and token-based injection.
@praxisjs/di
1.2.8
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.7
Updated dependencies — @praxisjs/[email protected].
1.2.6
Updated dependencies — @praxisjs/[email protected].
1.2.5
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.4
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.3
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.2
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.1
Refactored @Injectable and @Scope to use ClassBehavior / createClassDecorator from @praxisjs/decorators. Simplified Container.instantiate to plain new target(), removing internal TC39 metadata maps (constructorDepsMap, propDepsMap) and the associated setConstructorDeps / setPropDep helpers. No API changes.
1.2.0
Removed reflect-metadata dependency. Dependency metadata is now stored in WeakMaps instead of the reflect-metadata polyfill. Reduces external dependencies with no API changes. setConstructorDeps and setPropDep helpers exported for advanced manual metadata management.
1.1.4
Refreshed workspace dependencies for stability and security (@types/node, eslint, unocss). Updated dependencies — @praxisjs/[email protected].
1.1.3
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.1.2
Updated dependencies — @praxisjs/[email protected].
1.1.1
Updated dependencies — @praxisjs/[email protected].
1.1.0
Circular dependency detection. The container now detects circular dependencies during resolution and throws a descriptive error showing the full chain — e.g. ServiceA → ServiceB → ServiceA.
1.0.0 — Breaking
Full decorator-based API. Functional APIs removed:
| Removed | Replacement |
|---|---|
useService() | @Inject(Service) on a field |
createScope() | @Scope(configure?) on the class |
Type Scope | Renamed to ScopeType |
The new @Scope decorator creates a child container scoped to each class instance, allowing feature modules and dialogs to have isolated dependency graphs.
0.2.0
Migrated to TC39 decorator context API.
0.1.0
Initial beta release.