mirror of
				https://github.com/pagefaultgames/pokerogue.git
				synced 2025-10-31 00:15:59 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # ESLint
 | |
| ## Key Features
 | |
| 
 | |
| 1. **Automation**:
 | |
|    - A pre-commit hook has been added to automatically run ESLint on the added or modified files, ensuring code quality before commits.
 | |
| 
 | |
| 2. **Manual Usage**:
 | |
|    - If you prefer not to use the pre-commit hook, you can manually run ESLint to automatically fix issues using the command:
 | |
|      ```sh
 | |
|      npx eslint --fix . or npm run eslint
 | |
|      ```
 | |
|    - Running this command will lint all files in the repository.
 | |
| 
 | |
| 3. **GitHub Action**:
 | |
|    - A GitHub Action has been added to automatically run ESLint on every push and pull request, ensuring code quality in the CI/CD pipeline.
 | |
| 
 | |
| ## Summary of ESLint Rules
 | |
| 
 | |
| 1. **General Rules**:
 | |
|    - **Equality**: Use `===` and `!==` instead of `==` and `!=` (`eqeqeq`).
 | |
|    - **Indentation**: Enforce 2-space indentation (`indent`).
 | |
|    - **Quotes**: Use doublequotes for strings (`quotes`).
 | |
|    - **Variable Declarations**: 
 | |
|      - Disallow `var`; use `let` or `const` (`no-var`).
 | |
|      - Prefer `const` for variables that are never reassigned (`prefer-const`).
 | |
|    - **Unused Variables**: Allow unused function parameters but enforce error for other unused variables (`@typescript-eslint/no-unused-vars`).
 | |
|    - **End of Line**: Ensure at least one newline at the end of files (`eol-last`).
 | |
|    - **Curly Braces**: Enforce the use of curly braces for all control statements (`curly`).
 | |
|    - **Brace Style**: Use one true brace style (`1tbs`) for TypeScript-specific syntax (`@typescript-eslint/brace-style`).
 | |
| 
 | |
| 2. **TypeScript-Specific Rules**:
 | |
|    - **Semicolons**:
 | |
|      - Enforce semicolons for TypeScript-specific syntax (`@typescript-eslint/semi`).
 | |
|      - Disallow unnecessary semicolons (`@typescript-eslint/no-extra-semi`).
 | |
| 
 | |
| ## Benefits
 | |
| 
 | |
| - **Consistency**: Ensures consistent coding style across the project.
 | |
| - **Code Quality**: Helps catch potential errors and improve overall code quality.
 | |
| - **Readability**: Makes the codebase easier to read and maintain. |