import nextPlugin from '@next/eslint-plugin-next'; import tseslint from 'typescript-eslint'; export default tseslint.config( { ignores: [ '**/dist/**', '**/node_modules/**', '**/.next/**', '**/coverage/**', '**/build/**' ] }, ...tseslint.configs.recommended, { files: ['apps/web/**/*.{js,jsx,ts,tsx}', 'app/**/*.{js,jsx,ts,tsx}', 'components/**/*.{js,jsx,ts,tsx}', 'lib/**/*.{js,jsx,ts,tsx}'], plugins: { '@next/next': nextPlugin }, settings: { next: { rootDir: 'apps/web/' } }, rules: { ...nextPlugin.configs.recommended.rules, ...nextPlugin.configs['core-web-vitals'].rules, '@next/next/no-html-link-for-pages': 'off' } }, { languageOptions: { ecmaVersion: 2022, sourceType: 'module', globals: { process: 'readonly', console: 'readonly', Buffer: 'readonly', URL: 'readonly', URLSearchParams: 'readonly', setTimeout: 'readonly', clearTimeout: 'readonly', setInterval: 'readonly', clearInterval: 'readonly', setImmediate: 'readonly', clearImmediate: 'readonly', global: 'readonly', globalThis: 'readonly', window: 'readonly', document: 'readonly' } }, rules: { '@typescript-eslint/no-unused-vars': [ 'warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' } ], '@typescript-eslint/no-explicit-any': 'warn', 'no-console': ['warn', { allow: ['warn', 'error', 'info'] }] } } );