{"id":25230534,"url":"https://github.com/jeremy-code/eslint-plugin-z","last_synced_at":"2026-01-25T08:14:22.436Z","repository":{"id":275715497,"uuid":"925476191","full_name":"jeremy-code/eslint-plugin-z","owner":"jeremy-code","description":"ESLint rules for Zod","archived":false,"fork":false,"pushed_at":"2025-07-29T09:35:43.000Z","size":381,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-26T07:32:38.613Z","etag":null,"topics":["eslint","eslint-plugin","eslintplugin","zod"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/eslint-plugin-z","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeremy-code.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-01T00:40:35.000Z","updated_at":"2025-05-29T01:34:56.000Z","dependencies_parsed_at":"2025-02-04T07:31:04.557Z","dependency_job_id":"0d18abf3-ad3f-462b-b244-e969d86c3cc3","html_url":"https://github.com/jeremy-code/eslint-plugin-z","commit_stats":null,"previous_names":["jeremy-code/eslint-plugin-z"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/jeremy-code/eslint-plugin-z","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremy-code%2Feslint-plugin-z","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremy-code%2Feslint-plugin-z/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremy-code%2Feslint-plugin-z/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremy-code%2Feslint-plugin-z/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeremy-code","download_url":"https://codeload.github.com/jeremy-code/eslint-plugin-z/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremy-code%2Feslint-plugin-z/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28748689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T07:58:02.558Z","status":"ssl_error","status_checked_at":"2026-01-25T07:57:57.153Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eslint","eslint-plugin","eslintplugin","zod"],"created_at":"2025-02-11T11:59:32.156Z","updated_at":"2026-01-25T08:14:22.418Z","avatar_url":"https://github.com/jeremy-code.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eslint-plugin-z\n\n\u003c!-- Link references --\u003e\n\n[github-actions]: https://www.github.com/jeremy-code/eslint-plugin-z/actions/workflows/ci.yml\n[github-release]: https://github.com/jeremy-code/eslint-plugin-z/releases\n[npm-package]: https://www.npmjs.com/package/eslint-plugin-z\n[github-actions-badge]: https://www.github.com/jeremy-code/eslint-plugin-z/actions/workflows/ci.yml/badge.svg\n[license-badge]: https://img.shields.io/github/license/jeremy-code/eslint-plugin-z\n[npm-version-badge]: https://img.shields.io/npm/v/eslint-plugin-z\n[github-release-badge]: https://img.shields.io/github/v/release/jeremy-code/eslint-plugin-z\n\n[![GitHub Actions][github-actions-badge]][github-actions]\n[![License][license-badge]](LICENSE)\n[![NPM version][npm-version-badge]][npm-package]\n[![GitHub release][github-release-badge]][github-release]\n\nAn [ESLint](https://eslint.org/ \"Find and fix problems in your JavaScript code - ESLint\") plugin for linting [Zod](https://zod.dev/ \"TypeScript-first schema validation with static type inference - Zod\") schemas.\n\n## Installation\n\n```shell\nnpm install eslint-plugin-z --save-dev\n```\n\n## Configuration\n\n```js\n// eslint.config.mjs\nimport pluginZ from \"eslint-plugin-z\";\n\nexport default [pluginZ.configs.recommended];\n```\n\n```js\n// .eslintrc.json\n{\n  \"extends\": [\"plugin:z/recommendedLegacy\"]\n}\n```\n\n## Rules\n\n- 💼 Configurations enabled in\n- ⚠️ Configurations set to warn in\n- ✅ ️Set in the `recommended` configuration\n- 🔧 Automatically fixable by the `--fix` CLI option\n\n\u003c!-- prettier-ignore --\u003e\n| Name | Description | 💼 | ⚠️ | 🔧 |\n|---|---|---|---|---|\n| [no-duplicate-enum-values](./docs/rules/no-duplicate-enum-values.md)| Disallow duplicate enum member values | ✅ |  | 🔧 |\n| [no-throw-in-refine](./docs/rules/no-throw-in-refine.md) | Ban throwing in refinement function | ✅ |  |  |\n| [no-undefined-argument-in-custom](./docs/rules/no-undefined-argument-in-custom.md) | Disallow undefined argument in `z.custom()` | ✅ |  | 🔧 |\n| [prefer-enum](./docs/rules/prefer-enum.md) | Enforce usage of `z.enum()` instead of `z.union([z.literal(\"\"),...])` |  | ⚠️ | 🔧 |\n| [prefer-nonempty](./docs/rules/prefer-nonempty.md) | Enforce usage of `z.string().array().nonempty()` instead of `z.string().array().min(1)` or `z.array().nonempty()` instead of `z.array().min(1)` | ✅ | ⚠️ | 🔧 |\n| [prefer-nullish](./docs/rules/prefer-nullish.md) | Enforce usage of `z.nullish()` instead of `z.null().optional()` or `z.optional().null()` | ✅ | ⚠️ | 🔧 |\n| [prefer-tuple](./docs/rules/prefer-tuple.md) | Enforce usage of `z.tuple([z.schema()])` instead of `z.schema().array().length(1)` | ✅ | ⚠️ | 🔧 |\n\n\u003c!-- prettier-ignore-end --\u003e\n\n## License\n\nThis project is licensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeremy-code%2Feslint-plugin-z","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeremy-code%2Feslint-plugin-z","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeremy-code%2Feslint-plugin-z/lists"}