@shayanthenerd/eslint-config
Version:
A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style
26 lines • 952 B
text/typescript
import { PluginRules } from "../eslintRules.mjs";
import { ConfigWithOverrides } from "../index.mjs";
//#region src/types/options/zod.d.ts
interface BaseZodOptions {
/**
* Whether to opt into [eslint-plugin-zod-mini](https://github.com/marcalexiei/eslint-zod/tree/main/plugins/eslint-plugin-zod-mini) when using Zod Mini (`zod/mini`).
*
* _eslint-plugin-zod-mini_ enforces a subset of _eslint-plugin-zod_ rules, which are available under the `zod-mini` namespace.
*
* @default false
*
* @see [ESLint Zod Plugins](https://github.com/marcalexiei/eslint-zod#plugins)
*/
mini?: boolean;
}
type ConfigRulesZod = PluginRules<'zod'>;
type ConfigRulesZodMini = PluginRules<'zod-mini'>;
type ZodOptions = (BaseZodOptions & ConfigWithOverrides<ConfigRulesZodMini> & {
mini?: true;
}) | (BaseZodOptions & ConfigWithOverrides<ConfigRulesZod> & ({
mini?: false;
} | {
mini?: undefined;
}));
//#endregion
export type { ZodOptions };