{"id":13721812,"url":"https://github.com/Byndyusoft/nest-dynamic-module","last_synced_at":"2025-05-07T14:30:46.466Z","repository":{"id":37857062,"uuid":"397109732","full_name":"Byndyusoft/nest-dynamic-module","owner":"Byndyusoft","description":"DynamicModule helper for NestJS","archived":false,"fork":false,"pushed_at":"2023-12-15T08:51:39.000Z","size":209,"stargazers_count":3,"open_issues_count":11,"forks_count":0,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-20T01:33:58.018Z","etag":null,"topics":["modules","nestjs","nodejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Byndyusoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-08-17T05:13:31.000Z","updated_at":"2024-06-26T06:01:40.000Z","dependencies_parsed_at":"2023-12-15T09:52:36.484Z","dependency_job_id":null,"html_url":"https://github.com/Byndyusoft/nest-dynamic-module","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"16363fc73add686b2f1702936feef173fda3d617"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":"Byndyusoft/node-typescript-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2Fnest-dynamic-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2Fnest-dynamic-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2Fnest-dynamic-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2Fnest-dynamic-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Byndyusoft","download_url":"https://codeload.github.com/Byndyusoft/nest-dynamic-module/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252895488,"owners_count":21821169,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["modules","nestjs","nodejs"],"created_at":"2024-08-03T01:01:21.713Z","updated_at":"2025-05-07T14:30:45.959Z","avatar_url":"https://github.com/Byndyusoft.png","language":"TypeScript","readme":"# nest-dynamic-module\n\n[![npm@latest](https://img.shields.io/npm/v/@byndyusoft/nest-dynamic-module/latest.svg)](https://www.npmjs.com/package/@byndyusoft/nest-dynamic-module)\n[![test workflow](https://github.com/Byndyusoft/nest-dynamic-module/actions/workflows/test.yaml/badge.svg?branch=master)](https://github.com/Byndyusoft/nest-dynamic-module/actions/workflows/test.yaml)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nDynamicModule helper for NestJS\n\n## Requirements\n\n- Node.js v12 LTS or later\n- npm or yarn\n\n## Install\n\n```bash\nnpm install @byndyusoft/nest-dynamic-module\n```\n\nor\n\n```bash\nyarn add @byndyusoft/nest-dynamic-module\n```\n\n## Usage\n\nExample usage:\n\n```typescript\nimport {\n  DynamicModuleHelper,\n  TRegisterAsyncOptions,\n} from \"@byndyusoft/nest-dynamic-module\";\nimport { DynamicModule, Inject, Injectable, Module } from \"@nestjs/common\";\n\nclass ExampleOptionsDto {\n  public readonly connectionString!: string;\n}\n\nconst EXAMPLE_OPTIONS_TOKEN = Symbol(\"EXAMPLE_OPTIONS_TOKEN\");\n\n@Injectable()\nclass ExampleProvider {\n  public constructor(\n    @Inject(EXAMPLE_OPTIONS_TOKEN)\n    options: ExampleOptionsDto,\n  ) {\n    console.log(options.connectionString);\n  }\n}\n\n@Module({})\nclass ExampleModule {\n  public static registerAsync(\n    options?: TRegisterAsyncOptions\u003cExampleOptionsDto\u003e,\n  ): DynamicModule {\n    return DynamicModuleHelper.registerAsync(\n      {\n        module: ExampleModule,\n        global: true,\n        providers: [ExampleProvider],\n        exports: [ExampleProvider],\n      },\n      EXAMPLE_OPTIONS_TOKEN,\n      options,\n    );\n  }\n}\n\nclass ConfigDto {\n  public readonly exampleOptions!: ExampleOptionsDto;\n}\n\n@Module({\n  imports: [\n    ExampleModule.registerAsync({\n      inject: [ConfigDto],\n      useFactory: (config: ConfigDto) =\u003e config.exampleOptions,\n    }),\n  ],\n})\nclass AppModule {}\n```\n\n## Maintainers\n\n- [@Byndyusoft/owners](https://github.com/orgs/Byndyusoft/teams/owners) \u003c\u003cgithub.maintain@byndyusoft.com\u003e\u003e\n- [@Byndyusoft/team](https://github.com/orgs/Byndyusoft/teams/team)\n\n## License\n\nThis repository is released under version 2.0 of the\n[Apache License](https://www.apache.org/licenses/LICENSE-2.0).\n","funding_links":[],"categories":["Node.js"],"sub_categories":["Using in modern projects"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FByndyusoft%2Fnest-dynamic-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FByndyusoft%2Fnest-dynamic-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FByndyusoft%2Fnest-dynamic-module/lists"}