americanexpress / eslint-config-amex

✨ This is American Express' eslint config
Apache License 2.0
40 stars 13 forks source link

feat: add support for ESLint v8 #97

Closed marcusrbrown closed 2 years ago

marcusrbrown commented 2 years ago

Description

Adds minimal support for ESLint v8. A few dependencies required updates to versions that are compatible with ESLint v8.

Breaking Changes?

A project that uses ESLint v7 with eslint-config-amex should not be affected by this change.

The breaking change in eslint-config-airbnb v19 removes support for ESLint < v7. eslint-config-amex requires a minimum of ESLint v7.

The eslint-plugin-jest upgrade to v25 introduces breaking changes to jest:recommended and updates rules that could be in use by projects that use the test config preset. I widened the peer dependency's version range to leave v24 intact. Users who arrive here on ESLint v8 must use eslint-plugin-jest@^25.1.0 or later.

eslint-plugin-unicorn v37 release does not introduce breaking changes when updating from v36.

Please make sure that the PR fulfills these requirements

Motivation and Context

The current major version of ESLint must be supported by all config presets. We should continue to support users on v7. I would also recommend updating the unit test to accept any ESLint version in dev deps that satisfies the peer dep range. I will followup with that change later.

How Has This Been Tested?

npm test

Types of changes

marcusrbrown commented 2 years ago

Should I set the version to 8.x or what else is needed to get this PR approved? The lack of ESLint 8 support keeps this config locked to older dependencies.

10xLaCroixDrinker commented 2 years ago

@marcusrbrown can you resolve conflicts?

marcusrbrown commented 2 years ago

@marcusrbrown can you resolve conflicts?

Resolved.

oneamexbot commented 2 years ago

:tada: This PR is included in version 15.1.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: