Skip to content

v3.0.0

Latest
Compare
Choose a tag to compare
@falkenhawk falkenhawk released this 12 Feb 10:53

v3 brings eslint v9

All related dependencies are also updated.
The rules config has been refreshed. Breaking changes were tried to be avoided, but there might be a few.

- indent rule

indent rule should work better now - although it's still buggy - there might be reports on code which was not reported before.

- no-unused-vars rule

The biggest pain point might be that typeof does not mark a variable as used by no-unused-vars rule - now error is reported.

Related thread: typescript-eslint/typescript-eslint#10266

- Added perfectionist/sort-named-imports and perfectionist/sort-named-exports

We had named imports sorted in v1 when tslint was taking care of that. But it got lost during migration to eslint, as I wrongly assumed that import/order will take care of that.

Later on, the support for sorting named imports (but still not exports) was added to the original eslint-plugin-import import-js/eslint-plugin-import#3043 but we have switched to eslint-plugin-import-x since and the porting request of that feature is still pending. un-ts/eslint-plugin-import-x#225

We could consider switching back to eslint-plugin-import but it still has a set of its own, still unresolved issues.
Instead, I decided to try eslint-plugin-perfectionist and the sorting rules from that. Note we are sticking with import/order for sorting and grouping imports for the time being, as more time would be needed to convert the sorting and grouping config to achieve similar behaviour with the perfectionist/sort-imports rule.

There is also perfectionist/sort-exports rule, but it does not provide config options to define grouping and custom sorting, to achieve similar behaviour to import/order with our custom config applied, so for now we won't enforce that rule.

- @stylistic/quotes now configured with allowTemplateLiterals: 'avoidEscape'

It's a breaking change, but auto-fixable. It comes with the update of @stylistic/eslint-plugin to v3.

For more info check the PRs: #9 and #10

Full Changelog: v2.0.2...v3.0.0