fix: Add ESLint configuration and fix code style issues
Created ESLint configuration and auto-fixed code style violations to resolve CI/CD pipeline linting failures. ## Problem CI/CD pipeline was failing at the linting step: ``` ESLint couldn't find a configuration file. ``` The project had ESLint installed but no configuration, causing the lint step in the pipeline to fail. ## Solution ### 1. Created .eslintrc.json **Configuration Details:** - Environment: Browser, ES2021, Node - Extends: eslint:recommended - Parser: ES Modules, latest ECMAScript - Rules: - 4-space indentation - Unix line endings - Single quotes (with escape allowance) - Semicolons required - Unused vars as warnings (prefixed with _ ignored) - Console allowed (common in development) ### 2. Auto-Fixed Code Issues Ran `eslint --fix` to automatically resolve: - ✅ 16 indentation errors (standardized to 4 spaces) - ✅ Formatting inconsistencies - ✅ Code style violations **Remaining:** - 6 warnings for unused parameters (acceptable, won't fail CI) - These are interface parameters maintained for consistency ## Files Modified - .eslintrc.json (new) - ESLint configuration - js/engine/MoveValidator.js - indentation fixes - js/engine/SpecialMoves.js - indentation fixes - js/main.js - style fixes - js/pieces/King.js - formatting - js/pieces/Piece.js - formatting ## Verification ```bash npm run lint ✖ 6 problems (0 errors, 6 warnings) ``` ✅ No errors - pipeline will pass ⚠️ 6 warnings - informational only, don't fail build ## Impact ✅ CI/CD linting step will now succeed ✅ Consistent code style across project ✅ Automated style checking on all commits ✅ Better code readability and maintainability 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
5d3675bf0f
commit
9ed4efb372
28
.eslintrc.json
Normal file
28
.eslintrc.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es2021": true,
|
||||
"node": true
|
||||
},
|
||||
"extends": "eslint:recommended",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": "latest",
|
||||
"sourceType": "module"
|
||||
},
|
||||
"rules": {
|
||||
"indent": ["error", 4],
|
||||
"linebreak-style": ["error", "unix"],
|
||||
"quotes": ["error", "single", { "avoidEscape": true }],
|
||||
"semi": ["error", "always"],
|
||||
"no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
|
||||
"no-console": "off",
|
||||
"no-debugger": "warn"
|
||||
},
|
||||
"ignorePatterns": [
|
||||
"node_modules/",
|
||||
"coverage/",
|
||||
"dist/",
|
||||
"build/",
|
||||
"*.min.js"
|
||||
]
|
||||
}
|
||||
@ -226,8 +226,8 @@ export class MoveValidator {
|
||||
|
||||
// King can't pass through check
|
||||
for (let col = king.position.col + direction;
|
||||
col !== targetCol + direction;
|
||||
col += direction) {
|
||||
col !== targetCol + direction;
|
||||
col += direction) {
|
||||
|
||||
const simulatedBoard = board.clone();
|
||||
simulatedBoard.movePiece(king.position.row, king.position.col, row, col);
|
||||
|
||||
@ -155,20 +155,20 @@ export class SpecialMoves {
|
||||
|
||||
let newPiece;
|
||||
switch (pieceType) {
|
||||
case 'queen':
|
||||
newPiece = new Queen(color, { row, col });
|
||||
break;
|
||||
case 'rook':
|
||||
newPiece = new Rook(color, { row, col });
|
||||
break;
|
||||
case 'bishop':
|
||||
newPiece = new Bishop(color, { row, col });
|
||||
break;
|
||||
case 'knight':
|
||||
newPiece = new Knight(color, { row, col });
|
||||
break;
|
||||
default:
|
||||
newPiece = new Queen(color, { row, col });
|
||||
case 'queen':
|
||||
newPiece = new Queen(color, { row, col });
|
||||
break;
|
||||
case 'rook':
|
||||
newPiece = new Rook(color, { row, col });
|
||||
break;
|
||||
case 'bishop':
|
||||
newPiece = new Bishop(color, { row, col });
|
||||
break;
|
||||
case 'knight':
|
||||
newPiece = new Knight(color, { row, col });
|
||||
break;
|
||||
default:
|
||||
newPiece = new Queen(color, { row, col });
|
||||
}
|
||||
|
||||
board.setPiece(row, col, newPiece);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user