// Repo-wide ESLint flat config. Packages inherit these rules; add // package-specific overrides here (scoped by `files`) rather than with // per-package config files, so rules stay consistent across the monorepo. import js from '@eslint/js'; import tseslint from 'typescript-eslint'; import prettier from 'eslint-config-prettier'; export default tseslint.config( { ignores: ['**/dist/**', '**/node_modules/**', '**/coverage/**', '**/*.gen.ts'], }, js.configs.recommended, ...tseslint.configs.recommended, prettier, { // Plain-Node maintenance scripts (no TypeScript, no bundler). files: ['scripts/**/*.mjs'], languageOptions: { globals: { console: 'readonly', process: 'readonly' }, }, }, { rules: { // Unused values are usually bugs; underscore-prefix marks intentional ones. '@typescript-eslint/no-unused-vars': [ 'error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }, ], // `any` defeats the shared Zod/type contracts between client and server. '@typescript-eslint/no-explicit-any': 'error', }, }, );