microsoft / microsoft/Web-Dev-For-Beginners

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

Open
#1,683 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
96.7k
Forks
15.9k
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with 7-bank-project/api/package.json and 7-bank-project/api/.eslintrc.js, then read the linked ESLint 9 migration guide to identify configuration and deprecated-rule changes. Update the dependency and migrate the configuration to flat config, ensuring the existing bank-api code remains compatible with the new linting setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
eslint, javascript
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.