Releases: Skyscanner/eslint-config-skyscanner
16.3.0
What’s Changed
Added
- [ARGG-741][import/order]: Add rule to set alphabetical order of imports to solve clashes and conflicts with bundle ordering on build. (#623) @olliecurtis
- This change is autofixible via the
--fix
option to set the consistent order across imports. - If you provide comments with your imports you will be required to move the comments as this is not automatically available to move comments
- This change is autofixible via the
16.2.0
What’s Changed
Added
- Bump @typescript-eslint/parser from 6.2.0 to 6.7.5 (#626) @dependabot
- Bump eslint from 8.50.0 to 8.51.0 (#622) @dependabot
- Bump @typescript-eslint/eslint-plugin from 6.1.0 to 6.7.2 (#615) @dependabot
Fixed
- Bump @babel/core from 7.23.0 to 7.23.2 (#624) @dependabot
- Bump eslint-plugin-prettier from 5.0.0 to 5.0.1 (#625) @dependabot
- Bump @babel/preset-react from 7.22.5 to 7.22.15 (#620) @dependabot
- Bump eslint-plugin-jest from 27.4.0 to 27.4.2 (#619) @dependabot
16.1.0
What’s Changed
Updated
- Bump eslint from 8.45.0 to 8.50.0 (#616) @dependabot
- Bump eslint-plugin-jest from 27.2.3 to 27.4.0 (#613) @dependabot
- Bump @babel/core from 7.22.9 to 7.23.0 (#614) @dependabot
- Bump eslint-plugin-react from 7.32.2 to 7.33.2 (#594) @dependabot
- Bump eslint-plugin-import from 2.27.5 to 2.28.1 (#593) @dependabot
- Bump prettier from 3.0.0 to 3.0.3 (#605) @dependabot
- Bump @babel/eslint-parser from 7.22.9 to 7.22.15 (#608) @dependabot
16.0.0
What’s Changed
Breaking
- Bump @typescript-eslint/eslint-plugin from 5.59.11 to 6.1.0
- Bump @typescript-eslint/parser from 5.62.0 to 6.3.0
- Bump eslint-plugin-jest from 26.0.0 t0 27.2.3
There are no anticipated breaking changes for consumers that use this config unaltered, but if you extend this config to alter, expand on, or write your own rules you may be impacted as several rules have been removed, and AST breaking changes have been made for custom rules.
Please see the release notes below for specific changes:
https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/
https://github.com/jest-community/eslint-plugin-jest/releases/tag/v27.0.0
15.2.0
15.1.0
What’s Changed
Added
- [KOA-6221] Update eslint-plugin-backpack to v5 which supports ESLint 8 (#574) @dominicfraser
15.0.0
What's Changed
Note: Please move straight to 15.1.0 to pull in a related update for eslint-plugin-backpack.
Breaking
- Bump eslint-config-airbnb from 18 to 19
- Bump eslint from 7 to 8
This update is intended to be as low friction as possible, with incoming rules that cause more toil than gain disabled.
However, it does bring in several new, very valuable, rules, so it is expected to need work to fix these lint errors when making this upgrade. If you do not agree with any of the incoming rules please reach out to talk about solving it in a centralised way before making local overrides.
All new rules will point to documentation about that rule, with examples of fixes, if they trigger in your codebase.
If you use @skyscanner/stylelint-config-skyscanner
please update to v9, to match this change, as it shares transitive dependencies: https://github.com/Skyscanner/stylelint-config-skyscanner/blob/main/docs/eslint-as-dependency.md
If you use eslint-plugin-skyscanner-dates
please update to v4 for ESLint 8 compatibility.
ESLint release notes:
AirBnB Config Release notes:
- https://github.com/airbnb/javascript/blob/eslint-config-airbnb-v19.0.0/packages/eslint-config-airbnb/CHANGELOG.md#1900--2021-11-10
- https://github.com/airbnb/javascript/blob/eslint-config-airbnb-v19.0.0/packages/eslint-config-airbnb-base/CHANGELOG.md#1500--2021-11-08
The following rules have been disabled or downgraded:
- react/function-component-definition
- react/jsx-no-useless-fragment
- react/prefer-exact-props
- import/no-relative-packages
- default-param-last
See inline comments for each as to why.
Full Changelog: v14.0.1...v15.0.0
14.0.1
What's Changed
- Bump lint-staged from 13.2.2 to 13.2.3
- Bump @typescript-eslint/parser from 5.59.11 to 5.62.0
Full Changelog: v14.0.0...v14.0.1
14.0.0
What's Changed
Patch
- [KOA-6079]: Migrate to Node 18 #552
Breaking
- [KOA-6213] Update from babel-eslint to @babel/eslint-parser #565
babel-eslint
was deprecated on July 31, 2020 in favour of the package from Babel's main monorepo; @babel/eslint-parser
.
If using the standard Skyscanner tool chain as described in our Production Standards then for the majority of consumers this will be a patch level change.
However, if your repository is using non-standard presets then some additional configuration may be required.
Upgrade Details
Parser
eslint-config-skyscanner
sets
parser: '@babel/eslint-parser',
by default, and overrides this for .ts?(x)
files to
parser: '@typescript-eslint/parser',
If you were previous declaring parser
explicitly in your eslintrc
this will need to be updated, or removed (to inherit the behaviour as above).
Parser Options
For JavaScript eslint-config-skyscanner
sets
parserOptions: {
requireConfigFile: false,
babelOptions: {
presets: ['@babel/preset-react'],
},
},
and for .ts?(x)
plugins: ['@typescript-eslint'],
This will not require a Babel config file, but if one is present will use it by default. It includes support for React syntax and TypeScript by default.
If you have extended your project beyond this to non-standard Skyscanner syntax, and this is not in your root Babel config, then you will need to override these settings in your eslintrc
for Babel to be able to parse your code while ESLint runs.
Full Changelog: v13.2.1...v14.0.0
13.2.1
What's Changed
- Bump @typescript-eslint/parser from 5.50.0 to 5.59.8
- Bump @typescript-eslint/eslint-plugin from 5.53.0 to 5.59.9
- Bump lint-staged from 13.0.3 to 13.2.2
- Bump jest from 29.4.3 to 29.5.0
- Bump eslint-plugin-sort-destructure-keys from 1.4.0 to 1.5.0
Full Changelog: v13.2.0...v13.2.1