mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-31 20:03:37 +00:00
- Fix 75 ESLint errors by updating eslint.config.mjs: - Add missing browser globals (MouseEvent, AbortController, Response, etc.) - Add Vite define global (__APP_VERSION__) - Configure @ts-nocheck to require descriptions - Add no-unused-vars rule for .mjs scripts - Fix runtime bug in agent-output-modal.tsx (setOutput -> setStreamedContent) - Remove ~120 unused variable warnings across 97 files: - Remove unused imports (React hooks, lucide icons, types) - Remove unused constants and variables - Remove unused function definitions - Prefix intentionally unused parameters with underscore - Add descriptions to all @ts-nocheck comments (25 files) - Clean up misc issues: - Remove invalid deprecation plugin comments - Fix eslint-disable comment placement - Add missing RefreshCw import in code-view.tsx Reduces lint warnings from ~300 to 67 (all remaining are no-explicit-any) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
143 lines
4.0 KiB
JavaScript
143 lines
4.0 KiB
JavaScript
import { defineConfig, globalIgnores } from 'eslint/config';
|
|
import js from '@eslint/js';
|
|
import ts from '@typescript-eslint/eslint-plugin';
|
|
import tsParser from '@typescript-eslint/parser';
|
|
|
|
const eslintConfig = defineConfig([
|
|
js.configs.recommended,
|
|
{
|
|
files: ['**/*.mjs', '**/*.cjs'],
|
|
languageOptions: {
|
|
globals: {
|
|
console: 'readonly',
|
|
process: 'readonly',
|
|
require: 'readonly',
|
|
__dirname: 'readonly',
|
|
__filename: 'readonly',
|
|
setTimeout: 'readonly',
|
|
clearTimeout: 'readonly',
|
|
},
|
|
},
|
|
rules: {
|
|
'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.ts', '**/*.tsx'],
|
|
languageOptions: {
|
|
parser: tsParser,
|
|
parserOptions: {
|
|
ecmaVersion: 'latest',
|
|
sourceType: 'module',
|
|
},
|
|
globals: {
|
|
// Browser/DOM APIs
|
|
window: 'readonly',
|
|
document: 'readonly',
|
|
navigator: 'readonly',
|
|
Navigator: 'readonly',
|
|
localStorage: 'readonly',
|
|
sessionStorage: 'readonly',
|
|
fetch: 'readonly',
|
|
WebSocket: 'readonly',
|
|
File: 'readonly',
|
|
FileList: 'readonly',
|
|
FileReader: 'readonly',
|
|
Blob: 'readonly',
|
|
atob: 'readonly',
|
|
crypto: 'readonly',
|
|
prompt: 'readonly',
|
|
confirm: 'readonly',
|
|
getComputedStyle: 'readonly',
|
|
requestAnimationFrame: 'readonly',
|
|
cancelAnimationFrame: 'readonly',
|
|
alert: 'readonly',
|
|
// DOM Element Types
|
|
HTMLElement: 'readonly',
|
|
HTMLInputElement: 'readonly',
|
|
HTMLDivElement: 'readonly',
|
|
HTMLButtonElement: 'readonly',
|
|
HTMLSpanElement: 'readonly',
|
|
HTMLTextAreaElement: 'readonly',
|
|
HTMLHeadingElement: 'readonly',
|
|
HTMLParagraphElement: 'readonly',
|
|
HTMLImageElement: 'readonly',
|
|
Element: 'readonly',
|
|
SVGElement: 'readonly',
|
|
SVGSVGElement: 'readonly',
|
|
// Event Types
|
|
Event: 'readonly',
|
|
KeyboardEvent: 'readonly',
|
|
DragEvent: 'readonly',
|
|
PointerEvent: 'readonly',
|
|
CustomEvent: 'readonly',
|
|
ClipboardEvent: 'readonly',
|
|
WheelEvent: 'readonly',
|
|
MouseEvent: 'readonly',
|
|
UIEvent: 'readonly',
|
|
MediaQueryListEvent: 'readonly',
|
|
DataTransfer: 'readonly',
|
|
// Web APIs
|
|
ResizeObserver: 'readonly',
|
|
AbortSignal: 'readonly',
|
|
AbortController: 'readonly',
|
|
IntersectionObserver: 'readonly',
|
|
Audio: 'readonly',
|
|
HTMLAudioElement: 'readonly',
|
|
ScrollBehavior: 'readonly',
|
|
URL: 'readonly',
|
|
URLSearchParams: 'readonly',
|
|
XMLHttpRequest: 'readonly',
|
|
Response: 'readonly',
|
|
RequestInit: 'readonly',
|
|
RequestCache: 'readonly',
|
|
// Timers
|
|
setTimeout: 'readonly',
|
|
setInterval: 'readonly',
|
|
clearTimeout: 'readonly',
|
|
clearInterval: 'readonly',
|
|
// Node.js (for scripts and Electron)
|
|
process: 'readonly',
|
|
require: 'readonly',
|
|
__dirname: 'readonly',
|
|
__filename: 'readonly',
|
|
NodeJS: 'readonly',
|
|
// React
|
|
React: 'readonly',
|
|
JSX: 'readonly',
|
|
// Electron
|
|
Electron: 'readonly',
|
|
// Console
|
|
console: 'readonly',
|
|
// Vite defines
|
|
__APP_VERSION__: 'readonly',
|
|
},
|
|
},
|
|
plugins: {
|
|
'@typescript-eslint': ts,
|
|
},
|
|
rules: {
|
|
...ts.configs.recommended.rules,
|
|
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
|
|
'@typescript-eslint/no-explicit-any': 'warn',
|
|
'@typescript-eslint/ban-ts-comment': [
|
|
'error',
|
|
{
|
|
'ts-nocheck': 'allow-with-description',
|
|
minimumDescriptionLength: 10,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
globalIgnores([
|
|
'dist/**',
|
|
'dist-electron/**',
|
|
'node_modules/**',
|
|
'server-bundle/**',
|
|
'release/**',
|
|
'src/routeTree.gen.ts',
|
|
]),
|
|
]);
|
|
|
|
export default eslintConfig;
|