diff --git a/.eslintrc.json b/.eslintrc.json index 80eb793..3876c59 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,24 +1,56 @@ { "root": true, + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], "parser": "@typescript-eslint/parser", "parserOptions": { - "ecmaVersion": 6, - "sourceType": "module" + "ecmaVersion": 2021, + "sourceType": "module", + "project": "./tsconfig.json" }, "plugins": ["@typescript-eslint"], "rules": { - "@typescript-eslint/naming-convention": [ + "@typescript-eslint/naming-convention": ["warn"], + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unused-vars": [ "warn", { - "selector": "import", - "format": ["camelCase", "PascalCase"] + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^_" } ], - "@typescript-eslint/semi": "off", - "eqeqeq": "warn", + "@typescript-eslint/explicit-function-return-type": [ + "warn", + { + "allowExpressions": true, + "allowTypedFunctionExpressions": true + } + ], + "@typescript-eslint/explicit-member-accessibility": [ + "warn", + { + "accessibility": "explicit" + } + ], + "@typescript-eslint/no-non-null-assertion": "warn", "no-throw-literal": "warn", - "semi": "off", - "react-hooks/exhaustive-deps": "off" + "semi": ["off", "always"], + "quotes": ["warn", "double", { "avoidEscape": true }], + "@typescript-eslint/ban-types": "off", + "@typescript-eslint/no-var-requires": "warn", + "no-extra-semi": "warn", + "prefer-const": "warn", + "no-mixed-spaces-and-tabs": "warn", + "no-case-declarations": "warn", + "no-useless-escape": "warn", + "require-yield": "warn", + "no-empty": "warn", + "no-control-regex": "warn", + "@typescript-eslint/ban-ts-comment": "warn" }, - "ignorePatterns": ["out", "dist", "**/*.d.ts"] + "env": { + "node": true, + "es2021": true + }, + "ignorePatterns": ["dist/**", "out/**", "webview-ui/**", "**/*.js"] } diff --git a/package.json b/package.json index 6024f15..ad40034 100644 --- a/package.json +++ b/package.json @@ -212,7 +212,7 @@ "compile": "npm run check-types && npm run lint && node esbuild.js", "compile-tests": "tsc -p . --outDir out", "install:all": "npm install && cd webview-ui && npm install", - "lint": "eslint src --ext ts && npm run lint --prefix webview-ui", + "lint": "eslint src --ext ts --quiet && npm run lint --prefix webview-ui", "package": "npm run build:webview && npm run check-types && npm run lint && node esbuild.js --production", "pretest": "npm run compile-tests && npm run compile && npm run lint", "start:webview": "cd webview-ui && npm run start", diff --git a/webview-ui/package.json b/webview-ui/package.json index 5ca6e94..6083a56 100644 --- a/webview-ui/package.json +++ b/webview-ui/package.json @@ -8,7 +8,7 @@ "build": "tsc && vite build", "preview": "vite preview", "test": "jest", - "lint": "eslint src --ext ts,tsx" + "lint": "eslint src --ext ts,tsx --quiet" }, "dependencies": { "@vscode/webview-ui-toolkit": "^1.4.0",