4.0.0 • Published 5 months ago

nestjs-configure-after v4.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
5 months ago

Using NestJS?

Do you have middlewares set via configure(consumer: MiddlewareConsumer) {} and want to control the order of execution of these middlewares?

Install

npm i nestjs-configure-after

Example

Let's assume we have ModuleA, ModuleB, and ModuleC, and each has its own middleware setup. And we want these middlewares to be set in the correct order, like A -> B -> C. By default NestJS does not provide the way to set the order. But with this library it's possible:

import { After } from 'nestjs-configure-after'

@Module({})
//
// Empty if independent
//
@After()
class ModuleA {
  configure(consumer: MiddlewareConsumer) {
    consumer
      .apply(FirstMiddleware)
      .forRoutes('*');
  }
}

@Module({})
//
// Pass module that should configure it's middlewares
// before the current one
//
@After(ModuleA)
class ModuleB {
  configure(consumer: MiddlewareConsumer) {
    consumer
      .apply(SecondMiddlewareThatShouldBeExecutedAfterTheFirstOne)
      .forRoutes('*');
  }
}

@Module({})
//
// ...Or even pass several modules
//
@After(ModuleA, ModuleB)
class ModuleC {
  configure(consumer: MiddlewareConsumer) {
    consumer
      .apply(TheLastMiddleware)
      .forRoutes('*');
  }
}

@Module({
  // And for now it does not matter in which
  // order modules are set in `imports` field
  // Middlewares will be setup in the right order.
  imports: [ModuleC, ModuleA, ModuleB, ...],
  controllers: [...]
})
class App {}
3.0.0-alpha.7a4512

5 months ago

4.0.0

5 months ago

3.0.0-alpha.76c16b

5 months ago

3.0.0-alpha.7152c3

5 months ago

3.0.0

2 years ago

2.0.0-alpha.7193

2 years ago

2.0.0-alpha.8111

3 years ago

2.0.0

4 years ago

1.0.3

5 years ago

1.0.1

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago