@nestjs-modular/inject
TypeScript icon, indicating that this package has built-in type declarations

1.2.3 • Public • Published

@nestjs-modular/inject

npm version codecov license Github Twitter

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.

Package Sidebar

Install

npm i @nestjs-modular/inject

Weekly Downloads

9

Version

1.2.3

License

MIT

Unpacked Size

43.4 kB

Total Files

17

Last publish

Collaborators

  • karibash