diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..341a9d1 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +node_modules/ +build/ +coverage/ +.storybook/ +.vuepress/ \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index c70e255..78d0f9c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -130,6 +130,28 @@ "promise/no-multiple-resolved": "error" }, "overrides": [ + { + "files": ["*.ts", "*.tsx"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "tsconfigRootDir": ".", + "project": ["./tsconfig.json", "**/tsconfig.json"], + "ecmaVersion": "latest", + "parser": "@typescript-eslint/parser", + "sourceType": "module" + }, + "plugins": ["@typescript-eslint"], + "extends": [ + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", + "plugin:@typescript-eslint/strict" + ], + "rules": { + // allow explicitly defined dangling promises + "@typescript-eslint/no-floating-promises": ["error", { "ignoreVoid": true }], + "no-void": ["error", { "allowAsStatement": true }] + } + }, { "files": ["!*.json"], "plugins": ["prettier"], diff --git a/package.json b/package.json index 9145f78..75ad564 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "storybook:build": "storybook build -o build/storybook", "storybook:test": "test-storybook", "test:lint": "npm run test:lint:eslint && npm run test:lint:remark && npm run test:lint:style && npm run test:lint:locales", - "test:lint:eslint": "eslint --ext .vue,.ts,.tsx,.js,.jsx,.json,.yml,.yaml --max-warnings 0 --ignore-path .gitignore .", + "test:lint:eslint": "eslint --ext .vue,.ts,.tsx,.js,.jsx,.json,.yml,.yaml --max-warnings 0 .", "test:lint:locales": "scripts/locales/locales.sh src/locales", "test:lint:remark": "remark . --quiet --frail", "test:lint:style": "stylelint --max-warnings 0 --ignore-path .gitignore \"**/*.{css,scss,vue,vuex}\"",