├── .github ├── dependabot.yml └── workflows │ └── main.yml ├── .gitignore ├── .gitpod.yml ├── .husky ├── pre-commit └── pre-push ├── .npmignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── bin └── cli.js ├── examples ├── .gitignore ├── README.md ├── package.json ├── prisma │ └── schema.prisma ├── script.ts ├── tsconfig.json └── yarn.lock ├── images └── zod-prisma.svg ├── package.json ├── src ├── config.ts ├── docs.ts ├── generator.ts ├── index.ts ├── test │ ├── docs.test.ts │ ├── functional │ │ ├── basic │ │ │ ├── expected │ │ │ │ ├── document.ts │ │ │ │ ├── index.ts │ │ │ │ ├── presentation.ts │ │ │ │ └── spreadsheet.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ └── schema.prisma │ │ ├── config-import │ │ │ ├── expected │ │ │ │ ├── document.ts │ │ │ │ └── index.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ ├── schema.prisma │ │ │ │ └── zod-utils.ts │ │ ├── config │ │ │ ├── expected │ │ │ │ ├── index.ts │ │ │ │ ├── post.ts │ │ │ │ └── user.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ └── schema.prisma │ │ ├── different-client-path │ │ │ ├── expected │ │ │ │ ├── document.ts │ │ │ │ └── index.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ └── schema.prisma │ │ ├── docs │ │ │ ├── expected │ │ │ │ ├── index.ts │ │ │ │ └── post.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ └── schema.prisma │ │ ├── driver.test.ts │ │ ├── imports │ │ │ ├── expected │ │ │ │ ├── document.ts │ │ │ │ ├── index.ts │ │ │ │ ├── presentation.ts │ │ │ │ └── spreadsheet.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ └── schema.prisma │ │ ├── json │ │ │ ├── expected │ │ │ │ ├── index.ts │ │ │ │ ├── post.ts │ │ │ │ └── user.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ └── schema.prisma │ │ ├── optional │ │ │ ├── expected │ │ │ │ ├── index.ts │ │ │ │ ├── post.ts │ │ │ │ └── user.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ └── schema.prisma │ │ ├── recursive │ │ │ ├── expected │ │ │ │ ├── comment.ts │ │ │ │ └── index.ts │ │ │ └── prisma │ │ │ │ ├── .client │ │ │ │ └── index.ts │ │ │ │ └── schema.prisma │ │ ├── relation-1to1 │ │ │ ├── expected │ │ │ │ ├── index.ts │ │ │ │ ├── keychain.ts │ │ │ │ └── user.ts │ │ │ └── prisma │ │ │ │ └── schema.prisma │ │ └── relation-false │ │ │ ├── expected │ │ │ ├── index.ts │ │ │ ├── post.ts │ │ │ └── user.ts │ │ │ └── prisma │ │ │ ├── .client │ │ │ └── index.ts │ │ │ └── schema.prisma │ ├── regressions.test.ts │ ├── types.test.ts │ └── util.test.ts ├── types.ts └── util.ts ├── tsconfig.json └── yarn.lock /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/.gitpod.yml -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint --fix 5 | -------------------------------------------------------------------------------- /.husky/pre-push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn test 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | src -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/README.md -------------------------------------------------------------------------------- /bin/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('../dist/index') -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | *.env* 4 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/examples/package.json -------------------------------------------------------------------------------- /examples/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/examples/prisma/schema.prisma -------------------------------------------------------------------------------- /examples/script.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/examples/script.ts -------------------------------------------------------------------------------- /examples/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/examples/tsconfig.json -------------------------------------------------------------------------------- /examples/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/examples/yarn.lock -------------------------------------------------------------------------------- /images/zod-prisma.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/images/zod-prisma.svg -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/package.json -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/config.ts -------------------------------------------------------------------------------- /src/docs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/docs.ts -------------------------------------------------------------------------------- /src/generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/generator.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/test/docs.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/docs.test.ts -------------------------------------------------------------------------------- /src/test/functional/basic/expected/document.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/basic/expected/document.ts -------------------------------------------------------------------------------- /src/test/functional/basic/expected/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/basic/expected/index.ts -------------------------------------------------------------------------------- /src/test/functional/basic/expected/presentation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/basic/expected/presentation.ts -------------------------------------------------------------------------------- /src/test/functional/basic/expected/spreadsheet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/basic/expected/spreadsheet.ts -------------------------------------------------------------------------------- /src/test/functional/basic/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/basic/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/basic/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/basic/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/config-import/expected/document.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config-import/expected/document.ts -------------------------------------------------------------------------------- /src/test/functional/config-import/expected/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./document" 2 | -------------------------------------------------------------------------------- /src/test/functional/config-import/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config-import/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/config-import/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config-import/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/config-import/prisma/zod-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config-import/prisma/zod-utils.ts -------------------------------------------------------------------------------- /src/test/functional/config/expected/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config/expected/index.ts -------------------------------------------------------------------------------- /src/test/functional/config/expected/post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config/expected/post.ts -------------------------------------------------------------------------------- /src/test/functional/config/expected/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config/expected/user.ts -------------------------------------------------------------------------------- /src/test/functional/config/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/config/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/config/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/different-client-path/expected/document.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/different-client-path/expected/document.ts -------------------------------------------------------------------------------- /src/test/functional/different-client-path/expected/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./document" 2 | -------------------------------------------------------------------------------- /src/test/functional/different-client-path/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/different-client-path/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/different-client-path/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/different-client-path/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/docs/expected/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./post" 2 | -------------------------------------------------------------------------------- /src/test/functional/docs/expected/post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/docs/expected/post.ts -------------------------------------------------------------------------------- /src/test/functional/docs/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/docs/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/docs/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/docs/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/driver.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/driver.test.ts -------------------------------------------------------------------------------- /src/test/functional/imports/expected/document.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/imports/expected/document.ts -------------------------------------------------------------------------------- /src/test/functional/imports/expected/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/imports/expected/index.ts -------------------------------------------------------------------------------- /src/test/functional/imports/expected/presentation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/imports/expected/presentation.ts -------------------------------------------------------------------------------- /src/test/functional/imports/expected/spreadsheet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/imports/expected/spreadsheet.ts -------------------------------------------------------------------------------- /src/test/functional/imports/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/imports/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/imports/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/imports/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/json/expected/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/json/expected/index.ts -------------------------------------------------------------------------------- /src/test/functional/json/expected/post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/json/expected/post.ts -------------------------------------------------------------------------------- /src/test/functional/json/expected/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/json/expected/user.ts -------------------------------------------------------------------------------- /src/test/functional/json/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/json/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/json/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/json/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/optional/expected/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/optional/expected/index.ts -------------------------------------------------------------------------------- /src/test/functional/optional/expected/post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/optional/expected/post.ts -------------------------------------------------------------------------------- /src/test/functional/optional/expected/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/optional/expected/user.ts -------------------------------------------------------------------------------- /src/test/functional/optional/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/optional/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/optional/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/optional/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/recursive/expected/comment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/recursive/expected/comment.ts -------------------------------------------------------------------------------- /src/test/functional/recursive/expected/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./comment" 2 | -------------------------------------------------------------------------------- /src/test/functional/recursive/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/recursive/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/recursive/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/recursive/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/relation-1to1/expected/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-1to1/expected/index.ts -------------------------------------------------------------------------------- /src/test/functional/relation-1to1/expected/keychain.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-1to1/expected/keychain.ts -------------------------------------------------------------------------------- /src/test/functional/relation-1to1/expected/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-1to1/expected/user.ts -------------------------------------------------------------------------------- /src/test/functional/relation-1to1/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-1to1/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/functional/relation-false/expected/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-false/expected/index.ts -------------------------------------------------------------------------------- /src/test/functional/relation-false/expected/post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-false/expected/post.ts -------------------------------------------------------------------------------- /src/test/functional/relation-false/expected/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-false/expected/user.ts -------------------------------------------------------------------------------- /src/test/functional/relation-false/prisma/.client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-false/prisma/.client/index.ts -------------------------------------------------------------------------------- /src/test/functional/relation-false/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/functional/relation-false/prisma/schema.prisma -------------------------------------------------------------------------------- /src/test/regressions.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/regressions.test.ts -------------------------------------------------------------------------------- /src/test/types.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/types.test.ts -------------------------------------------------------------------------------- /src/test/util.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/test/util.test.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/src/util.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CarterGrimmeisen/zod-prisma/HEAD/yarn.lock --------------------------------------------------------------------------------