PraxisJS

@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:

RemovedReplacement
useService()@Inject(Service) on a field
createScope()@Scope(configure?) on the class
Type ScopeRenamed 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.

On this page