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