{"_id":"@lexmata/prisma-ent-generator","_rev":"9-205ddcdef80c9a78e99913dfa060f378","name":"@lexmata/prisma-ent-generator","dist-tags":{"latest":"0.3.4"},"versions":{"0.1.0":{"name":"@lexmata/prisma-ent-generator","version":"0.1.0","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","_id":"@lexmata/prisma-ent-generator@0.1.0","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"homepage":"https://github.com/Lexmata/prisma-ent-generator#readme","bugs":{"url":"https://github.com/Lexmata/prisma-ent-generator/issues"},"bin":{"prisma-ent-generator":"dist/bin.js"},"dist":{"shasum":"0cf14787529c7ed5aa9678eb82f6a4745d39582a","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.1.0.tgz","fileCount":39,"integrity":"sha512-Ucec+nKqxVgFKZZD0U71gs1Fmy+gnursFqQTz0+7vb6CgJgMfHEsPICm/3hMCf4VxDPDgHeujpeNNVJk1kNb7Q==","signatures":[{"sig":"MEUCIC5NaxcolFajds3KddQVo/IaXRhvn7UZAgn7g7PCviPYAiEAiLo10LIDKqZ8FKZ8loSvhdt5i+yr0iMq+CQzGAgDpTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65550},"main":"dist/index.js","_from":"file:lexmata-prisma-ent-generator-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","generate":"pnpm build && prisma generate","test:watch":"vitest"},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"_resolved":"/tmp/043c6aea2d58826b23de9293d15035b5/lexmata-prisma-ent-generator-0.1.0.tgz","_integrity":"sha512-Ucec+nKqxVgFKZZD0U71gs1Fmy+gnursFqQTz0+7vb6CgJgMfHEsPICm/3hMCf4VxDPDgHeujpeNNVJk1kNb7Q==","repository":{"url":"git+https://github.com/Lexmata/prisma-ent-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@prisma/generator-helper":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@prisma/client":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-ent-generator_0.1.0_1770675605778_0.3408992625502927","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@lexmata/prisma-ent-generator","version":"0.2.0","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","_id":"@lexmata/prisma-ent-generator@0.2.0","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"homepage":"https://github.com/Lexmata/prisma-ent-generator#readme","bugs":{"url":"https://github.com/Lexmata/prisma-ent-generator/issues"},"bin":{"prisma-ent-generator":"dist/bin.js"},"dist":{"shasum":"4638ac839785bd68941e8cc3359765af79f5327a","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.2.0.tgz","fileCount":39,"integrity":"sha512-ThaCCCDF9vLZDib9btbNahESsYxPUe7Ndd3Jx4AJS64jWuWGD46eoCtSVYpR0zAjMl2pTDmIIXxbbtqZ5H4+jA==","signatures":[{"sig":"MEYCIQCHv8la7VeVY8PYk4iwUR8NuKnYDz3NJePVsV2sYwnr3gIhAPinrXtUyeuKlXzZyTahP2XMe++Fe0fKtVLJSMydtv5C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78556},"main":"dist/index.js","_from":"file:lexmata-prisma-ent-generator-0.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","generate":"pnpm build && prisma generate","test:watch":"vitest"},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"_resolved":"/tmp/5b1ede008e1d0911dab42884090432dd/lexmata-prisma-ent-generator-0.2.0.tgz","_integrity":"sha512-ThaCCCDF9vLZDib9btbNahESsYxPUe7Ndd3Jx4AJS64jWuWGD46eoCtSVYpR0zAjMl2pTDmIIXxbbtqZ5H4+jA==","repository":{"url":"git+https://github.com/Lexmata/prisma-ent-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@prisma/generator-helper":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@prisma/client":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-ent-generator_0.2.0_1771280605366_0.5472343490629319","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@lexmata/prisma-ent-generator","version":"0.2.1","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","_id":"@lexmata/prisma-ent-generator@0.2.1","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"homepage":"https://github.com/Lexmata/prisma-ent-generator#readme","bugs":{"url":"https://github.com/Lexmata/prisma-ent-generator/issues"},"bin":{"prisma-ent-generator":"dist/bin.js"},"dist":{"shasum":"4bb28ce64265bd90d741964c81fe714cf074b50f","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.2.1.tgz","fileCount":39,"integrity":"sha512-GSkMAXxV4HpAKinr/zxlMtiID1v7k6qDtkDwhvpogECK7kt7xFaqN2lLOEbUdRGQ2fTkv1q9Zq2xohRbaPFxNQ==","signatures":[{"sig":"MEUCIQDJKI/RIoMjolehoWgYL3YZPBIRF6J7twQa8MaWTBNOcQIgKFSEugCIssqa4Lh7vWWv5+JszBrJyqTW2mTSwBhe/34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82374},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"6151679067ee84eb306cd4bec5af6bc4c96ec172","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","generate":"pnpm build && prisma generate","test:watch":"vitest","prepublishOnly":"pnpm build"},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"repository":{"url":"git+https://github.com/Lexmata/prisma-ent-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@prisma/generator-helper":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@prisma/client":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-ent-generator_0.2.1_1771282680350_0.3723302797368575","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@lexmata/prisma-ent-generator","version":"0.2.2","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","_id":"@lexmata/prisma-ent-generator@0.2.2","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"homepage":"https://github.com/Lexmata/prisma-ent-generator#readme","bugs":{"url":"https://github.com/Lexmata/prisma-ent-generator/issues"},"bin":{"prisma-ent-generator":"dist/bin.js"},"dist":{"shasum":"800c8059919bd9f6b7d993782fa00691bd719a30","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.2.2.tgz","fileCount":39,"integrity":"sha512-PS/E7DqUAHd9N/pru2l5LGBi61h4ym/VShYHGhvMGwQRt/slf+JltqghNVJ5nwcGpi1q1m49amiaKWPYwoZcLg==","signatures":[{"sig":"MEYCIQCIN8z86pFX/VH33Qrhb1WZm6+0OeGx80D49ToqIpzY7QIhAPejXk11q8/YJHqLHjcYFbDFAuUdG+jVnRx7+porRwAJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82365},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"6151679067ee84eb306cd4bec5af6bc4c96ec172","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","generate":"pnpm build && prisma generate","test:watch":"vitest","prepublishOnly":"pnpm build"},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"repository":{"url":"git+https://github.com/Lexmata/prisma-ent-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@prisma/generator-helper":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@prisma/client":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-ent-generator_0.2.2_1771283121205_0.2131294748750039","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@lexmata/prisma-ent-generator","version":"0.3.0","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","_id":"@lexmata/prisma-ent-generator@0.3.0","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"homepage":"https://github.com/Lexmata/prisma-ent-generator#readme","bugs":{"url":"https://github.com/Lexmata/prisma-ent-generator/issues"},"bin":{"prisma-ent-generator":"dist/bin.js"},"dist":{"shasum":"951c26ccb5176a9a6fd6320d2b42ebce8d2d8e19","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.3.0.tgz","fileCount":39,"integrity":"sha512-6juy7/pMj+CEGFu09YPCGZY4whkFM1IIwGZtECLzF1ttCOg6pvCJHYY7qQgTWjWEbKlUDA65KnHKluHwPq6Mxg==","signatures":[{"sig":"MEUCIQC43GRZR/cmzbpEyJ0n7l8yhHdXEZIEIoHKMceumXDepQIgb4kKnTxzhdVgHIgzOGlQ6l/Z+SNrflKO1ufXTFmwZjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85662},"main":"dist/index.js","_from":"file:lexmata-prisma-ent-generator-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","generate":"pnpm build && prisma generate","test:watch":"vitest"},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"_resolved":"/tmp/491ef1f40bd1a702c64bc8f2b8dac2c2/lexmata-prisma-ent-generator-0.3.0.tgz","_integrity":"sha512-6juy7/pMj+CEGFu09YPCGZY4whkFM1IIwGZtECLzF1ttCOg6pvCJHYY7qQgTWjWEbKlUDA65KnHKluHwPq6Mxg==","repository":{"url":"git+https://github.com/Lexmata/prisma-ent-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@prisma/generator-helper":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@prisma/client":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-ent-generator_0.3.0_1772228775603_0.9840050173844435","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@lexmata/prisma-ent-generator","version":"0.3.1","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","_id":"@lexmata/prisma-ent-generator@0.3.1","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"homepage":"https://github.com/Lexmata/prisma-ent-generator#readme","bugs":{"url":"https://github.com/Lexmata/prisma-ent-generator/issues"},"bin":{"prisma-ent-generator":"dist/bin.js"},"dist":{"shasum":"0514e12b98b79e4e90b60463a565b1dd3735135c","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.3.1.tgz","fileCount":39,"integrity":"sha512-viTgyJZ12XWAxbWv33BK8K+aTV0lgs2a0/PkbTH0gv273XGC02PwoBa47iYvxCjvhAjBN/J8eCqUpORR/cpiHg==","signatures":[{"sig":"MEUCIF31HLX6OJypTFWxVeu1bXIwyviyla9hDjLRXsgqx0lwAiEAy/TAc21r11tVzWvA+2ADBzDTveb9ipBtJHkNiwKg+vc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86679},"main":"dist/index.js","_from":"file:lexmata-prisma-ent-generator-0.3.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","generate":"pnpm build && prisma generate","test:watch":"vitest"},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"_resolved":"/tmp/f3ec915e90273b61bb7ea1a3cc00ba0f/lexmata-prisma-ent-generator-0.3.1.tgz","_integrity":"sha512-viTgyJZ12XWAxbWv33BK8K+aTV0lgs2a0/PkbTH0gv273XGC02PwoBa47iYvxCjvhAjBN/J8eCqUpORR/cpiHg==","repository":{"url":"git+https://github.com/Lexmata/prisma-ent-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@prisma/generator-helper":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@prisma/client":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-ent-generator_0.3.1_1772229105478_0.5796333724962073","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@lexmata/prisma-ent-generator","version":"0.3.2","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","_id":"@lexmata/prisma-ent-generator@0.3.2","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"homepage":"https://github.com/Lexmata/prisma-ent-generator#readme","bugs":{"url":"https://github.com/Lexmata/prisma-ent-generator/issues"},"bin":{"prisma-ent-generator":"dist/bin.js"},"dist":{"shasum":"29cb86a334e22ca2f43aaa56ee4a3495fbbe33ef","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.3.2.tgz","fileCount":39,"integrity":"sha512-w37mqY9tnu2pwbS87p3aUrQNuEpaEgAUuyRc7857XoNQgdnu0qnNztLKOLKpw69nzmfc8xOOFW3cLdDKstIEfQ==","signatures":[{"sig":"MEQCICxO1OBiiIXB3GstTBI/Ui5y+v+xPb/v0anZF/cncmvzAiAd+9qgAFygS6AZZ+jwbQ+CyglK9u4JFrAGbYWXyvk22Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87126},"main":"dist/index.js","_from":"file:lexmata-prisma-ent-generator-0.3.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","generate":"pnpm build && prisma generate","test:watch":"vitest"},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"_resolved":"/tmp/d9393b5e9723974bbe37c43f0bd64313/lexmata-prisma-ent-generator-0.3.2.tgz","_integrity":"sha512-w37mqY9tnu2pwbS87p3aUrQNuEpaEgAUuyRc7857XoNQgdnu0qnNztLKOLKpw69nzmfc8xOOFW3cLdDKstIEfQ==","repository":{"url":"git+https://github.com/Lexmata/prisma-ent-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@prisma/generator-helper":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@prisma/client":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-ent-generator_0.3.2_1772230495523_0.0691241499923636","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@lexmata/prisma-ent-generator","version":"0.3.3","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","_id":"@lexmata/prisma-ent-generator@0.3.3","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"homepage":"https://github.com/Lexmata/prisma-ent-generator#readme","bugs":{"url":"https://github.com/Lexmata/prisma-ent-generator/issues"},"bin":{"prisma-ent-generator":"dist/bin.js"},"dist":{"shasum":"d1a6c099457c87d3996d6b1505f125ef5f4ad7a2","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.3.3.tgz","fileCount":39,"integrity":"sha512-RyuOpUpPcbCr4fN9TzXpYi1xKhkYuX9YVHnOQJpMi8qNQPYUrYCogUeeF3lyXzDbHMnci6HzQ2N4ON5U27mX6Q==","signatures":[{"sig":"MEUCICFYmL5TMOcC3JQVBHyV+goynGwWpXXDu/pbaWTQvM1TAiEA1TFBE7SmWfHQ08tOCq/jJapsbGq10y15VcjE6tRFJ/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91097},"main":"dist/index.js","_from":"file:lexmata-prisma-ent-generator-0.3.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=24"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","generate":"pnpm build && prisma generate","test:watch":"vitest"},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"_resolved":"/tmp/e2be1aad18fdbc3a084465a245425f47/lexmata-prisma-ent-generator-0.3.3.tgz","_integrity":"sha512-RyuOpUpPcbCr4fN9TzXpYi1xKhkYuX9YVHnOQJpMi8qNQPYUrYCogUeeF3lyXzDbHMnci6HzQ2N4ON5U27mX6Q==","repository":{"url":"git+https://github.com/Lexmata/prisma-ent-generator.git","type":"git"},"_npmVersion":"11.12.1","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@prisma/generator-helper":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@prisma/client":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-ent-generator_0.3.3_1776432190523_0.46718345608999456","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@lexmata/prisma-ent-generator","version":"0.3.4","description":"Prisma generator that produces Go Ent schema files from your Prisma schema","license":"MIT","author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"main":"dist/index.js","bin":{"prisma-ent-generator":"dist/bin.js"},"keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"repository":{"type":"git","url":"https://github.com/Lexmata/prisma-ent-generator"},"engines":{"node":">=24"},"dependencies":{"@prisma/generator-helper":"^6.0.0"},"devDependencies":{"@prisma/client":"^6.0.0","@types/node":"^22.0.0","prisma":"^6.0.0","typescript":"^5.7.0","vitest":"^3.0.0"},"scripts":{"build":"tsc","dev":"tsc --watch","generate":"pnpm build && prisma generate","test":"vitest run","test:watch":"vitest"},"_nodeVersion":"26.5.0","_id":"@lexmata/prisma-ent-generator@0.3.4","dist":{"integrity":"sha512-Y8TraOfZzD9mWeCmsBHXFHHH9378qDHDKyhD1w6/Z89Pqo6e78lDmAJ9FCmUmsDNqyr3sNa/3otfoa/tzN0RUA==","shasum":"70288c3958b4610c7baf9fdf0f58897688e383fa","tarball":"https://registry.npmjs.org/@lexmata/prisma-ent-generator/-/prisma-ent-generator-0.3.4.tgz","fileCount":39,"unpackedSize":91176,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD4h6yYEY9NVMe3mD1jhJTVQZCFj7wHyRKybqj3a982VAIhAKqPhBAKsjgo1zeLovCb09OO3ePUZwXg0Nk3/UhO6V7E"}]},"_npmUser":{"name":"illuser","email":"quinn.josephr@protonmail.com"},"directories":{},"maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prisma-ent-generator_0.3.4_1784761672636_0.4849747225952168"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-09T22:20:05.685Z","modified":"2026-07-22T23:07:52.949Z","0.1.0":"2026-02-09T22:20:05.934Z","0.2.0":"2026-02-16T22:23:25.535Z","0.2.1":"2026-02-16T22:58:00.511Z","0.2.2":"2026-02-16T23:05:21.355Z","0.3.0":"2026-02-27T21:46:15.747Z","0.3.1":"2026-02-27T21:51:45.615Z","0.3.2":"2026-02-27T22:14:55.655Z","0.3.3":"2026-04-17T13:23:10.680Z","0.3.4":"2026-07-22T23:07:52.782Z"},"author":{"name":"Lexmata LLC","email":"jquinn@lexmata.ai"},"license":"MIT","keywords":["prisma","generator","golang","ent","entgo","codegen","orm"],"repository":{"type":"git","url":"https://github.com/Lexmata/prisma-ent-generator"},"description":"Prisma generator that produces Go Ent schema files from your Prisma schema","maintainers":[{"name":"illuser","email":"quinn.josephr@protonmail.com"}],"readme":"# prisma-ent-generator\n\nA [Prisma](https://www.prisma.io/) generator that produces a complete [Go Ent](https://entgo.io/) installation from your Prisma schema.\n\nDefine your data model once in Prisma and generate fully working Ent schemas — including fields, edges, enums, and the `generate.go` / `entc.go` scaffolding needed to run `go generate`.\n\n## Status\n\n**Active** -- used in production across multiple Lexmata Go services. Published to npm as `@lexmata/prisma-ent-generator`.\n\n## Tech Stack\n\n- **Language:** TypeScript (compiled to CommonJS)\n- **Runtime:** Node.js >= 24\n- **Framework:** Prisma Generator Helper (`@prisma/generator-helper` v6)\n- **Testing:** Vitest\n- **Build:** `tsc`\n\n## Features\n\n- **Full Ent install** — generates `generate.go`, `entc.go`, and `schema/*.go` so you can immediately run `go generate ./ent`\n- **Environment variable toggle** — controlled by `isEnabled = env(\"GENERATE_ENT\")` in the generator config; skips when unset or `false`, runs when `true`\n- **Scalar type mapping** — `String`, `Int`, `BigInt`, `Float`, `Decimal`, `Boolean`, `DateTime`, `Json`, `Bytes`\n- **Enum support** — Prisma enums map to inline `field.Enum(...).Values(...)` with defaults\n- **Relationship edges** — O2O, O2M, and M2M relations are translated to `edge.To` / `edge.From` with correct ownership, `.Ref()`, `.Unique()`, and `.Required()`\n- **FK edge fields** — foreign key scalars are included in `Fields()` and bound to edges via `.Field()`\n- **Defaults** — `@default(now())`, `@default(uuid())`, `@default(autoincrement())`, `@default(false)`, `@default(0)`, `@default(\"value\")`, and enum defaults\n- **@updatedAt** — maps to `.Default(time.Now).UpdateDefault(time.Now)`\n- **UUID IDs** — `@id @default(uuid())` generates `field.UUID(\"id\", uuid.UUID{}).Default(uuid.New)`\n- **JSON type annotations** — annotate `Json` fields with `/// @ent.json array` or `/// @ent.json object` to control the Go type (`[]interface{}{}` vs `map[string]interface{}{}`); defaults to object\n- **Optional / Nillable** — optional fields get `.Optional().Nillable()` (except JSON, which only gets `.Optional()`)\n\n## Prerequisites\n\n- Node.js >= 24\n- pnpm (recommended) or npm\n- Prisma >= 6.0.0 in your project\n- Go toolchain (to run `go generate ./ent` after generation)\n- A Go project with Ent as a dependency (`go get entgo.io/ent`)\n\n## Installation\n\n```bash\nnpm install @lexmata/prisma-ent-generator\n# or\npnpm add @lexmata/prisma-ent-generator\n```\n\n## Usage\n\n### 1. Add the generator to your Prisma schema\n\n```prisma\ngenerator ent {\n  provider  = \"@lexmata/prisma-ent-generator\"\n  output    = \"./ent\"\n  isEnabled = env(\"GENERATE_ENT\")\n}\n```\n\n### 2. Run Prisma generate with the environment variable\n\n```bash\nGENERATE_ENT=true npx prisma generate\n```\n\nWhen `isEnabled` resolves to anything other than `\"true\"`, the generator prints a skip message and produces no output:\n\n```\nprisma-ent-generator: Skipping — set isEnabled = env(\"GENERATE_ENT\") to \"true\" in your generator config.\n```\n\nYou can use any environment variable name you like — just change the `env()` argument accordingly.\n\n### 3. Run Ent code generation\n\n```bash\ncd your-go-project\ngo generate ./ent\n```\n\nThis triggers Ent's own pipeline via the generated `generate.go`, producing the full client, queries, mutations, migrations, and predicates.\n\n## Output Structure\n\n```\nent/\n├── generate.go          # go:generate directive for Ent codegen\n├── entc.go              # Ent codegen configuration (build-tag guarded)\n└── schema/\n    ├── user.go           # One file per Prisma model\n    ├── post.go\n    ├── profile.go\n    └── tag.go\n```\n\n`generate.go` and `entc.go` are only written if they don't already exist, so your customizations are preserved across re-runs. Schema files are always overwritten.\n\n## Example\n\nGiven this Prisma schema:\n\n```prisma\nenum Role {\n  USER\n  ADMIN\n  MODERATOR\n}\n\nmodel User {\n  id        Int      @id @default(autoincrement())\n  email     String   @unique\n  name      String?\n  role      Role     @default(USER)\n  posts     Post[]\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel Post {\n  id       Int    @id @default(autoincrement())\n  title    String\n  author   User   @relation(fields: [authorId], references: [id])\n  authorId Int\n  tags     Tag[]\n  /// @ent.json object\n  metadata Json?\n  /// @ent.json array\n  labels   Json?\n}\n\nmodel Tag {\n  id    Int    @id @default(autoincrement())\n  name  String @unique\n  posts Post[]\n}\n```\n\nThe generator produces:\n\n**`ent/schema/user.go`**\n\n```go\npackage schema\n\nimport (\n\t\"entgo.io/ent\"\n\t\"entgo.io/ent/schema/field\"\n\t\"entgo.io/ent/schema/edge\"\n\n\t\"time\"\n)\n\ntype User struct {\n\tent.Schema\n}\n\nfunc (User) Fields() []ent.Field {\n\treturn []ent.Field{\n\t\tfield.String(\"email\").Unique(),\n\t\tfield.String(\"name\").Optional().Nillable(),\n\t\tfield.Enum(\"role\").Values(\"USER\", \"ADMIN\", \"MODERATOR\").Default(\"USER\"),\n\t\tfield.Time(\"created_at\").Default(time.Now),\n\t\tfield.Time(\"updated_at\").Default(time.Now).UpdateDefault(time.Now),\n\t}\n}\n\nfunc (User) Edges() []ent.Edge {\n\treturn []ent.Edge{\n\t\tedge.To(\"posts\", Post.Type),\n\t}\n}\n```\n\n**`ent/schema/post.go`**\n\n```go\npackage schema\n\nimport (\n\t\"entgo.io/ent\"\n\t\"entgo.io/ent/schema/field\"\n\t\"entgo.io/ent/schema/edge\"\n)\n\ntype Post struct {\n\tent.Schema\n}\n\nfunc (Post) Fields() []ent.Field {\n\treturn []ent.Field{\n\t\tfield.String(\"title\"),\n\t\tfield.Int(\"author_id\"),\n\t\tfield.JSON(\"metadata\", map[string]interface{}{}).Optional(),\n\t\tfield.JSON(\"labels\", []interface{}{}).Optional(),\n\t}\n}\n\nfunc (Post) Edges() []ent.Edge {\n\treturn []ent.Edge{\n\t\tedge.From(\"author\", User.Type).Ref(\"posts\").Unique().Field(\"author_id\").Required(),\n\t\tedge.To(\"tags\", Tag.Type),\n\t}\n}\n```\n\n## Type Mapping\n\n| Prisma Type | Ent Field | Notes |\n|---|---|---|\n| `String` | `field.String` | |\n| `Boolean` | `field.Bool` | |\n| `Int` | `field.Int` | |\n| `BigInt` | `field.Int64` | int64 in Go |\n| `Float` | `field.Float` | |\n| `Decimal` | `field.Float` | float64 in Go |\n| `DateTime` | `field.Time` | Imports `\"time\"` |\n| `Json` | `field.JSON` | `map[string]interface{}{}` or `[]interface{}{}`; see [JSON type annotations](#json-type-annotations) |\n| `Bytes` | `field.Bytes` | |\n| Enums | `field.Enum` | Inline `.Values(...)` |\n\n## JSON Type Annotations\n\nPrisma's `Json` type doesn't distinguish between objects and arrays. Use `///` doc comments with the `@ent.json` directive to control the Go type emitted in the Ent schema:\n\n```prisma\nmodel Post {\n  /// @ent.json object\n  metadata Json?           // → field.JSON(\"metadata\", map[string]interface{}{})\n\n  /// @ent.json array\n  labels   Json?           // → field.JSON(\"labels\", []interface{}{})\n\n  config   Json            // → field.JSON(\"config\", map[string]interface{}{})  (default)\n}\n```\n\n| Annotation | Go Type | When to use |\n|---|---|---|\n| `@ent.json object` | `map[string]interface{}{}` | JSON objects / key-value maps |\n| `@ent.json array` | `[]interface{}{}` | JSON arrays / lists |\n| *(none)* | `map[string]interface{}{}` | Defaults to object |\n\nThe annotation can appear alongside other documentation comments — the generator looks for the `@ent.json` directive anywhere in the field's doc block.\n\n## Edge Mapping\n\n| Prisma Relation | Ent Edge |\n|---|---|\n| O2O (owner side) | `edge.To(\"name\", Type.Type).Unique()` |\n| O2O (FK side) | `edge.From(\"name\", Type.Type).Ref(\"...\").Unique().Field(\"fk\")` |\n| O2M (owner side) | `edge.To(\"name\", Type.Type)` |\n| O2M (FK side) | `edge.From(\"name\", Type.Type).Ref(\"...\").Unique().Field(\"fk\")` |\n| M2M (owner side) | `edge.To(\"name\", Type.Type)` |\n| M2M (inverse side) | `edge.From(\"name\", Type.Type).Ref(\"...\")` |\n\nM2M ownership is determined alphabetically by model name when neither side holds a FK.\n\n## Environment Variables\n\n| Variable | Values | Default | Description |\n|---|---|---|---|\n| `GENERATE_ENT` | `\"true\"` to enable | Disabled (skips generation) | Controls whether the generator runs during `prisma generate` |\n\nThe env-var toggle makes it safe to include this generator in a shared `schema.prisma` without it running on every `prisma generate`. Only CI or Go-service environments that set the variable will produce output.\n\n## Development\n\n```bash\npnpm install\npnpm build\npnpm test\n```\n\nTo test generation locally:\n\n```bash\npnpm build\nGENERATE_ENT=true npx prisma generate --schema=prisma/schema.prisma\n```\n\n## Testing\n\n```bash\n# Run all tests once\npnpm test\n\n# Run in watch mode during development\npnpm test:watch\n```\n\nTests are in `src/__tests__/` and cover:\n\n| Test file | Coverage |\n|---|---|\n| `type-map.test.ts` | Prisma-to-Ent type mapping, import block generation |\n| `field.test.ts` | Scalar fields, ID fields, JSON annotations, defaults, optional/nillable |\n| `edge.test.ts` | O2O, O2M, M2M edges, FK binding, self-referential relations |\n| `entfiles.test.ts` | `generate.go` and `entc.go` scaffold content |\n| `schema.test.ts` | Full schema generation from DMMF models |\n| `generator.test.ts` | `isEnabled` config resolution logic |\n| `utils.test.ts` | Snake case conversion, Go keyword safety, file naming |\n\n## Publishing\n\nPublishing is manual via `pnpm publish`. The `prepublishOnly` script runs `pnpm build` automatically before each publish.\n\n```bash\n# Bump version in package.json, then:\npnpm publish --access public\n```\n\nThere is no CI/CD pipeline for this repo; publishing is done from a developer machine with npm credentials.\n\n## Project Structure\n\n```\nprisma-ent-generator/\n├── src/\n│   ├── index.ts              # Public API re-exports\n│   ├── bin.ts                # CLI entry point for Prisma\n│   ├── generator.ts          # Main generator (isEnabled check, file I/O)\n│   ├── utils.ts              # snake_case, Go keyword safety, file headers\n│   ├── helpers/\n│   │   ├── type-map.ts       # Prisma → Ent type mapping, Go import tracking\n│   │   ├── field.ts          # Ent field generation (scalars, IDs, JSON, enums)\n│   │   ├── edge.ts           # Ent edge generation (O2O, O2M, M2M ownership)\n│   │   ├── schema.ts         # Full schema file assembly per model\n│   │   └── entfiles.ts       # generate.go / entc.go scaffold templates\n│   └── __tests__/            # Vitest tests (one per helper)\n├── prisma/\n│   └── schema.prisma         # Example schema for local testing\n├── package.json\n├── tsconfig.json\n└── vitest.config.ts\n```\n\n## Related Repos\n\n| Repo | Relationship |\n|---|---|\n| `lexmata-models` | Prisma schema source -- the canonical data model this generator reads |\n| `lexmata-identification` | Go Ent consumer -- uses the generated schemas |\n| `lexmata-organization` | Go Ent consumer -- uses the generated schemas |\n| `lexmata-initial-case-evaluation` | Go Ent consumer -- uses the generated schemas |\n\n## License\n\nMIT - [Lexmata LLC](mailto:jquinn@lexmata.ai)\n","readmeFilename":""}