Compare commits

...

5 Commits

Author SHA1 Message Date
9bd899581f docs: reflect new export to changelog 2025-04-02 20:22:07 +02:00
b43e4ee12f docs: push version to 0.4.0 2025-04-02 20:22:07 +02:00
ef4a2295bf feat: Export ImplementsStatic helper function 2025-04-02 20:22:07 +02:00
f4f8c7b78e docs: Fix changelog links 2025-03-14 13:52:53 +01:00
beaad4f65e docs: Fix changelog links 2025-03-14 13:51:17 +01:00
4 changed files with 54 additions and 45 deletions

View File

@@ -9,15 +9,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
### Deprecated ### Deprecated
### Removed ### Removed
### Fixed ### Fixed
### Security
## [0.4.0]
### Added
- feat: Export ImplementsStatic helper function
### Deprecated
### Removed
### Fixed
### Security ### Security
@@ -25,71 +35,64 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
- refactor: consolidate registration decorators - refactor: consolidate registration decorators
Introduced Register decorator to handle class and instance registration in the DI container. Introduced Register decorator to handle class and instance registration in the DI container.
Deprecated RegisterInstance in favor of Register, which now internally handles instance registration. Deprecated RegisterInstance in favor of Register, which now internally handles instance registration.
Added support for marking dependencies as deprecated with a warning logged upon first resolution. Added support for marking dependencies as deprecated with a warning logged upon first resolution.
Updated documentation with examples and notes on deprecation. Updated documentation with examples and notes on deprecation.
- tests: add mode parameter to RegisterInstanceDecorator - tests: add mode parameter to RegisterInstanceDecorator
Introduced a mode parameter to the test_RegisterInstanceDecorator function allowing 'instance' or 'standalone' modes. Introduced a mode parameter to the test_RegisterInstanceDecorator function allowing 'instance' or 'standalone' modes.
Updated test cases to utilize the new mode parameter when registering an instance. Updated test cases to utilize the new mode parameter when registering an instance.
Disabled specific ESLint rule in Decorators.test.ts for deprecation warnings. Disabled specific ESLint rule in Decorators.test.ts for deprecation warnings.
Added an additional test call to test_RegisterInstanceDecorator with 'instance' mode. Added an additional test call to test_RegisterInstanceDecorator with 'instance' mode.
- refactor: add region tags for overloads in Register.ts - refactor: add region tags for overloads in Register.ts
## [0.2.0] ## [0.2.0]
### Added ### Added
- Add pre release building to release workflow on dev/* branches an version changes. - Add pre release building to release workflow on dev/\* branches an version changes.
- feat: Introduced a new CLI command `tsinjex-generate` to automate the generation of import statements for registered dependencies. - feat: Introduced a new CLI command `tsinjex-generate` to automate the generation of import statements for registered dependencies.
The command scans `.ts` files for `@Register` and `@RegisterInstance` decorators and generates an `auto-imports.ts` file. The command scans `.ts` files for `@Register` and `@RegisterInstance` decorators and generates an `auto-imports.ts` file.
This ensures that all registered dependencies are automatically included without requiring manual imports. This ensures that all registered dependencies are automatically included without requiring manual imports.
The CLI can be executed via `npx tsinjex-generate` or added as a script in `package.json` for easier integration. The CLI can be executed via `npx tsinjex-generate` or added as a script in `package.json` for easier integration.
### Deprecated ### Deprecated
### Removed ### Removed
### Fixed ### Fixed
### Security ### Security
## [0.0.14] ## [0.0.14]
### Added ### Added
- Added **ChangeLog** file and format it according to [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Added **ChangeLog** file and format it according to [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Added reference to **Semantic Versioning** in the changelog file. (History will be updated on time). - Added reference to **Semantic Versioning** in the changelog file. (History will be updated on time).
- Version format is now `v0.0.0` instead of `0.0.0`. Changes to this are also reflected in the workflos. - Version format is now `v0.0.0` instead of `0.0.0`. Changes to this are also reflected in the workflos.
- Add `Identifiers` and `Jest` Sections to the `README.md` file. - Add `Identifiers` and `Jest` Sections to the `README.md` file.
- feat: Add new Error `InitializationError` to reflect errors during initialization of a dependency. - feat: Add new Error `InitializationError` to reflect errors during initialization of a dependency.
- feat: Add initialization error handling and refactor Inject. - feat: Add initialization error handling and refactor Inject.
- feat: After injecting a dependency, the lazzy loading getter will be replaced with the dependency itself. - feat: After injecting a dependency, the lazzy loading getter will be replaced with the dependency itself.
- feat: remove the use of a private property to store the injected dependencies. Now the dependencies are stored in the property itself. - feat: remove the use of a private property to store the injected dependencies. Now the dependencies are stored in the property itself.
- test: Add tests for the new features. - test: Add tests for the new features.
### Deprecated ### Deprecated
- Deprecated the old version format `0.0.0`. - Deprecated the old version format `0.0.0`.
### Removed ### Removed
### Fixed ### Fixed
### Security ### Security
--- ---
[unreleased]: https://github.com/PxaMMaxP/TSinjex/compare/0.0.14...HEAD [unreleased]: https://github.com/20Max01/TSinjex/compare/0.0.14...HEAD
[0.0.14]: https://github.com/PxaMMaxP/TSinjex/compare/0.0.13...v0.0.14 [0.0.14]: https://github.com/20Max01/TSinjex/compare/0.0.13...v0.0.14
[0.2.00]: https://github.com/PxaMMaxP/TSinjex/compare/0.0.14...v0.2.0 [0.2.0]: https://github.com/20Max01/TSinjex/compare/v0.0.14...v0.2.0
[0.3.00]: https://github.com/PxaMMaxP/TSinjex/compare/0.2.0...v0.3.0 [0.3.0]: https://github.com/20Max01/TSinjex/compare/v0.2.0...v0.3.0
[0.4.0]: https://github.com/20Max01/TSinjex/compare/v0.3.0...v0.4.0

7
package-lock.json generated
View File

@@ -1,17 +1,20 @@
{ {
"name": "ts-injex", "name": "ts-injex",
"version": "0.0.9", "version": "0.4.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ts-injex", "name": "ts-injex",
"version": "0.0.9", "version": "0.4.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"eslint-plugin-prettier": "^5.2.1", "eslint-plugin-prettier": "^5.2.1",
"jest-environment-jsdom": "^29.7.0" "jest-environment-jsdom": "^29.7.0"
}, },
"bin": {
"tsinjex-generate": "bin/generate-imports.cjs"
},
"devDependencies": { "devDependencies": {
"@stylistic/eslint-plugin": "^2.6.2", "@stylistic/eslint-plugin": "^2.6.2",
"@types/jest": "^29.5.12", "@types/jest": "^29.5.12",

View File

@@ -1,6 +1,6 @@
{ {
"name": "ts-injex", "name": "ts-injex",
"version": "0.3.0", "version": "0.4.0",
"description": "Simple boilerplate code free dependency injection system for TypeScript.", "description": "Simple boilerplate code free dependency injection system for TypeScript.",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
@@ -63,4 +63,4 @@
"LICENSE", "LICENSE",
"package.json" "package.json"
] ]
} }

View File

@@ -8,6 +8,9 @@ export * from './decorators/Inject';
export * from './decorators/Register'; export * from './decorators/Register';
export * from './decorators/RegisterInstance'; export * from './decorators/RegisterInstance';
// Helper
export * from './helper/ImplementsStatic';
// Functions // Functions
export * from './functions/resolve'; export * from './functions/resolve';
export * from './functions/register'; export * from './functions/register';