const { resolve } = require ( 'path' ) ; const config = require ( 'eslint-config-airbnb-base/rules/style' ) ; module . exports = { parserOptions : { project : resolve ( __dirname , '../tsconfig.json' ) , } , extends : [ 'airbnb-typescript' , 'plugin:@typescript-eslint/recommended' , 'plugin:@typescript-eslint/recommended-requiring-type-checking' , 'plugin:prettier/recommended' , 'plugin:@next/next/recommended' , ] , plugins : [ 'simple-import-sort' ] , settings : { 'import/extensions' : [ '.js' , '.jsx' , '.ts' , '.tsx' ] , } , rules : { 'class-methods-use-this' : 'off' , '@typescript-eslint/unbound-method' : 'off' , 'import/no-default-export' : 'error' , 'import/prefer-default-export' : 'off' , 'simple-import-sort/exports' : 'error' , 'simple-import-sort/imports' : 'error' , 'no-restricted-syntax' : config . rules [ 'no-restricted-syntax' ] . filter ( ( rule ) => rule . selector !== 'ForOfStatement' ) , } , } ;