/** @type {import("eslint").Linter.Config} */ const config = { extends: [ 'turbo', 'eslint:recommended', 'plugin:@typescript-eslint/recommended-type-checked', 'plugin:@typescript-eslint/stylistic-type-checked', 'prettier', ], env: { es2022: true, node: true, }, parser: '@typescript-eslint/parser', parserOptions: { project: true, }, plugins: ['@typescript-eslint', 'import'], rules: { 'turbo/no-undeclared-env-vars': 'off', '@typescript-eslint/no-unused-vars': [ 'warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }, ], '@typescript-eslint/consistent-type-imports': [ 'warn', { prefer: 'type-imports', fixStyle: 'separate-type-imports' }, ], '@typescript-eslint/no-misused-promises': [ 2, { checksVoidReturn: { attributes: false } }, ], 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'], '@typescript-eslint/no-empty-function': 'off', '@typescript-eslint/no-floating-promises': 'off', '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/ban-ts-comment': 'off', '@typescript-eslint/no-unsafe-return': 'off', '@typescript-eslint/no-unsafe-assignment': 'warn', '@typescript-eslint/no-unsafe-member-access': 'warn', '@typescript-eslint/no-unsafe-argument': 'warn', '@typescript-eslint/prefer-nullish-coalescing': 'off', }, ignorePatterns: [ '**/.eslintrc.cjs', '**/*.config.js', '**/*.config.cjs', '.next', 'dist', 'public', 'pnpm-lock.yaml', ], reportUnusedDisableDirectives: true, }; module.exports = config;