chore: update eslint config and quiet lint output

- Add recommended TypeScript ESLint rules and configurations
- Configure explicit function return types and member accessibility
- Add environment settings for Node.js and ES2021
- Update parser options and ignore patterns
- Add --quiet flag to lint commands to reduce noise
This commit is contained in:
sam hoang
2025-01-29 23:42:15 +07:00
parent 477daf8f64
commit 6db3ecf73e
3 changed files with 44 additions and 12 deletions

View File

@@ -1,24 +1,56 @@
{ {
"root": true, "root": true,
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
"parser": "@typescript-eslint/parser", "parser": "@typescript-eslint/parser",
"parserOptions": { "parserOptions": {
"ecmaVersion": 6, "ecmaVersion": 2021,
"sourceType": "module" "sourceType": "module",
"project": "./tsconfig.json"
}, },
"plugins": ["@typescript-eslint"], "plugins": ["@typescript-eslint"],
"rules": { "rules": {
"@typescript-eslint/naming-convention": [ "@typescript-eslint/naming-convention": ["warn"],
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-vars": [
"warn", "warn",
{ {
"selector": "import", "argsIgnorePattern": "^_",
"format": ["camelCase", "PascalCase"] "varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
} }
], ],
"@typescript-eslint/semi": "off", "@typescript-eslint/explicit-function-return-type": [
"eqeqeq": "warn", "warn",
{
"allowExpressions": true,
"allowTypedFunctionExpressions": true
}
],
"@typescript-eslint/explicit-member-accessibility": [
"warn",
{
"accessibility": "explicit"
}
],
"@typescript-eslint/no-non-null-assertion": "warn",
"no-throw-literal": "warn", "no-throw-literal": "warn",
"semi": "off", "semi": ["off", "always"],
"react-hooks/exhaustive-deps": "off" "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"]
} }

View File

@@ -212,7 +212,7 @@
"compile": "npm run check-types && npm run lint && node esbuild.js", "compile": "npm run check-types && npm run lint && node esbuild.js",
"compile-tests": "tsc -p . --outDir out", "compile-tests": "tsc -p . --outDir out",
"install:all": "npm install && cd webview-ui && npm install", "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", "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", "pretest": "npm run compile-tests && npm run compile && npm run lint",
"start:webview": "cd webview-ui && npm run start", "start:webview": "cd webview-ui && npm run start",

View File

@@ -8,7 +8,7 @@
"build": "tsc && vite build", "build": "tsc && vite build",
"preview": "vite preview", "preview": "vite preview",
"test": "jest", "test": "jest",
"lint": "eslint src --ext ts,tsx" "lint": "eslint src --ext ts,tsx --quiet"
}, },
"dependencies": { "dependencies": {
"@vscode/webview-ui-toolkit": "^1.4.0", "@vscode/webview-ui-toolkit": "^1.4.0",