Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
GraphqlLoader
✓ import { GraphqlLoader } from 'nestjs-graphql-tools'
✗ const { GraphqlLoader } = require('nestjs-graphql-tools')
Decorator for solving N+1 problem; ESM only
Loader
✓ import { Loader } from 'nestjs-graphql-tools'
✗ import { LoaderData } from 'nestjs-graphql-tools'
Use Loader as a parameter decorator (not LoaderData); LoaderData is the return type
GraphqlFilter
✓ import { GraphqlFilter } from 'nestjs-graphql-tools'
✗ import { GraphQLFilter } from 'nestjs-graphql-tools'
Case-sensitive; used for defining filter inputs
GraphqlSorting
✓ import { GraphqlSorting } from 'nestjs-graphql-tools'
✗ import { GraphqlSorting } from '@nestjs/graphql'
Provided by nestjs-graphql-tools, not @nestjs/graphql
Filter
✓ import { Filter } from 'nestjs-graphql-tools'
✗ import { Filter } from 'typeorm'
Parameter decorator for accessing filter arguments in resolvers
Shows minimal setup: import library decorators, define query resolver with filter/sorting/pagination support, and register in NestJS module.
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
import { TypeOrmModule } from '@nestjs/typeorm';
import { UserResolver } from './user.resolver';
import { User } from './user.entity';
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'sqlite',
database: ':memory:',
entities: [User],
synchronize: true,
}),
GraphQLModule.forRoot({
autoSchemaFile: true,
}),
],
providers: [UserResolver],
})
export class AppModule {}
// user.resolver.ts
import { Resolver, Query, Args } from '@nestjs/graphql';
import { GraphqlFilter, GraphqlSorting, Filter, Sorting, Pagination, GraphqlPagination } from 'nestjs-graphql-tools';
import { User } from './user.entity';
import { UserObjectType } from './user.dto';
@Resolver(() => UserObjectType)
export class UserResolver {
@Query(() => [UserObjectType])
async users(
@Filter(() => UserObjectType) filter: GraphqlFilter,
@Sorting(() => UserObjectType) sorting: GraphqlSorting,
@Pagination() pagination: GraphqlPagination,
) {
// Build query using filter, sorting, pagination
return [];
}
}
Errors
Common errors & fixes
Cannot find module 'nestjs-graphql-tools' or its corresponding type declarations.
Missing npm install or incorrect import path
fixRun: npm install nestjs-graphql-tools --save
TypeError: Class constructor cannot be invoked without 'new'
Using CommonJS require instead of ESM import
fixChange to: import { GraphqlLoader } from 'nestjs-graphql-tools' Missing peer dependencies: @nestjs/graphql, typeorm
Peer dependencies not installed automatically
fixRun: npm install @nestjs/graphql typeorm --save
No provider for EntityManager
TypeORM module not imported or configured
fixAdd TypeOrmModule.forRoot() or TypeOrmModule.forFeature() in your module imports
Audit
Dependencies
@nestjs/graphqlrequiredPeer dependency; provides core GraphQL integration for NestJS
typeormrequiredPeer dependency; used for database interactions and entity definitions