prisma-generator-js-enums
Prisma generator that creates JavaScript or TypeScript enum objects from your Prisma schema enums.
Install
npm install prisma-generator-js-enums
Usage
Add the generator to your schema.prisma:
generator jsEnums {
provider = "prisma-generator-js-enums"
output = "./generated/enums"
}
Then run:
npx prisma generate
Schema
enum Role {
USER
ADMIN
MODERATOR
}
enum Status {
ACTIVE
INACTIVE
}
JS output (default)
const Role = Object.freeze({
USER: "USER",
ADMIN: "ADMIN",
MODERATOR: "MODERATOR",
});
const Status = Object.freeze({
ACTIVE: "ACTIVE",
INACTIVE: "INACTIVE",
});
module.exports = { Role, Status };
TypeScript output
Set outputType = "ts" to generate TypeScript with as const objects and union types:
generator jsEnums {
provider = "prisma-generator-js-enums"
output = "./generated/enums"
outputType = "ts"
}
export const Role = {
USER: "USER",
ADMIN: "ADMIN",
MODERATOR: "MODERATOR",
} as const;
export type Role = (typeof Role)[keyof typeof Role];
export const Status = {
ACTIVE: "ACTIVE",
INACTIVE: "INACTIVE",
} as const;
export type Status = (typeof Status)[keyof typeof Status];
Options
output | path | ./generated/enums | Output directory |
outputType | "js" "ts" | "js" | Output format |
License
ISC