prisma-lint
A linter for Prisma schema files.
Installation
> npm install --save-dev prisma-lint
> yarn add --dev prisma-lint
Usage
> npm prisma-lint path/to/schema.prisma
> yarn prisma-lint path/to/schema.prisma
The arguments can be globs, directories, or file paths. The default path is prisma/schema.prisma
.
Configuration
Configuration files are loaded with cosmiconfig.
Here's an example .prismalintrc.json
:
{
"rules": {
"model-name-grammatical-number": [
"error",
{
"style": "singular"
}
],
"model-name-mapping-snake-case": [
"error",
{
"compoundWords": ["GraphQL"],
"trimPrefix": "Db"
}
],
"model-name-prefix": [
"error",
{
"prefix": "Db"
}
]
}
}
Rules
See RULES.md for a full list of supported rules.
Rules can be ignored with three-slash (///
) comments inside models.
To ignore all lint rules for a model and its fields:
model User {
/// prisma-lint-ignore-model
}
To ignore specific lint rules for a model and its fields:
model User {
/// prisma-lint-ignore-model require-field
/// prisma-lint-ignore-model require-field-type
}
Some rules support parameterized ignore comments like this:
model User {
/// prisma-lint-ignore-model require-field revisionNumber,revisionCreatedAt
}
Omitting revisionNumber
and revisionCreatedAt
fields from this model will not result in a violation. Other required fields remain required.