- Fix package.json exports #18.
- Thanks to @IvanLi-CN for finding this, and the solution.
- Move typedefs up from lib/{cjs|esm} to just lib.
- Remove binder.ts exports from index.ts
- Change internal meta-data constants from symbols to namespaced strings. This enables different compilation units to share a common Container. Thanks to @dmtaub for finding this and proposing a solution.
- Update github build matrix to drop node 14 and add node 20. This does not impact the library or its targets (only the build matrix github uses to run tests).
- Backwards compatibly binder api updates.
- Update patch level dependencies.
- Improved handling of class constructor parameter type recognition.
- Update dependencies.
- Address esm issues #10 and #15
- Fix missing type overload on Binder interface.
- Update dev dependencies.
- No code changes.
- Updates to docs for consistency across projects.
- Update dev dependencies.
- Update github workflows.
- Update badges in main ReadMe.
- Add support directory.
- Add experimental ability to clone a Container (see Container.clone JSDoc comments for details).
- Fix error handling callback to pass instantiated object when construction succeeds but post construction fails.
- Reformat code project wide (based on IntelliJ formatting options).
- Add Angular style InjectionToken class as a variant of InjectableId to support implicit typing of constants and interfaces.
- Minor update to Binder.resolveSingletons to make it chainable (aka return the Container/Binder instance).
- Minor updates to ReadMe.
- Support Container driven release of Singleton allocated resources (see Container.releaseSingletons).
- Update devDependencies.
- Minor updates to ReadMe.
- Revert type declaration for AbstractConstructor which was broken during eslint integration.
- Update eslint related dev-dependencies.
- Merge PR #9 ESLINT integration + Improvements.
- Update devDependencies.
- Resolved a couple of eslint warnings.
- tsc no longer removes comments in generated code. This can cause problems with post-processing tools such as istanbul. If file size is of concern to you, you should probably be minifying anyway.
- No actual source code changes.
- Added Reflect type from reflect-metadata in order to remove the @ts-ignore comments.
- Improved tsconfig.json structure for IDE compatibility.
** Thanks to @tripodsgames for those contributions. - Update tsc devDependency from 4.3.3 to 4.3.4.
- Update the ChangeLog to properly reflect recent GitHub releases.
- Build esm into esm dir (not mjs).
- No actual source code changes.
- cjs and esm distributions.
- Build now generates both cjs and esm distributions.
- tslib (where used) is now inlined instead of imported.
- No other code changes.
- New Feature: Allow alternate polyfill for Reflect API
WARNING: This is a a breaking change release.
The API and code have not changed, but you will need to explicitly import a polyfill into your own code in order to use this release (see the ReadMe).
Previously Async-Injection relied on reflect-metadata (which is still supported), but this release also allows for the use of alternative implementations such as:
core-js (core-js/es7/reflect) reflection Thank you to @tripodsgames for this contribution.
- Add post construction handling feature to Binder.bindClass. This is for scenarios where it is not feasible to add the @PostConstruct decorator to the target class.
- Updated tslib
- Updated jasmine devDependency.
- Add ability to walk up the parent container hierarchy to methods Injector.isIdKnown and Container.removeBinding
- Update tslib
- Update ts-node and nyc devDependencies.
- Fix issue #1
- Update ts-node and source-map-support devDependencies
- Add tslint and Changelog
- Update ReadMe with badges