{"_id":"@arian8ultra/prismagen","_rev":"6-9dfab31508385831cb7cea18696ca82b","name":"@arian8ultra/prismagen","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@arian8ultra/prismagen","version":"0.1.0","keywords":["prisma","codegen","generator","cli","nextjs"],"license":"MIT","_id":"@arian8ultra/prismagen@0.1.0","maintainers":[{"name":"arian8ultra","email":"arian8ultra@gmail.com"}],"homepage":"https://github.com/Arian8Ultra/PrismaGen#readme","bugs":{"url":"https://github.com/Arian8Ultra/PrismaGen/issues"},"bin":{"prismagen":"dist/cli.js"},"dist":{"shasum":"5f174a5e96305003ecea1ff6cd4b135c514490d8","tarball":"https://registry.npmjs.org/@arian8ultra/prismagen/-/prismagen-0.1.0.tgz","fileCount":8,"integrity":"sha512-P2AkBHpAfh29ZPj0N/MHCkhwcHE5IPb1GqxpL6giv92fCoHDunRixMCleGQ+FGUDJ8WbkzZ2WdHFM0+v5Xo8PQ==","signatures":[{"sig":"MEUCIQDD49+LLGI4ZtdJ2yB7RQKOu0K1SEnJEIaPcJq+MdYQ4AIgMVEdvpt7tFYUNN9PAue5FyOyPDEAXgOMBrl3566fkUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29939},"main":"dist/generate-prisma-api.js","types":"dist/generate-prisma-api.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/generate-prisma-api.js"},"gitHead":"236c0ad0b0c3eb1f7c04379d4cd466dbba97d83f","scripts":{"dev":"node dist/cli.js --interactive","build":"tsc -p tsconfig.json","gen:api":"npm run build && node dist/cli.js","prepublishOnly":"npm run build","gen:api:interactive":"npm run build && node dist/cli.js --interactive"},"_npmUser":{"name":"arian8ultra","email":"arian8ultra@gmail.com"},"repository":{"url":"git+https://github.com/Arian8Ultra/PrismaGen.git","type":"git"},"_npmVersion":"11.6.2","description":"Generate API routes + Prisma function wrappers from prisma/schema.prisma","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@prisma/internals":"^6.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/prismagen_0.1.0_1766019845447_0.8312565041961082","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@arian8ultra/prismagen","version":"0.1.1","keywords":["prisma","codegen","generator","cli","nextjs"],"license":"MIT","_id":"@arian8ultra/prismagen@0.1.1","maintainers":[{"name":"arian8ultra","email":"arian8ultra@gmail.com"}],"homepage":"https://github.com/Arian8Ultra/PrismaGen#readme","bugs":{"url":"https://github.com/Arian8Ultra/PrismaGen/issues"},"bin":{"prismagen":"dist/cli.js"},"dist":{"shasum":"8497f10f703bc8a72a4971664741f1108a3a71ab","tarball":"https://registry.npmjs.org/@arian8ultra/prismagen/-/prismagen-0.1.1.tgz","fileCount":8,"integrity":"sha512-S3wJrLlFr4YmAo10rW4xD5RIdfvvClTpNh7efFIKLszWSDB7rprLgvavjDWJYOvM1TTRTwyhd/xRruWB05eV6g==","signatures":[{"sig":"MEYCIQC4fDi0Qg5BSoJYOsqVaSMnjHNSezyUxsP0u7WuzeVwUQIhAJBT/iYleB3xScon6+s+b/11Idrjf9T8giWqwnt/A+NG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31349},"main":"dist/generate-prisma-api.js","types":"dist/generate-prisma-api.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/generate-prisma-api.js"},"gitHead":"c769b0a50124445ddd8a296e80f683a740904c0c","scripts":{"dev":"node dist/cli.js --interactive","build":"tsc -p tsconfig.json","gen:api":"npm run build && node dist/cli.js","prepublishOnly":"npm run build","gen:api:interactive":"npm run build && node dist/cli.js --interactive"},"_npmUser":{"name":"arian8ultra","email":"arian8ultra@gmail.com"},"repository":{"url":"git+https://github.com/Arian8Ultra/PrismaGen.git","type":"git"},"_npmVersion":"11.6.2","description":"Generate API routes + Prisma function wrappers from prisma/schema.prisma","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@prisma/internals":"^6.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/prismagen_0.1.1_1766020363619_0.8222556723401344","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@arian8ultra/prismagen","version":"0.1.2","keywords":["prisma","codegen","generator","cli","nextjs"],"license":"MIT","_id":"@arian8ultra/prismagen@0.1.2","maintainers":[{"name":"arian8ultra","email":"arian8ultra@gmail.com"}],"homepage":"https://github.com/Arian8Ultra/PrismaGen#readme","bugs":{"url":"https://github.com/Arian8Ultra/PrismaGen/issues"},"bin":{"prismagen":"dist/cli.js"},"dist":{"shasum":"d3070583cdf345046b1b025e015fc315b440fc69","tarball":"https://registry.npmjs.org/@arian8ultra/prismagen/-/prismagen-0.1.2.tgz","fileCount":8,"integrity":"sha512-xcmuTYHpawKtlimVX766wQDCqIED1l/Vt6nV7qe1sgPG2P212T/GH1Myx06JXf42+Bjfw70bdlOBeIuS9t82fg==","signatures":[{"sig":"MEQCIGbh2wJH7O3DxegzckMQYOJD44B1YVLViaDUMH/5FoHMAiBZFRGF6x10NCQZDDbcPWX5AsPKw1EiXw2vhWS7alss/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32644},"main":"dist/generate-prisma-api.js","types":"dist/generate-prisma-api.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/generate-prisma-api.js"},"gitHead":"ef4038a28a58d0ab0dec903df661f828e0fc9aad","scripts":{"dev":"node dist/cli.js --interactive","build":"tsc -p tsconfig.json","gen:api":"npm run build && node dist/cli.js","prepublishOnly":"npm run build","gen:api:interactive":"npm run build && node dist/cli.js --interactive"},"_npmUser":{"name":"arian8ultra","email":"arian8ultra@gmail.com"},"repository":{"url":"git+https://github.com/Arian8Ultra/PrismaGen.git","type":"git"},"_npmVersion":"11.6.2","description":"Generate API routes + Prisma function wrappers from prisma/schema.prisma","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@prisma/internals":"^6.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/prismagen_0.1.2_1766020615330_0.7990661012161517","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@arian8ultra/prismagen","version":"0.1.3","keywords":["prisma","codegen","generator","cli","nextjs"],"license":"MIT","_id":"@arian8ultra/prismagen@0.1.3","maintainers":[{"name":"arian8ultra","email":"arian8ultra@gmail.com"}],"homepage":"https://github.com/Arian8Ultra/PrismaGen#readme","bugs":{"url":"https://github.com/Arian8Ultra/PrismaGen/issues"},"bin":{"prismagen":"dist/cli.js"},"dist":{"shasum":"b27f77b4478f3706054eb6d4b519b8cb89da75b5","tarball":"https://registry.npmjs.org/@arian8ultra/prismagen/-/prismagen-0.1.3.tgz","fileCount":8,"integrity":"sha512-bh3jRMgTEjobEloNjTC9Mgp4JCeIKvAYKEaK34dyaYQLRAMjJBTd7beIPcRfA4qqlGwPD/VkkChbuNY3Q2lq+Q==","signatures":[{"sig":"MEUCIHqMoOR9CR9inWHUEY7dN8PZ2pVYn0BxMCq7/oJZoPrEAiEA1D8QmA+VOeO87ngRduZJHKE0ImEeOHTDTHZ2feXYfnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33668},"main":"dist/generate-prisma-api.js","types":"dist/generate-prisma-api.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/generate-prisma-api.js"},"gitHead":"ac05bf0ae8f2e9e103e8393612c1ff3dc089f776","scripts":{"dev":"node dist/cli.js --interactive","build":"tsc -p tsconfig.json","gen:api":"npm run build && node dist/cli.js","prepublishOnly":"npm run build","gen:api:interactive":"npm run build && node dist/cli.js --interactive"},"_npmUser":{"name":"arian8ultra","email":"arian8ultra@gmail.com"},"repository":{"url":"git+https://github.com/Arian8Ultra/PrismaGen.git","type":"git"},"_npmVersion":"11.6.2","description":"Generate API routes + Prisma function wrappers from prisma/schema.prisma","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@prisma/internals":"^6.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/prismagen_0.1.3_1766020850992_0.7176939271522429","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@arian8ultra/prismagen","version":"0.1.4","keywords":["prisma","codegen","generator","cli","nextjs"],"license":"MIT","_id":"@arian8ultra/prismagen@0.1.4","maintainers":[{"name":"arian8ultra","email":"arian8ultra@gmail.com"}],"homepage":"https://github.com/Arian8Ultra/PrismaGen#readme","bugs":{"url":"https://github.com/Arian8Ultra/PrismaGen/issues"},"bin":{"prismagen":"dist/cli.js"},"dist":{"shasum":"ba2c325527b142a325c7ddc58a01cea5717ffb57","tarball":"https://registry.npmjs.org/@arian8ultra/prismagen/-/prismagen-0.1.4.tgz","fileCount":8,"integrity":"sha512-x/IGu8tpXHf8XM6J23mdQQNvAllfFhq4wyyw+N6X5cQuVQtoAq4vBW45/v88N9DBwQ7efrjgDFhy9BCcRrzlvA==","signatures":[{"sig":"MEUCIEGc5Hwt7s326fC18UQdxaOpK6+ZmW4qckWyNqhopStMAiEA2lIRicYQ4AVZ4hamp4FKBiENyujFJPmzrU/s30xao6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37226},"main":"dist/generate-prisma-api.js","types":"dist/generate-prisma-api.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/generate-prisma-api.js"},"gitHead":"d0f036641ba3cbe358da4a940b671151e79d18e5","scripts":{"dev":"node dist/cli.js --interactive","build":"tsc -p tsconfig.json","gen:api":"npm run build && node dist/cli.js","prepublishOnly":"npm run build","gen:api:interactive":"npm run build && node dist/cli.js --interactive"},"_npmUser":{"name":"arian8ultra","email":"arian8ultra@gmail.com"},"repository":{"url":"git+https://github.com/Arian8Ultra/PrismaGen.git","type":"git"},"_npmVersion":"11.6.2","description":"Generate API routes + Prisma function wrappers from prisma/schema.prisma","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@prisma/internals":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/prismagen_0.1.4_1766021291031_0.7999402983511319","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@arian8ultra/prismagen","version":"0.1.5","description":"Generate API routes + Prisma function wrappers from prisma/schema.prisma","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Arian8Ultra/PrismaGen.git"},"bugs":{"url":"https://github.com/Arian8Ultra/PrismaGen/issues"},"homepage":"https://github.com/Arian8Ultra/PrismaGen#readme","keywords":["prisma","codegen","generator","cli","nextjs"],"bin":{"prismagen":"dist/cli.js"},"main":"dist/generate-prisma-api.js","types":"dist/generate-prisma-api.d.ts","exports":{".":"./dist/generate-prisma-api.js"},"scripts":{"build":"tsc -p tsconfig.json","dev":"node dist/cli.js --interactive","gen:api":"npm run build && node dist/cli.js","gen:api:interactive":"npm run build && node dist/cli.js --interactive","prepublishOnly":"npm run build"},"dependencies":{"@prisma/internals":"^7.1.0"},"devDependencies":{"@types/node":"^22.10.0","typescript":"^5.7.3"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"gitHead":"587624a29b692b6fec87c41d2753ec5c57e22fd8","_id":"@arian8ultra/prismagen@0.1.5","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-7KoVnk3AeS/ht/9ggX18AjabAN/t1shhg/yYoZGpv5qcIzMB0eD0FwnLTza5yDff3gb78mdUQCWBA41rdARTsw==","shasum":"4ac80f978b911f7a5b18c15fc4313b8bf728c958","tarball":"https://registry.npmjs.org/@arian8ultra/prismagen/-/prismagen-0.1.5.tgz","fileCount":8,"unpackedSize":37759,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBnTR5f2cP/rMzPTwV7z/mWQibvzlsc/K/RUgC0+FJOmAiA1Fe1bES4oyJMVzNMtEM+wJj/KWbwvDBB3B/UCbaZXJQ=="}]},"_npmUser":{"name":"arian8ultra","email":"arian8ultra@gmail.com"},"directories":{},"maintainers":[{"name":"arian8ultra","email":"arian8ultra@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prismagen_0.1.5_1766106263287_0.5610984784282707"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T01:04:05.365Z","modified":"2025-12-19T01:04:23.659Z","0.1.0":"2025-12-18T01:04:05.612Z","0.1.1":"2025-12-18T01:12:43.768Z","0.1.2":"2025-12-18T01:16:55.502Z","0.1.3":"2025-12-18T01:20:51.216Z","0.1.4":"2025-12-18T01:28:11.178Z","0.1.5":"2025-12-19T01:04:23.438Z"},"bugs":{"url":"https://github.com/Arian8Ultra/PrismaGen/issues"},"license":"MIT","homepage":"https://github.com/Arian8Ultra/PrismaGen#readme","keywords":["prisma","codegen","generator","cli","nextjs"],"repository":{"type":"git","url":"git+https://github.com/Arian8Ultra/PrismaGen.git"},"description":"Generate API routes + Prisma function wrappers from prisma/schema.prisma","maintainers":[{"name":"arian8ultra","email":"arian8ultra@gmail.com"}],"readme":"# PrismaGen\r\n\r\nGenerate API route handlers and Prisma function wrappers from `prisma/schema.prisma`.\r\n\r\n- Generates Next.js-style route handlers under `app/api/<model>/route.ts`\r\n- Generates thin Prisma wrappers under `prisma/functions/<Model>/<Model>Fun.ts`\r\n- Optional interactive TUI (`--interactive`) to select models, includes, and protected methods\r\n\r\n## Requirements\r\n\r\n- Node.js `>=18`\r\n- A project with `prisma/schema.prisma`\r\n- `prisma` and `react` installed in the target project (can be in `dependencies` or `devDependencies`; the CLI checks this)\r\n\r\n## Run via `npx` / `bunx`\r\n\r\nAfter you publish this package:\r\n\r\n```sh\r\nnpx @arian8ultra/prismagen --interactive\r\n# or\r\nbunx @arian8ultra/prismagen --interactive\r\n```\r\n\r\nNon-interactive (uses `prisma/api-gen.config.json` or defaults):\r\n\r\n```sh\r\nnpx @arian8ultra/prismagen\r\n```\r\n\r\n## Local development (this repo)\r\n\r\n```sh\r\nnpm install\r\nnpm run build\r\nnode dist/cli.js --interactive\r\n```\r\n\r\n## Configuration\r\n\r\nPrismaGen reads (and in `--interactive` mode writes) configuration at:\r\n\r\n- `prisma/api-gen.config.json`\r\n\r\nKey options:\r\n\r\n- `apiRoot`: output folder for API routes (default: `app/api`)\r\n- `functionsRoot`: output folder for Prisma wrappers (default: `prisma/functions`)\r\n- `prismaClientImport`: import path used in generated files (example: `@/prisma/prisma`)\r\n- `prismaImportStyle`: `\"named\"` or `\"default\"`\r\n- `authImport`: import path for your auth helpers (example: `@/auth/AuthFunctions`)\r\n- `authGuardFn`: function called to enforce auth (example: `IsAuthenticatedAdmin`)\r\n- `protectMethods`: list of HTTP methods requiring auth (example: `[\"POST\",\"PUT\",\"DELETE\"]`)\r\n- `fieldDenylist`: fields excluded from create/update payload picking\r\n- `generateApisForModels`: if present, only generate API routes for these models\r\n- `generateFunctionsForModels`: if present, only generate wrappers for these models\r\n- `includes`: per-model list of relations included for `<Model>_GetById`\r\n\r\n## Notes\r\n\r\n- Run the CLI from your project root (the folder that contains `prisma/schema.prisma`).\r\n- The generator uses `@prisma/internals` to read Prisma DMMF from your schema.\r\n\r\n## License\r\n\r\nMIT (see `LICENSE`).\r\n","readmeFilename":"README.md"}