@prismakit/eslint-plugin
v3.2.0
Published
ESLint rules enforcing PrismaKit data-access boundaries
Maintainers
Readme
@prismakit/eslint-plugin
ESLint rules that enforce repository-only Prisma access for PrismaKit apps.
Documentation · ESLint reference · Rules
Install
pnpm add -D @prismakit/eslint-pluginUsage (flat config)
// eslint.config.mjs
import prismakit from '@prismakit/eslint-plugin';
export default [
prismakit.configs.recommended,
];Rules
| Rule | Enforces |
|------|----------|
| prismakit/no-prisma-service-outside-repos | No PrismaClient / PrismaService outside **/repositories/** |
| prismakit/no-direct-prisma-delegate | No prisma.<model>.* outside repositories |
| prismakit/require-transaction-service | No raw .$transaction in feature code — use TransactionService |
| prismakit/require-cached-repo-provider | Cached defineAppRepo({ cache }) classes must be in a Nest providers array (flags the repo class and the feature module) |
// BAD
constructor(private readonly prisma: PrismaClient) {}
await this.prisma.user.findUnique({ where: { id } });
// GOOD
constructor(private readonly users: UserRepository) {}
await this.users.getById({ id, select: { id: true } });Docs
License
Apache-2.0
