Nestjs-Query is a collection of packages for building queryable CRUD APIs with NestJS. It provides reusable query, filtering, sorting, paging, authorization, and persistence-service primitives for GraphQL and REST applications.
While working on projects in NestJS it was easy to get up and running with GraphQL, but many resolver patterns were repeated across applications—especially querying, sorting, and paging. Nestjs-Query packages those patterns so they can be configured and reused.
Nestjs-query is composed of multiple packages
@ptc-org/nestjs-query-core - Framework-independent query, service, DTO, and utility primitives.@ptc-org/nestjs-query-graphql - GraphQL resolvers, decorators, and CRUD endpoints.@ptc-org/nestjs-query-rest - REST controllers, decorators, and CRUD endpoints.@ptc-org/nestjs-query-mikro-orm - MikroORM persistence service.@ptc-org/nestjs-query-mongoose - Mongoose persistence service.@ptc-org/nestjs-query-sequelize - Sequelize persistence service.@ptc-org/nestjs-query-typegoose - Typegoose persistence service.@ptc-org/nestjs-query-typeorm - TypeORM persistence service.For local development, clone the repository and install dependencies with Yarn 4:
$ yarn
# To build all packages
$ yarn nx run-many --target=build --all
# To run all tests
$ yarn nx run-many --target=test --all
# To run the standard E2E tests (requires Docker)
$ yarn docker up -d
$ yarn nx e2e examples
# To build one package
$ yarn nx build query-graphql
See CONTRIBUTING.md for the complete development and pull-request guide. Please also review our Code of Conduct.
If you have questions or issues, please open an issue. For community discussion, join the NestJS Query Slack.
No tracked packages depend on this.