UNPKG

@shayanthenerd/eslint-config

Version:

A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style

67 lines (66 loc) 2.84 kB
import { isEnabled } from "../utils/isEnabled.mjs"; import { defaultOptions } from "../helpers/options/defaultOptions.mjs"; //#region src/rules/zod.ts function getZodRules(options) { const { zod } = options.configs; const { mini } = isEnabled(zod) ? zod : defaultOptions.configs.zod; return mini ? { "zod-mini/consistent-import": "error", "zod-mini/consistent-import-source": ["error", { sources: ["zod/mini"] }], "zod-mini/consistent-object-schema-type": ["warn", { allow: ["object", "strictObject"] }], "zod-mini/consistent-schema-output-type-style": "warn", "zod-mini/consistent-schema-var-name": "warn", "zod-mini/no-any-schema": "error", "zod-mini/no-coerce-boolean": "warn", "zod-mini/no-conflicting-checks": "warn", "zod-mini/no-duplicate-schema-methods": "error", "zod-mini/no-empty-custom-schema": "error", "zod-mini/no-throw-in-refine": "error", "zod-mini/no-transform-in-record-key": "error", "zod-mini/no-unnecessary-readonly": "warn", "zod-mini/prefer-enum-over-literal-union": "warn", "zod-mini/prefer-meta": "warn", "zod-mini/prefer-nullish": "warn", "zod-mini/prefer-tuple-over-array-length": "warn", "zod-mini/require-brand-type-parameter": "error", "zod-mini/require-error-message": "warn" } : { "zod/array-style": "warn", "zod/consistent-import": "error", "zod/consistent-object-schema-type": ["warn", { allow: ["object", "strictObject"] }], "zod/consistent-schema-output-type-style": "warn", "zod/consistent-schema-var-name": "warn", "zod/no-any-schema": "error", "zod/no-coerce-boolean": "warn", "zod/no-conflicting-checks": "error", "zod/no-duplicate-schema-methods": "error", "zod/no-empty-custom-schema": "error", "zod/no-native-enum": "warn", "zod/no-number-schema-with-finite": "warn", "zod/no-number-schema-with-int": "warn", "zod/no-number-schema-with-is-finite": "warn", "zod/no-number-schema-with-is-int": "warn", "zod/no-number-schema-with-safe": "warn", "zod/no-number-schema-with-step": "warn", "zod/no-optional-and-default-together": ["warn", { preferredMethod: "default" }], "zod/no-promise-schema": "error", "zod/no-schema-with-is-nullable": "warn", "zod/no-schema-with-is-optional": "warn", "zod/no-throw-in-refine": "error", "zod/no-transform-in-record-key": "error", "zod/no-unnecessary-readonly": "warn", "zod/prefer-enum-over-literal-union": "warn", "zod/prefer-loose-object": "warn", "zod/prefer-meta": "warn", "zod/prefer-nullish": "warn", "zod/prefer-meta-last": "warn", "zod/prefer-strict-object": "warn", "zod/prefer-top-level-string-formats": "warn", "zod/prefer-trim-before-string-length-checks": "error", "zod/prefer-tuple-over-array-length": "warn", "zod/require-brand-type-parameter": "error", "zod/require-error-message": "warn" }; } //#endregion export { getZodRules };