diff --git a/.eslintrc.js b/.eslintrc.js index b7c1c06..cc21857 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -7,12 +7,20 @@ module.exports = { { files: ['*.ts'], parser: '@typescript-eslint/parser', + plugins: [ + '@typescript-eslint', + ], extends: [ 'airbnb-base', 'plugin:@typescript-eslint/recommended', ], rules: { 'import/extensions': ['error', 'never'], + // switch airbnb rules for typescript compatible ones + 'no-shadow': 'off', + '@typescript-eslint/no-shadow': 'error', + 'no-use-before-define': 'off', + '@typescript-eslint/no-use-before-define': ['error', { functions: true, classes: true, variables: true }], }, settings: { 'import/extensions': ['.js', '.ts'], diff --git a/package.json b/package.json index f6007b1..051d611 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.0.0", - "@typescript-eslint/parser": "^3.7.1", + "@typescript-eslint/parser": "^4.5.0", "eslint": "^7.6.0", "eslint-config-airbnb-base": "^14.2.0", "eslint-plugin-import": "^2.22.0",