Skip to content

Update dependency eslint to v10 - #103

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-eslint-monorepo
Open

Update dependency eslint to v10#103
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-eslint-monorepo

Conversation

@renovate

@renovate renovate Bot commented May 11, 2024

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
eslint (source) 8.57.110.8.0 age confidence

Release Notes

eslint/eslint (eslint)

v10.8.0

Compare Source

Features

Bug Fixes

  • 6b8d2f7 fix: escape reserved characters in rule id in html formatter (#​21129) (Francesco Trotta)
  • 9091071 fix: prevent no-unreachable-loop crash when all loop types are ignored (#​21116) (Pixel)
  • e23fafe fix: prefer-object-spread add semicolon when adding parenthesis (#​21081) (synthex-byte)
  • 20b5ad0 fix: quadratic-time regex in prefer-template (#​21096) (Milos Djermanovic)
  • 8b6f6c0 fix: apply ignore configs to computed methods in class-methods-use-this (#​21094) (Pixel)
  • b2c608c fix: NewExpression with parenthesized callee in preserve-caught-error (#​21083) (Francesco Trotta)

Documentation

  • 6ddf858 docs: fix broken Specify Parser Options anchor link (#​21106) (Minsu)
  • 784dfbe docs: Clarify no-eq-null description (#​21120) (Park Harin)
  • 7ec733a docs: Fix typos and grammar in glossary (#​21095) (Marry (Subin Yang))
  • 92bb13f docs: replace quake link (#​21108) (Jung Hyeon Jun)
  • 68eb4a5 docs: fix broken Specify Globals anchor links in rule pages (#​21103) (Minsu)
  • d28f697 docs: replace Code Climate CLI links with Qlty CLI links (#​21099) (Jung Hyeon Jun)
  • eccc68d docs: correct --suppressions-location option description (#​21093) (Ga eun Lee)
  • c5963f7 docs: Update README (GitHub Actions Bot)

Chores

  • 4fbf46d test: pin webpack version to 5.108.4 (#​21137) (Francesco Trotta)
  • 2d063e2 chore: update HTTP URLs to HTTPS in JSDoc and comments (#​21101) (Bo Hyun Kim)
  • eccbe7b test: add error locations to no-class-assign (#​21123) (devoil)
  • e7d1e43 ci: bump actions/setup-go from 6 to 7 (#​21118) (dependabot[bot])
  • e9d66d0 ci: bump actions/setup-node from 6 to 7 (#​21119) (dependabot[bot])
  • ee225b6 test: Add error location details to no-eq-null rule (#​21117) (Park Harin)
  • 044a627 chore: update minimatch to ^10.2.5 (#​21107) (김채영)
  • fb09aa8 chore: update ecosystem plugins (#​21115) (ESLint Bot)
  • 5abd878 test: add error locations to no-proto (#​21114) (Gihyeon Jeong / 정기현)
  • 9715887 test: Add error location details to no-div-regex (#​21110) (Park Harin)
  • a746ec6 test: add error locations to no-new-wrappers (#​21109) (Gihyeon Jeong / 정기현)
  • 8dde645 test: add error locations to no-ex-assign (#​21102) (devoil)
  • 13ab0ec test: add error locations to no-label-var (#​21098) (Gihyeon Jeong / 정기현)
  • a99906f test: Add error location details to no-delete-var rule (#​21105) (Park Harin)
  • c47e8dc chore: add missing backticks to languages/js/index.js (#​21104) (beeen)
  • 0174428 chore: add missing backticks to translate-cli-options.js (#​21097) (dongkyu lee)
  • 3d36589 chore: add missing backticks to serialization.js (#​21091) (이규환)
  • dcc9312 test: add error locations to eqeqeq (#​21090) (Ga eun Lee)
  • 2710b18 ci: Add explicit permissions to rebuild-docs-sites workflow (#​21089) (Marry (Subin Yang))
  • 5d2f866 chore: update dependency prettier to v3.9.5 (#​21086) (renovate[bot])
  • d584e31 chore: fix failing ecosystem test for eslint-plugin-unicorn (#​21084) (Francesco Trotta)
  • bf3eda0 chore: update ecosystem plugins (#​21079) (ESLint Bot)

v10.7.0

Compare Source

Features

  • cf2a9bf feat: add errorClassNames option to preserve-caught-error rule (#​21032) (sethamus)
  • f8b873a feat: max-nested-callbacks option for constructor callbacks (#​21063) (fnx)
  • 557fde8 feat: support computed Number.parseInt member access in radix rule (#​21041) (Pixel)
  • 0b4a73b feat: add suggestions to no-compare-neg-zero (#​21034) (den$)
  • 96cdd42 feat: report invalid signed numeric radix values in radix rule (#​21030) (Pixel)

Bug Fixes

  • 3e7bf15 fix: apply ignoreClassesWithImplements to class expressions (#​21069) (Pixel)
  • 0d7d70c fix: insert cause outside wrapping parens in preserve-caught-error (#​21062) (Mahin Anowar)
  • 75ec753 fix: handle static template literals in eqeqeq rule (#​21058) (Pixel)
  • b717a22 fix: prevent eqeqeq null option from reporting non-equality operators (#​21057) (Pixel)
  • e35b05f fix: avoid no-invalid-regexp false positive for shadowed RegExp (#​21051) (Pixel)
  • a3172b6 fix: avoid no-control-regex false positive for shadowed RegExp (#​21050) (Pixel)
  • d1f637e fix: parenthesize sequence expression operands in no-implicit-coercion (#​21045) (spokodev)
  • 8859baf fix: avoid prefer-numeric-literals false positive for shadowed globals (#​21047) (한국)
  • a9e5961 fix: use-isnan false positive on shadowed NaN/Number (#​20958) (sethamus)
  • 8a240a7 fix: avoid false positives in radix rule for spread arguments (#​21044) (Pixel)

Documentation

  • c30d808 docs: Update README (GitHub Actions Bot)
  • 5139800 docs: document ESLint migration codemods in v9 and v10 guides (#​20980) (Alex Bit)
  • 04174cb docs: Update README (GitHub Actions Bot)
  • 026e130 docs: update semver policy for bug fixes (#​21048) (Milos Djermanovic)
  • 9d42fef docs: Update README (GitHub Actions Bot)
  • b230159 docs: Update README (GitHub Actions Bot)
  • 0129972 docs: correct **/.js glob to **/*.js in config files guide (#​21036) (EduardF1)

Chores

v10.6.0

Compare Source

Features

  • b1f9106 feat: detect Symbol() and BigInt() in no-constant-binary-expression (#​20981) (Taejin Kim)
  • f291007 feat: add checkRelationalComparisons to no-constant-binary-expression (#​20948) (sethamus)

Bug Fixes

  • 6b05784 fix: prefer-exponentiation-operator invalid autofix at statement start (#​20997) (Milos Djermanovic)
  • bb9eb2a fix: account for shadowed Boolean in no-extra-boolean-cast (#​21013) (den$)
  • 8fd8741 fix: don't report shadowed undefined in radix rule (#​21011) (Pixel)
  • 5784980 fix: don't report shadowed undefined in no-throw-literal (#​21010) (Pixel)
  • 9cd1e6d fix: suppress invalid class suggestion in no-promise-executor-return (#​21008) (Pixel)
  • d4eb2dc fix: don't report shadowed undefined in prefer-promise-reject-errors (#​21006) (Pixel)
  • 2360464 fix: prefer-promise-reject-errors false positives for shadowed Promise (#​21003) (den$)
  • 63d52d2 fix: restore max-classes-per-file report range (#​21002) (Pixel)
  • 7feaff0 fix: callback detection logic for IIFEs in max-nested-callbacks (#​20979) (fnx)
  • 399a2ec fix: don't report inner non-callbacks in max-nested-callbacks (#​20995) (Milos Djermanovic)

Documentation

  • a83683d docs: Update README (GitHub Actions Bot)
  • f5449f9 docs: document userland patterns for global assertionOptions in RuleT… (#​20986) (playgirl)
  • bea49f7 docs: Update README (GitHub Actions Bot)
  • e5f70f9 docs: update code-path diagrams (#​20984) (Tanuj Kanti)
  • 8890c2d docs: add TypeScript config guidance for MCP server (#​20796) (Pierluigi Lenoci)
  • 3eb3d9b docs: Update README (GitHub Actions Bot)
  • c5bb59c docs: Update README (GitHub Actions Bot)
  • eb3c97c docs: fix grammar in prefer-const rule description (#​20983) (lumir)

Chores

v10.5.0

Compare Source

Features

  • 5ca8c52 feat: correct stack tracking in max-nested-callbacks (#​20973) (Pixel998)
  • b565783 feat: report no-with violations at the with keyword (#​20971) (Pixel998)
  • 2ce032f feat: report max-lines-per-function violations at function head (#​20966) (Pixel998)
  • 732cb3e feat: report max-nested-callbacks violations at function head (#​20967) (Pixel998)
  • f9c138a feat: report max-depth violations on keywords (#​20943) (Pixel998)
  • bdb496c feat: correct max-depth handling for else-if chains (#​20944) (Pixel998)
  • c296873 feat: update error loc in max-statements to function header (#​20907) (Taejin Kim)

Documentation

  • 8ae1b5b docs: Update README (GitHub Actions Bot)
  • ca7eb90 docs: update Node.js prerequisites to include ICU support (#​20962) (Francesco Trotta)
  • f99b47a docs: Update README (GitHub Actions Bot)
  • acf03d4 docs: clarify precedence of parserOptions over languageOptions (#​20926) (sethamus)

Chores

v10.4.1

Compare Source

Bug Fixes

  • e557467 fix: update @eslint/plugin-kit version to 0.7.2 (#​20930) (Francesco Trotta)
  • d4ce898 fix: propagate failures from delegated commands (#​20917) (Minh Vu)
  • f4f3507 fix: prefer-arrow-callback invalid autofix with newline after async (#​20916) (kuldeep kumar)
  • c5bc78b fix: false positive for reference in finally block (#​20655) (Tanuj Kanti)
  • 27538c0 fix: add missing CodePath and CodePathSegment types (#​20853) (Pixel998)

Documentation

  • 61b0add docs: remove deprecated rule from related rules of max-params (#​20921) (Tanuj Kanti)
  • 305d5b9 docs: remove deprecated rules from related rules section (#​20911) (Tanuj Kanti)
  • 49b0202 docs: fix display: none of ad (#​20901) (Tanuj Kanti)
  • 9067f94 docs: switch build to Node.js 24 (#​20893) (Milos Djermanovic)
  • c91b041 docs: Update README (GitHub Actions Bot)
  • e349265 docs: clarify semver strings in rule deprecation objects (#​20885) (Milos Djermanovic)

Chores

v10.4.0

Compare Source

Features

  • 1a45ec5 feat: check sequence expressions in for-direction (#​20701) (kuldeep kumar)
  • 450040b feat: add includeIgnoreFile() to eslint/config (#​20735) (Kirk Waiblinger)

Bug Fixes

Documentation

  • 7e52a71 docs: add mention of @eslint-react/eslint-plugin (#​20869) (Pavel)
  • db3468b docs: tweak wording around ambiguous CJS-vs-ESM config (#​20865) (Kirk Waiblinger)
  • 9084664 docs: Update README (GitHub Actions Bot)
  • 9cc7387 docs: Update README (GitHub Actions Bot)
  • 3d7b548 docs: Update README (GitHub Actions Bot)
  • 191ec3c docs: Update README (GitHub Actions Bot)

Chores

  • 6616856 chore: upgrade knip to v6 (#​20875) (Pixel998)
  • d13b084 ci: ensure auto-created PRs run CI (#​20860) (lumir)
  • e71c7af ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (#​20862) (dependabot[bot])
  • d84393d test: add unit tests for SuppressionsService.applySuppressions() (#​20863) (kuldeep kumar)
  • 24db8cb test: add tests for SuppressionsService.save() (#​20802) (kuldeep kumar)
  • 2ef0549 chore: update ecosystem plugins (#​20857) (github-actions[bot])
  • a429791 ci: remove eslint-webpack-plugin types integration test (#​20668) (Milos Djermanovic)
  • 9e37386 chore: replace recast with range approach in code-sample-minimizer (#​20682) (Copilot)
  • 0dd1f9f test: disable warning for vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER (#​20845) (Francesco Trotta)
  • 9da3c7b refactor: remove deprecated meta.language and migrate meta.dialects (#​20716) (Pixel998)
  • 2099ed1 refactor: add meta.defaultOptions to more rules, enable linting (#​20800) (xbinaryx)
  • f1dfbc9 chore: update ecosystem plugins (#​20836) (github-actions[bot])
  • c759413 ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (#​20843) (dependabot[bot])
  • 5b817d6 test: add unit tests for lib/shared/ast-utils (#​20838) (kuldeep kumar)
  • 1c13ae3 test: add unit tests for lib/shared/severity (#​20835) (kuldeep kumar)

v10.3.0

Compare Source

Features

  • 379571a feat: add suggestions for no-unused-private-class-members (#​20773) (sethamus)

Bug Fixes

  • b6ae5cf fix: handle unavailable require cache (#​20812) (Simon Podlipsky)
  • 6fb3685 fix: rule suggestions cause continuation in class body (#​20787) (Milos Djermanovic)

Documentation

  • 32cc7ab docs: fix typos in docs and comments (#​20809) (Tanuj Kanti)
  • 7f47937 docs: Update README (GitHub Actions Bot)

Chores

  • d32235e ci: use pnpm in eslint-flat-config-utils type integration test (#​20826) (Francesco Trotta)
  • 3ffb14e chore: clean up typos in comments and JSDoc (#​20821) (Pixel998)
  • 22eb58a chore: add missing continue-on-error to ecosystem-tests.yml (#​20818) (Josh Goldberg ✨)
  • 88bf002 ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (#​20815) (dependabot[bot])
  • 97c8c33 chore: update ilshidur/action-discord action to v0.4.0 (#​20811) (renovate[bot])
  • 2f58136 chore: pin peter-evans/create-pull-request action to 5f6978f (#​20810) (renovate[bot])
  • 77add7f chore: add initial ecosystem plugin tests workflow (#​19643) (Josh Goldberg ✨)
  • 4023b55 test: Add unit tests for SuppressionsService.prune() (#​20797) (kuldeep kumar)
  • 54080da test: add unit tests for ForkContext (#​20778) (kuldeep kumar)
  • f0e2bcc test: add unit tests for SuppressionsService.suppress() method (#​20765) (kuldeep kumar)
  • a7f0b94 chore: update dependency prettier to v3.8.3 (#​20782) (renovate[bot])
  • 7bf93d9 chore: update TypeScript to v6 (#​20677) (sethamus)
  • b42dd72 ci: bump pnpm/action-setup from 6.0.0 to 6.0.1 (#​20781) (dependabot[bot])
  • 2b252be test: add unit tests for IdGenerator (#​20775) (kuldeep kumar)

v10.2.1

Compare Source

Bug Fixes

  • 14be92b fix: model generator yield resumption paths in code path analysis (#​20665) (sethamus)
  • 84a19d2 fix: no-async-promise-executor false positives for shadowed Promise (#​20740) (xbinaryx)
  • af764af fix: clarify language and processor validation errors (#​20729) (Pixel998)
  • e251b89 fix: update eslint (#​20715) (renovate[bot])

Documentation

  • ca92ca0 docs: reuse markdown-it instance for markdown filter (#​20768) (Amaresh S M)
  • 57d2ee2 docs: Enable Eleventy incremental mode for watch (#​20767) (Amaresh S M)
  • c1621b9 docs: fix typos in code-path-analyzer.js (#​20700) (Ayush Shukla)
  • 1418d52 docs: Update README (GitHub Actions Bot)
  • 39771e6 docs: Update README (GitHub Actions Bot)
  • 71e0469 docs: fix incomplete JSDoc param description in no-shadow rule (#​20728) (kuldeep kumar)
  • 22119ce docs: clarify scope of for-direction rule with dead code examples (#​20723) (Amaresh S M)
  • 8f3fb77 docs: document meta.docs.dialects (#​20718) (Pixel998)

Chores

  • 7ddfea9 chore: update dependency prettier to v3.8.2 (#​20770) (renovate[bot])
  • fac40e1 ci: bump pnpm/action-setup from 5.0.0 to 6.0.0 (#​20763) (dependabot[bot])
  • 7246f92 test: add tests for SuppressionsService.load() error handling (#​20734) (kuldeep kumar)
  • 4f34b1e chore: update pnpm/action-setup action to v5 (#​20762) (renovate[bot])
  • 51080eb test: processor service (#​20731) (kuldeep kumar)
  • e7e1889 chore: remove stale babel-eslint10 fixture and test (#​20727) (kuldeep kumar)
  • 4e1a87c test: remove redundant async/await in flat config array tests (#​20722) (Pixel998)
  • 066eabb test: add rule metadata coverage for languages and docs.dialects (#​20717) (Pixel998)

v10.2.0

Compare Source

Features

Bug Fixes

Documentation

  • a2af743 docs: add language to configuration objects (#​20712) (Francesco Trotta)
  • 845f23f docs: Update README (GitHub Actions Bot)
  • 5fbcf59 docs: remove sourceType from ts playground link (#​20477) (Tanuj Kanti)
  • 8702a47 docs: Update README (GitHub Actions Bot)
  • ddeaded docs: Update README (GitHub Actions Bot)
  • 2b44966 docs: add Major Releases section to Manage Releases (#​20269) (Milos Djermanovic)
  • eab65c7 docs: update eslint versions in examples (#​20664) (루밀LuMir)
  • 3e4a299 docs: update ESM Dependencies policies with note for own-usage packages (#​20660) (Milos Djermanovic)

Chores

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone US/Eastern)

  • Branch creation
    • "every weekend"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from ccdb228 to 5d9c227 Compare May 13, 2024 15:59
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 67db7d0 to 62063e5 Compare May 20, 2024 19:34
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 71521a5 to 8d726b1 Compare June 6, 2024 15:14
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 8655f87 to 3b13d5c Compare June 17, 2024 17:00
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from f09fd39 to c1edb41 Compare June 25, 2024 16:00
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 0150287 to 64f0951 Compare July 2, 2024 18:14
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch from 64f0951 to f0f7100 Compare August 14, 2024 00:54
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 7965e58 to da4cace Compare August 21, 2024 17:56
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 7 times, most recently from b3030e3 to 548c4f4 Compare September 25, 2024 16:30
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from d604389 to 102bd36 Compare September 30, 2024 16:49
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 6 times, most recently from 17aaf04 to a59593c Compare October 9, 2024 17:19
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 3 times, most recently from 871aba0 to 43404da Compare November 22, 2024 15:33
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from c7087f1 to 77a9f76 Compare November 30, 2024 00:36
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 3a07e56 to 6fdbb43 Compare December 9, 2024 11:40
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 17b692f to ba1e49d Compare December 16, 2024 09:13
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from fa19c93 to 7253835 Compare December 30, 2024 06:14
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 856b45b to ddf9271 Compare January 11, 2025 00:16
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch from ddf9271 to f2015f5 Compare January 13, 2025 11:07
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 3ddaad7 to 7e9fac1 Compare January 24, 2025 22:45
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from be508e0 to e561017 Compare February 3, 2025 10:26
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 3 times, most recently from 60a640a to 14d1ebb Compare February 11, 2025 17:58
@renovate
renovate Bot force-pushed the renovate/major-eslint-monorepo branch 2 times, most recently from 28f849a to 1077038 Compare February 22, 2025 00:38
Comment thread package.json Outdated
Comment thread package.json Outdated
"@types/react-dom": "^18.2.0",
"@typescript-eslint/eslint-plugin": "^7.0.1",
"eslint": "8.57.1",
"eslint": "10.0.2",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The upgrade to ESLint v10 is incompatible with the existing .eslintrc.js configuration and the eslint-plugin-react version, which will cause the yarn lint command to fail.
Severity: CRITICAL

Suggested Fix

To resolve this, migrate the configuration from .eslintrc.js to the new flat config format in an eslint.config.js file. Additionally, update or replace eslint-plugin-react with a version that is compatible with ESLint v10. You should also verify that the shared configuration, eslint-config-mitodl, supports ESLint v10.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L71

Potential issue: The project's `package.json` is being updated to use ESLint v10.
However, ESLint v10 has removed support for the `.eslintrc.js` configuration file format
that the project currently uses. Additionally, the installed version of
`eslint-plugin-react` (v7.37.1) is not compatible with ESLint v10. These
incompatibilities will cause the `yarn lint` command to fail during the CI workflow,
preventing the pull request from being merged. The build will crash at the "Lint" step
due to a runtime execution error when ESLint is invoked.

Comment thread package.json Outdated
"@types/react-dom": "^18.2.0",
"@typescript-eslint/eslint-plugin": "^7.0.1",
"eslint": "8.57.1",
"eslint": "10.0.2",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The upgrade to eslint@10.0.2 is incompatible with prettier-eslint-cli, which depends on ESLint v8 APIs. This will cause the yarn fmt:check command to fail.
Severity: CRITICAL

Suggested Fix

Update or replace the prettier-eslint-cli dependency with a version or alternative tool that is compatible with ESLint v10 and its flat configuration system. This will resolve the runtime errors during formatting checks in the CI pipeline.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L71

Potential issue: The project's `package.json` upgrades `eslint` to version 10.0.2.
However, a development dependency, `prettier-eslint-cli`, relies on `prettier-eslint`,
which has a peer dependency on `eslint@^8.57.1`. ESLint v10 introduced breaking changes,
including the removal of the `eslintrc` configuration system and internal APIs that
`prettier-eslint` depends on. As a result, running the `yarn fmt:check` command, which
is part of the CI pipeline, will cause a runtime error. This will break the CI build and
prevent developers from running code formatting checks locally.

Comment thread package.json Outdated
"@types/react-dom": "^18.2.0",
"@typescript-eslint/eslint-plugin": "^7.0.1",
"eslint": "8.57.1",
"eslint": "10.0.2",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The upgrade to eslint@10.0.2 is incompatible with several dev dependencies, including @typescript-eslint/eslint-plugin, @typescript-eslint/parser, and prettier-eslint, which require ESLint v8.
Severity: HIGH

Suggested Fix

To resolve the incompatibility, either downgrade eslint back to a version within the ^8.57.1 range, or update the dependent packages (@typescript-eslint/eslint-plugin, @typescript-eslint/parser, prettier-eslint) to versions that are compatible with ESLint v10. This will likely require a major version bump for those packages as well.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L71

Potential issue: The pull request upgrades `eslint` to version `10.0.2`. However, other
development dependencies have peer dependency requirements that are not met by this new
version. Specifically, `@typescript-eslint/eslint-plugin@^7.0.1` and
`@typescript-eslint/parser@^7.0.1` require `eslint@^8.56.0`, and
`prettier-eslint@^16.1.0` requires `eslint@^8.57.1`. ESLint v10 introduced breaking
changes, such as a new configuration system, making it incompatible with these older
packages. This mismatch will cause peer dependency conflicts during installation and
will lead to runtime failures when executing linting or formatting commands like `yarn
lint` and `yarn fmt`.

Comment thread package.json
"eslint": "10.0.2",
"eslint-config-mitodl": "^2.0.0",
"eslint-plugin-react": "^7.37.1",
"eslint-plugin-react-hooks": "^4.6.2",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The project's version of eslint-plugin-react-hooks (4.6.2) is incompatible with the upgrade to ESLint v10, which will break the linting process in CI.
Severity: CRITICAL

Suggested Fix

Upgrade eslint-plugin-react-hooks to a version compatible with ESLint v10, such as 7.0.1 or a later version, to resolve the peer dependency conflict and API incompatibility.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L74

Potential issue: The update to ESLint v10 introduces a compatibility issue with
`eslint-plugin-react-hooks`, which is currently at version `4.6.2`. This version of the
plugin has a peer dependency requirement for ESLint versions up to v8 and is not
compatible with the new plugin loading mechanism and APIs in ESLint v10. As a result,
running linting scripts such as `yarn lint` will cause a runtime error when ESLint
attempts to load the incompatible plugin. This will cause the CI build to fail,
preventing merges.

Comment thread package.json
"eslint": "10.0.3",
"eslint-config-mitodl": "^2.0.0",
"eslint-plugin-react": "^7.37.1",
"eslint-plugin-react-hooks": "^4.6.2",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The lint scripts use the --ext flag, which is no longer supported in the upgraded ESLint v10. This will cause the lint and lint:cache commands to fail.
Severity: CRITICAL

Suggested Fix

Remove the --ext .js,.jsx,.ts,.tsx flag from the lint and lint:cache scripts in package.json. To maintain functionality, migrate the configuration from .eslintrc.js to a new eslint.config.js file and specify the file patterns to be linted within that new configuration file.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L74

Potential issue: The `lint` and `lint:cache` scripts in `package.json` use the `--ext`
flag to specify file extensions. This pull request upgrades ESLint to version 10, which
has completely removed support for the `--ext` flag and the `.eslintrc` configuration
system. Consequently, running `yarn lint` or `yarn lint:cache` will cause an immediate
runtime failure as ESLint v10 will reject the unrecognized command-line option. This
will break the local development linting workflow and any CI/CD pipeline steps that rely
on these scripts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants