pokerogue/docs/linting.md

1.9 KiB

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:
      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.