diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..be3b7af --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,29 @@ +import eslint from '@eslint/js'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + eslint.configs.recommended, + ...tseslint.configs.strict, + { + files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'], + languageOptions: { + parserOptions: { + projectService: { + allowDefaultProject: ['*.config.*'], + }, + }, + }, + }, + { + ignores: [ + '**/node_modules/**', + '**/dist/**', + '**/build/**', + '**/.understand-anything/**', + '**/.claude-plugin/**', + '**/.cursor-plugin/**', + '**/.copilot-plugin/**', + '**/coverage/**', + ], + }, +); \ No newline at end of file diff --git a/package.json b/package.json index 3b79775..7d18999 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,10 @@ "lint": "eslint ." }, "devDependencies": { + "@eslint/js": "^9.0.0", + "eslint": "^9.0.0", "typescript": "^5.7.0", + "typescript-eslint": "^8.0.0", "vitest": "^3.1.0" }, "pnpm": {