prisma-field-sorter v1.0.3
prisma-field-sorter
A simple CLI tool to sort fields within Prisma models in a schema.prisma
file.
The tool ensures:
id
fields are always at the top.createdAt
andupdatedAt
fields are always at the end.- Other fields are sorted alphabetically.
Additionally, the tool formats the schema using npx prisma format
after
sorting.
✨ Features
- Automatically organizes your Prisma models for consistency.
- Ensures specific field order:
id
at the top.- Alphabetically sorted fields in the middle.
createdAt
andupdatedAt
just before fields with special characters.
- Runs
npx prisma format
after sorting for proper formatting.
📦 Installation
Install the package globally to use the CLI:
npm install -g prisma-field-sorter
🚀 Usage
Run the command and provide the path to your schema.prisma
file:
prisma-field-sorter ./prisma/schema.prisma
This will:
- Sort the fields in your Prisma schema.
- Format the schema using
npx prisma format
.
🛠 Example
Before Sorting:
schema.prisma
model User {
email String @unique
updatedAt DateTime @updatedAt
username String
createdAt DateTime @default(now())
id Int @id @default(autoincrement())
profile Profile? @relation(fields: [profileId], references: [id])
profileId Int?
}
After Sorting:
schema.prisma
model User {
id Int @id @default(autoincrement())
email String @unique
username String
profileId Int?
profile Profile? @relation(fields: [profileId],
references: [id])
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
🧰 Requirements
- Node.js version 14+
- Prisma installed in your project
🛡 Best Practices
For best results, use this tool in combination with Prettier and a pre-commit hook to enforce schema consistency in team projects.
💡 Tips
- Add it to your
package.json
scripts for easier usage:
"scripts": {
"sort-prisma-fields": "prisma-field-sorter ./prisma/schema.prisma"
}
- Use it in your CI pipeline to ensure sorted and formatted Prisma schemas.
🤝 Contributing
Contributions are welcome! To get started:
Clone the repository:
git clone https://github.com/kifah1989/prisma-fields-alphabetical-sorter.git
Install dependencies:
npm install
Feel free to open issues or submit pull requests.
📝 License
This project is licensed under the MIT License.
💬 Feedback
For feedback or issues, open a GitHub issue or contact me at kifah.andary@gmail.com.