Skip to content

SimonVadier/eslint-plugin-zod-x

 
 

Repository files navigation

eslint-plugin-zod-x

CI Code style: prettier Lint: eslint npm version issues

ESLint plugin that adds custom linting rules to enforce best practices when using Zod

Rules

💼 Configurations enabled in.
✅ Set in the recommended configuration.
🔧 Automatically fixable by the --fix CLI option.
💡 Manually fixable by editor suggestions.

Name                     Description 💼 🔧 💡
array-style Enforce consistent Zod array style 🔧
consistent-import-source Enforce consistent source from Zod imports
no-any Disallow usage of z.any() in Zod schemas 💡
no-empty-custom-schema Disallow usage of z.custom() without arguments
no-throw-in-refine Disallow throwing errors directly inside Zod refine callbacks
prefer-meta Enforce usage of .meta() over .describe() 🔧
prefer-meta-last Enforce .meta() as last method 🔧
prefer-namespace-import Enforce importing zod as a namespace import (import * as z from 'zod') 🔧
prefer-strict-object Enforce usage of .strictObject() over .object() and/or .looseObject()
require-error-message Enforce that custom refinements include an error message 🔧
require-schema-suffix Require schema suffix when declaring a Zod schema 🔧

Installation

npm i --save-dev eslint eslint-plugin-zod-x
yarn add --dev eslint eslint-plugin-zod-x
pnpm add --save-dev eslint eslint-plugin-zod-x

Configuration

// eslint.config.js
import { defineConfig } from 'eslint/config';
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import eslintPluginZodX from 'eslint-plugin-zod-x';

export default defineConfig(
  eslint.configs.recommended,
  tseslint.configs.recommendedTypeChecked,
  eslintPluginZodX.configs.recommended,
);

About

ESLint plugin that adds custom linting rules to enforce best practices when using Zod

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.1%
  • JavaScript 4.9%