
Security News
arXiv Is Rate Limiting Authors Following a Flood of AI Slop Submissions
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.
prisma-error-formatter
Advanced tools
A flexible and customizable Prisma error formatter to simplify and unify error handling in Prisma Client applications.
A flexible and customizable Prisma error formatter to simplify and unify error handling in Prisma Client applications. Easily transform Prisma errors into user-friendly, consistent error messages for your APIs or UI.
PrismaClientKnownRequestErrorPrismaClientValidationErrorPrismaClientInitializationErrorPrismaClientRustPanicErrorpath and message fields.npm install prisma-error-formatter @prisma/client
import { PrismaClient } from "@prisma/client";
import { PrismaExceptionFormatter } from "prisma-error-formatter";
const prisma = new PrismaClient();
const formatter = new PrismaExceptionFormatter();
async function createUser(email: string) {
try {
await prisma.user.create({ data: { email } });
} catch (error) {
const formattedErrors = formatter.formatError(error);
console.error(formattedErrors);
/*
Example output:
[
{
path: "email",
message: "A record with this email already exists."
}
]
*/
}
}
You can provide your own formatting logic by passing a format function when creating the formatter instance:
import { PrismaExceptionFormatter, ErrorMessage } from "prisma-error-formatter";
const formatter = new PrismaExceptionFormatter({
format: ({ type, error, defaults }) => {
// Add extra info or change messages based on error type
if (type === "known" && error.code === "P2002") {
return [
{
path: defaults[0].path,
message: `Custom: Duplicate value found for ${defaults[0].path}`,
},
];
}
// Fallback to default formatting
return defaults;
},
});
new PrismaExceptionFormatter(options?: { format?: FormatFunction })Creates a new formatter instance.
options.format - Optional custom format function. Receives an object with:
type: The error type (known, validation, initialization, panic, unknown)error: The original error objectdefaults: The default formatted error messages (array of { path, message })Returns formatted errors as an array.
formatError(exception: any): ErrorMessage[]
Automatically detects the Prisma error type and returns formatted messages.
formatPrismaError(exception: PrismaClientKnownRequestError): ErrorMessage[]
Formats known Prisma client errors.
formatQueryError(exception: PrismaClientValidationError | PrismaClientRustPanicError): ErrorMessage[]
Formats validation or panic errors.
formatInitializationError(exception: PrismaClientInitializationError): ErrorMessage[]
Formats database initialization errors.
formatUnknownError(exception: any): ErrorMessage[]
Formats unknown errors.
P2002 - Unique constraint violationP2003 - Foreign key constraint failureP2005, P2006 - Invalid value errorsP2025 - Record not foundMIT © Nurul Islam Rimon
Contributions, issues, and feature requests are welcome! Feel free to check
Built with ❤️ by Nurul Islam Rimon
This project is open to all contributors! Whether you're fixing bugs, improving documentation, adding new formatters, or suggesting ideas — your contribution is highly appreciated.
git checkout -b feat/my-awesome-feature
git commit -m "feat: add my awesome feature"
git push origin feat/my-awesome-feature
FAQs
A flexible and customizable Prisma error formatter to simplify and unify error handling in Prisma Client applications.
The npm package prisma-error-formatter receives a total of 58 weekly downloads. As such, prisma-error-formatter popularity was classified as not popular.
We found that prisma-error-formatter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.

Research
/Security News
A new GhostAction wave hits hundreds of GitHub repos, expanding CI/CD secret theft to cloud and AI credentials in source code and git history.

Research
/Security News
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.