Skip to main content

NestJS Factory Pattern Module

nestjs-factory-pattern-module helps you implement a factory/provider pattern inside NestJS.

It lets you:

  • register a factory by name (token)
  • mark provider services with @FactoryProvider(factoryName, providerName)
  • resolve providers at runtime via FactoryService.getProviderServiceAsync(type)

Under the hood, it uses NestJS DiscoveryService to discover decorated providers.

Features

  • ✅ Seamless NestJS DI (Native provider injection support)
  • ✅ Clean strategy pattern (Eliminate switch/case boilerplate)
  • ✅ SOLID principles (Easy new strategy addition without modifying existing logic)
  • ✅ TypeScript support (100% type-safe with autocompletion)
  • ✅ Async configuration (Full registerAsync() support)

Supported versions

  • NestJS: v11.x (package dependencies target @nestjs/common / @nestjs/core ^11)