Skip to content

[Enhancement] Update ESLint configuration from v7 to v9 in bank-api project #1683

@GziXnine

Description

@GziXnine

Feature Request

Summary

Upgrade ESLint from v7.5.0 to v9.x in the 7-bank-project/api directory to benefit from modern linting capabilities, improved performance, and continued security support.

Current State

  • Location: 7-bank-project/api/package.json
  • Current Version: ESLint 7.5.0 (released July 2020)
  • Latest Stable: ESLint 9.x

Problem

ESLint 7.x is significantly outdated:

  • ESLint 7.x reached end-of-life

    "devDependencies": {
      "eslint": "^7.5.0",
    },
    {
        "env": {
            "commonjs": true,
            "es2020": true,
            "node": true
        },
        "extends": "eslint:recommended",
        "parserOptions": {
            "ecmaVersion": 11
        },
        "rules": {
        }
    }
  • Missing 5+ years of bug fixes and improvements

  • No access to modern ECMAScript features support

  • Potential security vulnerabilities in older dependencies

  • New contributors may have compatibility issues with modern Node.js versions

Proposed Solution

  1. Upgrade ESLint to v9.x
  2. Migrate configuration from .eslintrc.js to the new flat config format (eslint.config.js)
  3. Update any deprecated rules
  4. Ensure compatibility with existing codebase

Benefits

  • Modern JavaScript/ES2024+ support
  • Improved performance and faster linting
  • Access to new rules and plugins
  • Better IDE integration
  • Continued security updates
  • Aligns with modern development practices taught in the curriculum

Files to Update

  • 7-bank-project/api/package.json - Update ESLint version
  • 7-bank-project/api/.eslintrc.js - Migrate to flat config format

Additional Context

This educational repository teaches modern web development practices. Keeping development tools up-to-date ensures students learn current industry standards.

Willingness to Contribute

  • I am willing to submit a PR to implement this feature

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions