Compare commits

..

12 Commits

Author SHA1 Message Date
a041ce0e6d docs: Reflect changes to changelog und push version 2025-03-14 13:40:25 +01:00
1425503021 Merge branch 'feature/integrate-register-instance-in-register' of https://github.com/20Max01/TSinjex into feature/integrate-register-instance-in-register 2025-03-14 13:38:21 +01:00
bc4e56388a docs: Reflect changes to changelog 2025-03-14 13:38:11 +01:00
b03f272d88 refactor: add region tags for overloads in Register.ts 2025-03-14 13:38:11 +01:00
9a7d2bb0c3 docs: Reflect changes to changelog 2025-03-14 13:38:10 +01:00
af099a25d6 tests: add mode parameter to RegisterInstanceDecorator
- 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.
- Disabled specific ESLint rule in `Decorators.test.ts` for deprecation warnings.
- Added an additional test call to `test_RegisterInstanceDecorator` with 'instance' mode.
2025-03-14 13:37:38 +01:00
ac139cad43 refactor: consolidate registration decorators
- 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.
- Added support for marking dependencies as deprecated with a warning logged upon first resolution.
- Updated documentation with examples and notes on deprecation.
2025-03-14 13:37:38 +01:00
97bf2be745 docs: Reflect changes to changelog 2025-03-12 09:35:43 +01:00
816a6d128a refactor: add region tags for overloads in Register.ts 2025-03-12 09:34:53 +01:00
405b7ff99a docs: Reflect changes to changelog 2025-03-11 17:46:00 +01:00
3563f9c590 tests: add mode parameter to RegisterInstanceDecorator
- 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.
- Disabled specific ESLint rule in `Decorators.test.ts` for deprecation warnings.
- Added an additional test call to `test_RegisterInstanceDecorator` with 'instance' mode.
2025-03-11 17:44:03 +01:00
c23ac1de98 refactor: consolidate registration decorators
- 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.
- Added support for marking dependencies as deprecated with a warning logged upon first resolution.
- Updated documentation with examples and notes on deprecation.
2025-03-11 17:43:32 +01:00
4 changed files with 45 additions and 54 deletions

View File

@@ -9,90 +9,87 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
### Deprecated
### Removed
### Fixed
### Security
## [0.4.0]
### Added
- feat: Export ImplementsStatic helper function
### Deprecated ### Deprecated
### Removed ### Removed
### Fixed ### Fixed
### Security ### Security
## [0.3.0] ## [0.3.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/20Max01/TSinjex/compare/0.0.14...HEAD [unreleased]: https://github.com/PxaMMaxP/TSinjex/compare/0.0.14...HEAD
[0.0.14]: https://github.com/20Max01/TSinjex/compare/0.0.13...v0.0.14 [0.0.14]: https://github.com/PxaMMaxP/TSinjex/compare/0.0.13...v0.0.14
[0.2.0]: https://github.com/20Max01/TSinjex/compare/v0.0.14...v0.2.0 [0.2.00]: https://github.com/PxaMMaxP/TSinjex/compare/0.0.14...v0.2.0
[0.3.0]: https://github.com/20Max01/TSinjex/compare/v0.2.0...v0.3.0 [0.3.00]: https://github.com/PxaMMaxP/TSinjex/compare/0.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,20 +1,17 @@
{ {
"name": "ts-injex", "name": "ts-injex",
"version": "0.4.0", "version": "0.0.9",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ts-injex", "name": "ts-injex",
"version": "0.4.0", "version": "0.0.9",
"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.4.0", "version": "0.3.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,9 +8,6 @@ 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';