{"id":26641652,"url":"https://github.com/omar-dulaimi/prisma-custom-models-generator","last_synced_at":"2025-06-21T06:41:40.386Z","repository":{"id":45898060,"uuid":"514906031","full_name":"omar-dulaimi/prisma-custom-models-generator","owner":"omar-dulaimi","description":"Prisma 2+ generator to emit custom models from your schema\"","archived":false,"fork":false,"pushed_at":"2024-04-11T17:40:15.000Z","size":138,"stargazers_count":21,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-11T23:20:08.465Z","etag":null,"topics":["custom-models","prisma","prisma-generator"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omar-dulaimi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"omar-dulaimi","custom":["https://www.buymeacoffee.com/omardulaimi"]}},"created_at":"2022-07-17T17:09:03.000Z","updated_at":"2025-06-04T19:13:11.000Z","dependencies_parsed_at":"2025-03-24T18:38:23.968Z","dependency_job_id":null,"html_url":"https://github.com/omar-dulaimi/prisma-custom-models-generator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/omar-dulaimi/prisma-custom-models-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar-dulaimi%2Fprisma-custom-models-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar-dulaimi%2Fprisma-custom-models-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar-dulaimi%2Fprisma-custom-models-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar-dulaimi%2Fprisma-custom-models-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omar-dulaimi","download_url":"https://codeload.github.com/omar-dulaimi/prisma-custom-models-generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar-dulaimi%2Fprisma-custom-models-generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261080113,"owners_count":23106564,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-models","prisma","prisma-generator"],"created_at":"2025-03-24T18:34:46.339Z","updated_at":"2025-06-21T06:41:35.371Z","avatar_url":"https://github.com/omar-dulaimi.png","language":"TypeScript","funding_links":["https://github.com/sponsors/omar-dulaimi","https://www.buymeacoffee.com/omardulaimi"],"categories":[],"sub_categories":[],"readme":"[![npm version](https://badge.fury.io/js/prisma-custom-models-generator.svg)](https://badge.fury.io/js/prisma-custom-models-generator)\n[![npm](https://img.shields.io/npm/dt/prisma-custom-models-generator.svg)](https://www.npmjs.com/package/prisma-custom-models-generator)\n[![HitCount](https://hits.dwyl.com/omar-dulaimi/prisma-custom-models-generator.svg?style=flat)](http://hits.dwyl.com/omar-dulaimi/prisma-custom-models-generator)\n[![npm](https://img.shields.io/npm/l/prisma-custom-models-generator.svg)](LICENSE)\n\n\u003cp align=\"center\"\u003e\n  \u003ch3 align=\"center\"\u003ePrisma Custom Models Generator\u003c/h3\u003e\n  \u003cp align=\"center\"\u003e\n    A Prisma generator that automates creating custom models from your Prisma schema.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/omar-dulaimi/prisma-custom-models-generator#additional-options\"\u003e\u003cstrong\u003eExplore the options »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/omar-dulaimi/prisma-custom-models-generator/issues/new?template=bug_report.yml\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/omar-dulaimi/prisma-custom-models-generator/issues/new?template=feature_request.md\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.buymeacoffee.com/omardulaimi\"\u003e\n    \u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-black.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [About The Project](#about-the-project)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Additional Options](#additional-options)\n- [Community](#community)\n\n# About The Project\n\nAutomatically generate custom models from your [Prisma](https://github.com/prisma/prisma) Schema. This includes all currently recommended ways as mentioned on [Prisma Docs](https://www.prisma.io/docs/concepts/components/prisma-client/custom-models). Updates every time `npx prisma generate` runs.\n\n# Installation\n\nUsing npm:\n\n```bash\n npm install prisma-custom-models-generator\n```\n\nUsing yarn:\n\n```bash\n yarn add prisma-custom-models-generator\n```\n\n# Usage\n\n1- Star this repo 😉\n\n2- Add the generator to your Prisma schema\n\n```prisma\ngenerator custom_models {\n  provider       = \"prisma-custom-models-generator\"\n  behavior       = \"WRAP\"\n}\n```\n\n3- Running `npx prisma generate` for the following schema.prisma\n\n```prisma\nmodel User {\n  id    Int     @id @default(autoincrement())\n  email String  @unique\n  name  String?\n  posts Post[]\n}\n\nmodel Post {\n  id        Int      @id @default(autoincrement())\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n  title     String\n  content   String?\n  published Boolean  @default(false)\n  viewCount Int      @default(0)\n  author    User?    @relation(fields: [authorId], references: [id])\n  authorId  Int?\n}\n```\n\nwill generate this for the User model(default behavior is `WRAP`)\n\n```ts\nimport { PrismaClient } from '@prisma/client';\n\nexport function Users(prismaUser: PrismaClient['user']) {\n  return Object.assign(prismaUser, {\n    // define methods here, comma-separated\n  });\n}\n```\n\nor this\n\n```ts\nimport { PrismaClient } from '@prisma/client';\n\nexport class Users {\n  constructor(private readonly prismaUser: PrismaClient['user']) {}\n}\n```\n\n# Additional Options\n\n| Option     |  Description                                               | Type               |  Default      |\n| ---------- | ---------------------------------------------------------- | ------------------ | ------------- |\n| `output`   | Output directory for the generated routers and zod schemas | `string`           | `./generated` |\n| `behavior` | Sets the preferred grouping logic                          | `WRAP` or `EXTEND` | `WRAP`        |\n\nUse additional options in the `schema.prisma`\n\n```prisma\ngenerator custom_models {\n  provider       = \"prisma-custom-models-generator\"\n  behavior       = \"EXTEND\"\n}\n```\n\n# Community\n\n[![Stargazers repo roster for @omar-dulaimi/prisma-custom-models-generator](https://reporoster.com/stars/omar-dulaimi/prisma-custom-models-generator)](https://github.com/omar-dulaimi/prisma-custom-models-generator/stargazers)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar-dulaimi%2Fprisma-custom-models-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomar-dulaimi%2Fprisma-custom-models-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar-dulaimi%2Fprisma-custom-models-generator/lists"}