@wallentaine/cqrs-schematics
v0.1.6
Published
CLI-схематика для утилиты nest generate
Maintainers
Readme
CQRS Schematics for NestJS
Кастомные схемытики для быстрой генерации CQRS-файлов в NestJS.
Установка
npm i -D @wallentaine/cqrs-schematics
# или
yarn add --dev @wallentaine/cqrs-schematics
# или
pnpm add --dev @wallentaine/cqrs-schematicsИспользование
Базовые команды
# Command
nest g -c @wallentaine/cqrs-schematics command <Name>
# Query
nest g -c @wallentaine/cqrs-schematics query <Name>
# Event
nest g -c @wallentaine/cqrs-schematics event <Name>Примеры
nest g -c @wallentaine/cqrs-schematics command CreateUser
nest g -c @wallentaine/cqrs-schematics query GetUserProfile
nest g -c @wallentaine/cqrs-schematics event UserCreatedBash алиасы (добавьте в ~/.bashrc или ~/.zshrc)
alias ngc="nest g -c @wallentaine/cqrs-schematics command"
alias ngq="nest g -c @wallentaine/cqrs-schematics query"
alias nge="nest g -c @wallentaine/cqrs-schematics event"Теперь комады будут выглядеть так:
ngc CreatePost
ngq FindPostById
nge PostCreatedЧто генерируется
Для каждой команды создаются:
- Файл с самой командой/запросом/событием
- Файл
handlerс готовым шаблоном обработчика - Файл
httpControllerс готовым шаблоном контроллера(дляcommandиquery)
Пример для CreatePost:
src/Commands/CreatePost.command.ts
src/Commands/CreatePost.commandHandler.ts
src/Commands/CreatePost.http.controller.tsРегистрация
Не забудьте добавить обработчик и контроллер в providers модуля:
@Module({
providers: [CreatePostCommandHandler, FindPostByIdQueryHandler],
controllers: [CreatePostHttpController, FindPostByIdHttpController],
})
export class PostModule {}