{"_id":"@bitphoenix/prisma-zod-generator","name":"@bitphoenix/prisma-zod-generator","dist-tags":{"latest":"0.5.3"},"versions":{"0.5.3":{"name":"@bitphoenix/prisma-zod-generator","version":"0.5.3","description":"Prisma 2+ generator to emit Zod schemas from your Prisma schema","repository":{"type":"git","url":"git+https://github.com/omar-dulaimi/prisma-zod-generator.git"},"bin":{"prisma-zod-generator":"lib/generator.js"},"scripts":{"gen-example":"tsc && npx prisma generate","package:publish":"./package.sh && cd package && npm publish --access public"},"author":{"name":"Omar Dulaimi","url":"https://github.com/omar-dulaimi"},"keywords":["prisma","prisma-client","prisma-schema","zod","prisma-generator","prisma-zod-generator"],"license":"MIT","dependencies":{"@prisma/client":"^4.3.1","@prisma/generator-helper":"^4.3.1","@prisma/internals":"^4.3.1","prettier":"^2.7.1","tslib":"^2.4.0","zod":"^3.18.0"},"devDependencies":{"@types/node":"^18.7.15","@types/prettier":"^2.7.0","prisma":"^4.3.1","typescript":"^4.8.2","ts-node":"^10.9.1"},"bugs":{"url":"https://github.com/omar-dulaimi/prisma-zod-generator/issues"},"homepage":"https://github.com/omar-dulaimi/prisma-zod-generator#readme","private":false,"gitHead":"275868019701abb79d1734a7e3cf1670825a8940","_id":"@bitphoenix/prisma-zod-generator@0.5.3","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-NR/IH5NJsuRWn8fowJXmLLqrGPLfJa2ROTXbZ2ZgfcR07BVq4xkuy107BCUJ1mLlMeMFhofVseImkBQRS0c8Dg==","shasum":"129cafd6360b82a2d10b7f34b545950ae49ec7d4","tarball":"https://registry.npmjs.org/@bitphoenix/prisma-zod-generator/-/prisma-zod-generator-0.5.3.tgz","fileCount":36,"unpackedSize":80713,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzsLar/Hiy1qqt6dkVvF6kH49bvOnDqppH4q1QscY8CQIhAOOAjHsmHds0CqUoB+hdp8sBSGcPhvr5DQA5F8Qnudrh"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYcSWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+fw/9F6MH7f40Tfv/lggc4fKA7Vuhi32Cxdeb6WAMtHoMyFz8DDLX\r\nOejTFVDAQFpWhamRWZtmV0AoAmpRFbbchZTG43syWPgOG4gK1UIAU2cXFCIh\r\nz9sxcqoQGBbGw2PuMiK29uJezg8L0sDEkX9z8xF1uXTMSsv6ubi5VJP03SrK\r\nj4JWVQKXAtmrJ+YvDDpqNHS1gje9oVS36erP99zjAVqmAUb/+T9zXR55HqLC\r\niva5Ztmv2NzYHjTyIeMfI6iLddj7qtzB+aADwgo23mtxJ4vzpgFiR7Yd0jfk\r\nMMEJcMTlSDt5WiKm0TFmCd3c2sWeRu/9Kl+52ytuR9DSp0I1eKkqUxRUarwd\r\nPdwWBZwaedkGnUpFUluWefCgbVVMRXDzjlAp8B0AFBihrnhxOQeRmeUrhl5P\r\nN+tyuLfqQyMprdnqqgOQr82QVfySMh31sp4ieb8knx19OJx5lmXXcZaWhV1D\r\nVyyG8Tc05Lu07mcm8EWXXRGHJibw/k5ID3fB6pAunRktIz6DL25sVcsN77w0\r\nx7KXP4cE8Tm2MiPWNeWWkAN0AI1TkiEfkoUSmaMWBfH11jz+nT4zY/xvptZa\r\nZMRp03C0jhMsE5Itj6VPmrcgUz9M+WckRC2oOynj0ISrdImw7rCqfcHVnBoq\r\n6JpBmFvVWXuSIyS9E003Sbnml605pAoQb9I=\r\n=oNpg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bitphoenix","email":"kjuszkiewicz95@gmail.com"},"directories":{},"maintainers":[{"name":"bitphoenix","email":"kjuszkiewicz95@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/prisma-zod-generator_0.5.3_1667351702335_0.7205508756786927"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-02T01:15:02.250Z","0.5.3":"2022-11-02T01:15:02.596Z","modified":"2022-11-02T01:15:02.705Z"},"maintainers":[{"name":"bitphoenix","email":"kjuszkiewicz95@gmail.com"}],"description":"Prisma 2+ generator to emit Zod schemas from your Prisma schema","homepage":"https://github.com/omar-dulaimi/prisma-zod-generator#readme","keywords":["prisma","prisma-client","prisma-schema","zod","prisma-generator","prisma-zod-generator"],"repository":{"type":"git","url":"git+https://github.com/omar-dulaimi/prisma-zod-generator.git"},"author":{"name":"Omar Dulaimi","url":"https://github.com/omar-dulaimi"},"bugs":{"url":"https://github.com/omar-dulaimi/prisma-zod-generator/issues"},"license":"MIT","readme":"# Prisma Zod Generator\n\n[![npm version](https://badge.fury.io/js/prisma-zod-generator.svg)](https://badge.fury.io/js/prisma-zod-generator)\n[![npm](https://img.shields.io/npm/dt/prisma-zod-generator.svg)](https://www.npmjs.com/package/prisma-zod-generator)\n[![HitCount](https://hits.dwyl.com/omar-dulaimi/prisma-zod-generator.svg?style=flat)](http://hits.dwyl.com/omar-dulaimi/prisma-zod-generator)\n[![npm](https://img.shields.io/npm/l/prisma-zod-generator.svg)](LICENSE)\n\nAutomatically generate [Zod](https://github.com/colinhacks/zod) schemas from your [Prisma](https://github.com/prisma/prisma) Schema, and use them to validate your API endpoints or any other use you have. Updates every time `npx prisma generate` runs.\n\n<p align=\"center\">\n  <a href=\"https://www.buymeacoffee.com/omardulaimi\">\n    <img src=\"https://cdn.buymeacoffee.com/buttons/default-black.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\">\n  </a>\n</p>\n\n## Table of Contents\n\n- [Supported Prisma Versions](#supported-prisma-versions)\n- [Installation](#installing)\n- [Usage](#usage)\n- [Additional Options](#additional-options)\n\n# Supported Prisma Versions\n\n### Prisma 4\n\n- 0.3.0 and higher\n\n### Prisma 2/3\n\n- 0.2.0 and lower\n\n# Installation\n\nUsing npm:\n\n```bash\n npm install prisma-zod-generator\n```\n\nUsing yarn:\n\n```bash\n yarn add prisma-zod-generator\n```\n\n# Usage\n\n1- Star this repo 😉\n\n2- Add the generator to your Prisma schema\n\n```prisma\ngenerator zod {\n  provider = \"prisma-zod-generator\"\n}\n```\n\n3- Enable strict mode in `tsconfig` as it is required by Zod, and considered a Typescript best practice\n\n```ts\n{\n  \"compilerOptions\": {\n    \"strict\": true\n  }\n}\n\n```\n\n4- 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  likes     BigInt\n}\n```\n\nwill generate the following files\n\n![Zod Schemas](https://raw.githubusercontent.com/omar-dulaimi/prisma-zod-generator/master/zodSchemas.png)\n\n5- Use generated schemas somewhere in your API logic, like middleware or decorator\n\n```ts\nimport { PostCreateOneSchema } from './prisma/generated/schemas/createOnePost.schema';\n\napp.post('/blog', async (req, res, next) => {\n  const { body } = req;\n  await PostCreateOneSchema.parse(body);\n});\n```\n\n## Additional Options\n\n| Option   |  Description                                   | Type     |  Default      |\n| -------- | ---------------------------------------------- | -------- | ------------- |\n| `output` | Output directory for the generated zod schemas | `string` | `./generated` |\n\nUse additional options in the `schema.prisma`\n\n```prisma\ngenerator zod {\n  provider   = \"prisma-zod-generator\"\n  output     = \"./generated-zod-schemas\"\n}\n```\n","readmeFilename":"README.md"}