module.exports = { env: { browser: true, es2021: true, }, extends: [ 'airbnb-base', 'eslint:recommended', 'plugin:import/typescript', 'plugin:@typescript-eslint/recommended', ], parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 12, sourceType: 'module', }, plugins: [ '@typescript-eslint', ], rules: { 'no-shadow': 'off', 'lines-between-class-members': [ 'error', 'always', { exceptAfterSingleLine: true }, ], 'class-methods-use-this': 'off', '@typescript-eslint/explicit-function-return-type': 'error', '@typescript-eslint/no-explicit-any': 'error', '@typescript-eslint/no-shadow': ['error'], 'import/extensions': [ 'error', 'ignorePackages', { js: 'never', mjs: 'never', jsx: 'never', ts: 'never', tsx: 'never', glsl: 'never', }, ], }, settings: { 'import/resolver': { node: { extensions: ['.js', '.jsx', '.ts', '.d.ts', '.tsx', '.json', '.glsl'], }, }, }, };