@nestjs-modular/inject
v1.2.3
Published
NestJS module for batch dependency injection by specifying a directory.
Downloads
207
Maintainers
Readme
@nestjs-modular/inject
This module provides the ability to inject features in bulk by specifying a directory.
This reduces the need to manually inject every time you create a class that may be used throughout a project, such as a repository.
🗒 Examples
🚀 Installation
$ npm install @nestjs-modular/inject
👏 Getting Started
You can provide repositories at once by writing as follows.
@Global()
@Module({
imports: [
InjectModule.forRootAsync({
global: true,
providers: {
path: path.resolve(__dirname, './repositories'),
includeFileNames: [/\.repository$/],
includeExportNames: [/Repository$/],
},
exports: {
path: path.resolve(__dirname, './repositories'),
includeFileNames: [/\.repository$/],
includeExportNames: [/Repository$/],
},
}),
],
})
export class GlobalModule {}
🔧 Configurations
| Name | Description | Type | Default |
|---------------|-------------------------------------------------------------------------|------------------|-------------|
| global
| If set to true, the module is registered in the global scope. | boolean | false
|
| imports
| Specify the conditions of the module to be imported. | InjectConditions | undefined
|
| controllers
| Specify the controller condition to be instantiated. | InjectConditions | undefined
|
| providers
| Specify the conditions of the provider to be instantiated. | InjectConditions | undefined
|
| exports
| Specify conditions for providers to be made available in other modules. | InjectConditions | undefined
|
InjectConditions
| Name | Description | Type | Default Value |
|-------------------------|---------------------------------------------------------------------------------------|-----------------------------|-----------------------|
| path
| The absolute path to the directory where the classes you want to provide are stored. | string | string[] | |
| injects
| Specify the feature to be injected as an array. | Array<Type> | []
|
| includeFileNames
| Specify an array of strings or regular expressions of file names to be included. | Array<string | RegExp> | []
|
| excludeFileNames
| Specify an array of strings or regular expressions of file names to be excluded. | Array<string | RegExp> | [/\.test$/, /\.d$/]
|
| includeFileExtensions
| Specify an array of strings or regular expressions of file extensions to be included. | Array<string | RegExp> | ['.js', '.ts']
|
| excludeFileExtensions
| Specify an array of strings or regular expressions of file extensions to be excluded. | Array<string | RegExp> | []
|
| includeExportNames
| Specify an array of strings or regular expressions of export names to be included. | Array<string | RegExp> | []
|
| excludeExportNames
| Specify an array of strings or regular expressions of export names to be excluded. | Array<string | RegExp> | []
|
🤝 Contributing
Contributions, issues and feature requests are welcome.
Feel free to check issues page if you want to contribute.
📝 License
Copyright © 2020 @Karibash.
This project is MIT
licensed.