├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── release-please.yaml │ └── tests.yaml ├── .gitignore ├── .husky ├── .gitignore └── pre-commit ├── CHANGELOG.md ├── LICENSE ├── README.md ├── babel.config.js ├── bin ├── dev ├── run └── run.cmd ├── eslint.config.mjs ├── example ├── README.md ├── heros.ts ├── heros.types.ts ├── heros.zod.ts ├── person.ts └── person.zod.ts ├── package.json ├── pnpm-lock.yaml ├── src ├── cli.ts ├── config.ts ├── config.zod.ts ├── core │ ├── generate.test.ts │ ├── generate.ts │ ├── generateIntegrationTests.ts │ ├── generateZodInferredType.test.ts │ ├── generateZodInferredType.ts │ ├── generateZodSchema.test.ts │ ├── generateZodSchema.ts │ ├── jsDocTags.ts │ ├── transformRecursiveSchema.test.ts │ ├── transformRecursiveSchema.ts │ ├── validateGeneratedTypes.test.ts │ └── validateGeneratedTypes.ts ├── createConfig.ts ├── index.ts ├── utils │ ├── extractLiteralValue.test.ts │ ├── extractLiteralValue.ts │ ├── findNode.ts │ ├── fixOptionalAny.ts │ ├── generateCombinations.test.ts │ ├── generateCombinations.ts │ ├── getImportPath.test.ts │ ├── getImportPath.ts │ ├── getSimplifiedJsDocTags.ts │ ├── importHandling.test.ts │ ├── importHandling.ts │ ├── isFunctionType.test.ts │ ├── isFunctionType.ts │ ├── isNotNull.ts │ ├── resolveDefaultProperties.test.ts │ ├── resolveDefaultProperties.ts │ ├── resolveModules.test.ts │ ├── resolveModules.ts │ ├── traverseTypes.test.ts │ ├── traverseTypes.ts │ ├── uniq.test.ts │ └── uniq.ts └── worker │ ├── index.ts │ └── validator.worker.ts ├── ts-to-zod-logo.svg ├── ts-to-zod.config.mjs ├── tsconfig.json ├── tsconfig.package.json └── vitest.config.ts /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/release-please.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/.github/workflows/release-please.yaml -------------------------------------------------------------------------------- /.github/workflows/tests.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/.github/workflows/tests.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | pretty-quick --staged 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/README.md -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/babel.config.js -------------------------------------------------------------------------------- /bin/dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/bin/dev -------------------------------------------------------------------------------- /bin/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/bin/run -------------------------------------------------------------------------------- /bin/run.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | node "%~dp0\run" %* 4 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/example/README.md -------------------------------------------------------------------------------- /example/heros.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/example/heros.ts -------------------------------------------------------------------------------- /example/heros.types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/example/heros.types.ts -------------------------------------------------------------------------------- /example/heros.zod.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/example/heros.zod.ts -------------------------------------------------------------------------------- /example/person.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/example/person.ts -------------------------------------------------------------------------------- /example/person.zod.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/example/person.zod.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /src/cli.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/cli.ts -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/config.ts -------------------------------------------------------------------------------- /src/config.zod.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/config.zod.ts -------------------------------------------------------------------------------- /src/core/generate.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/generate.test.ts -------------------------------------------------------------------------------- /src/core/generate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/generate.ts -------------------------------------------------------------------------------- /src/core/generateIntegrationTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/generateIntegrationTests.ts -------------------------------------------------------------------------------- /src/core/generateZodInferredType.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/generateZodInferredType.test.ts -------------------------------------------------------------------------------- /src/core/generateZodInferredType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/generateZodInferredType.ts -------------------------------------------------------------------------------- /src/core/generateZodSchema.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/generateZodSchema.test.ts -------------------------------------------------------------------------------- /src/core/generateZodSchema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/generateZodSchema.ts -------------------------------------------------------------------------------- /src/core/jsDocTags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/jsDocTags.ts -------------------------------------------------------------------------------- /src/core/transformRecursiveSchema.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/transformRecursiveSchema.test.ts -------------------------------------------------------------------------------- /src/core/transformRecursiveSchema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/transformRecursiveSchema.ts -------------------------------------------------------------------------------- /src/core/validateGeneratedTypes.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/validateGeneratedTypes.test.ts -------------------------------------------------------------------------------- /src/core/validateGeneratedTypes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/core/validateGeneratedTypes.ts -------------------------------------------------------------------------------- /src/createConfig.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/createConfig.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/utils/extractLiteralValue.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/extractLiteralValue.test.ts -------------------------------------------------------------------------------- /src/utils/extractLiteralValue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/extractLiteralValue.ts -------------------------------------------------------------------------------- /src/utils/findNode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/findNode.ts -------------------------------------------------------------------------------- /src/utils/fixOptionalAny.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/fixOptionalAny.ts -------------------------------------------------------------------------------- /src/utils/generateCombinations.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/generateCombinations.test.ts -------------------------------------------------------------------------------- /src/utils/generateCombinations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/generateCombinations.ts -------------------------------------------------------------------------------- /src/utils/getImportPath.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/getImportPath.test.ts -------------------------------------------------------------------------------- /src/utils/getImportPath.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/getImportPath.ts -------------------------------------------------------------------------------- /src/utils/getSimplifiedJsDocTags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/getSimplifiedJsDocTags.ts -------------------------------------------------------------------------------- /src/utils/importHandling.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/importHandling.test.ts -------------------------------------------------------------------------------- /src/utils/importHandling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/importHandling.ts -------------------------------------------------------------------------------- /src/utils/isFunctionType.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/isFunctionType.test.ts -------------------------------------------------------------------------------- /src/utils/isFunctionType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/isFunctionType.ts -------------------------------------------------------------------------------- /src/utils/isNotNull.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/isNotNull.ts -------------------------------------------------------------------------------- /src/utils/resolveDefaultProperties.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/resolveDefaultProperties.test.ts -------------------------------------------------------------------------------- /src/utils/resolveDefaultProperties.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/resolveDefaultProperties.ts -------------------------------------------------------------------------------- /src/utils/resolveModules.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/resolveModules.test.ts -------------------------------------------------------------------------------- /src/utils/resolveModules.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/resolveModules.ts -------------------------------------------------------------------------------- /src/utils/traverseTypes.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/traverseTypes.test.ts -------------------------------------------------------------------------------- /src/utils/traverseTypes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/traverseTypes.ts -------------------------------------------------------------------------------- /src/utils/uniq.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/uniq.test.ts -------------------------------------------------------------------------------- /src/utils/uniq.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/utils/uniq.ts -------------------------------------------------------------------------------- /src/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/worker/index.ts -------------------------------------------------------------------------------- /src/worker/validator.worker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/src/worker/validator.worker.ts -------------------------------------------------------------------------------- /ts-to-zod-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/ts-to-zod-logo.svg -------------------------------------------------------------------------------- /ts-to-zod.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/ts-to-zod.config.mjs -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/tsconfig.package.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fabien0102/ts-to-zod/HEAD/vitest.config.ts --------------------------------------------------------------------------------