Skip to content

Conversation

lexarudak
Copy link

@lexarudak lexarudak commented Aug 15, 2025

Title of Pull Request

Update ESLint configuration

🤔 This is a ...

  • 🌟 New task
  • 🌐 New module
  • ⚙️ Update to an existing task
  • 🔧 Update to an existing module
  • 🔗 Update or addition of external resources or links
  • 🐛 Fix in a task or related content
  • 🛠 Fix in a module or related content
  • ✏️ Fixed a typo or grammatical error
  • 🔗 Fixed a broken link
  • ❓ Other (specify: ****____****)

Description

Replaced the outdated Airbnb ESLint configuration with a modern, conflict-free setup based on recommended rulesets:

eslint:recommended

plugin:@typescript-eslint/recommended

plugin:react/recommended

plugin:react-hooks/recommended

Updated ESLint requirement in the task description to prevent conflicts with React 18+ and TypeScript 5+, while still enforcing strict type checking (strict: true, noImplicitAny: true).

Removed the strict limit of 40 lines per function from the Code Quality section.

Clarified the code quality requirement to focus on avoiding magic numbers/strings and maintaining strong TypeScript typing.

Reason for change
The original Airbnb style guide caused compatibility issues with the latest versions of React and TypeScript, creating unnecessary friction for students. The new configuration keeps linting strict and modern but avoids outdated or conflicting rules.

Checklist

  • ✅ I have performed a self-review of my own code.
  • 📝 I have commented my code, particularly in hard-to-understand areas.
  • 🔧 I have made corresponding changes to the documentation (if applicable).
  • 🚫 My changes generate no new warnings or errors.

- **Modular Architecture**: Clear separation of concerns between API interaction, UI rendering, and state management.
- **SPA Implementation**: All content must be generated using TypeScript with strict type checking.
- **Code Quality**: Adherence to Airbnb's ESLint configuration, with functions limited to 40 lines and avoidance of magic numbers/strings. The `tsconfig.json` must be configured to enforce strict typing principles.
- **Code Quality**: Adherence to ESLint configuration based on recommended rules for TypeScript and React (`eslint:recommended`, `plugin:@typescript-eslint/recommended`, `plugin:react/recommended`, `plugin:react-hooks/recommended`). Avoid magic numbers and magic strings. The `tsconfig.json` must be configured to enforce strict typing principles (`strict: true`, `noImplicitAny: true`).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It only includes React-specific rules, but Angular is also an allowed framework

Comment on lines +190 to +193
- `eslint:recommended`
- `plugin:@typescript-eslint/recommended`
- `plugin:react/recommended`
- `plugin:react-hooks/recommended`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To me, the listed rule format looks like a deprecated one. ESLint 9 now uses a new "flat config" system

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants