// eslint-disable-next-line no-undef module.exports = { root: true, parser: '@typescript-eslint/parser', plugins: ['@typescript-eslint', 'prettier', 'simple-import-sort'], extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:import/errors', 'plugin:import/warnings', 'plugin:import/typescript', 'plugin:prettier/recommended', ], rules: { 'prettier/prettier': ['error'], 'simple-import-sort/imports': 'error', 'simple-import-sort/exports': 'error', 'import/no-unresolved': 'off', // Allow TS to do this checking, 'import/no-cycle': ['error', { maxDepth: Infinity }], 'import/namespace': ['off', { allowComputed: true }], '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/ban-ts-comment': 'off', '@typescript-eslint/no-namespace': 'off', '@typescript-eslint/ban-types': 'off', '@typescript-eslint/no-empty-interface': 'off', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-unused-vars': 'off', }, settings: { 'import/parsers': { '@typescript-eslint/parser': ['.ts', '.tsx'], }, 'import/resolver': { 'custom-alias': { alias: { '@fp': './src', }, extensions: ['.ts', '.tsx'], }, }, }, }