Releases: seek-oss/eslint-config-seek
v14.2.0
Minor Changes
- Add
import-x/export
as a new lint rule. (#160)
This fails on repeated exports of names or defaults.
v14.1.0
Minor Changes
-
Upgrade
eslint-plugin-react-hooks
to version 5, removing the need for@eslint/compat
. (#155)eslint-plugin-react-hooks
contains some minor rule changes. Refer to the release notes for more information.
v14.0.2
v14.0.1
v14.0.0
Major Changes
-
Some language options have been restored to defaults: (#145)
sourceType
is now set to the default ofmodule
(previouslyscript
in some scenarios).ecmaVersion
is now set to the default oflatest
(previously2022
and6
)- Babel has been removed
-
Replace
eslint-plugin-import
witheslint-plugin-import-x
(#145)To migrate, any references to
eslint-plugin-import
should be replaced witheslint-plugin-import-x
, andimport/
rules withimport-x/
.In addition, it's possible that this may introduce slight behaviour changes.
-
Require TypeScript peer dependency >=5.5.4 (#145)
-
Migrate to ESLint 9,
@typescript-eslint
8. (#145)These changes may affect your project setup if you are customising your ESLint configuration. See the individual migration guides:
- https://eslint.org/docs/latest/use/migrate-to-9.0.0
- https://typescript-eslint.io/blog/announcing-typescript-eslint-v8
In addition, through these major upgrades, some lint rules have changed or have been renamed. You will likely need to autofix and/or adjust your code after running ESLint.
As part of this migration, this project has migrated to Flat ESLint configuration. Read the migration guide: https://eslint.org/docs/latest/use/configure/migration-guide.
Minor Changes
-
Upgrade a number of dependencies. These should have no/minimal impact. (#145)
eslint-plugin-cypress
eslint-config-prettier
eslint-plugin-jest
eslint-plugin-react
,eslint-plugin-react-hooks
v13.1.1
v13.1.0
Minor Changes
-
Adds no-fallthrough as an error. (#135)
This disallows fallthrough of case statements in switch statements.Examples
You need to add a
break
,return
orthrow
to each case. You can also skip this rule if it is intentionally absent (however that is a rare scenario).switch (name) { case 'John': console.log('Hi John'); + break; }
Patch Changes
-
Disable
@typescript-eslint/consistent-type-definition
rule (#139) -
Revert from
@finsit/eslint-plugin-cypress
back toeslint-plugin-cypress
The official plugin now supports ESLint v8. Consumers that were overriding
@finsit/cypress/*
rules will need to overridecypress/*
rules instead.
v13.0.0
v12.1.1
Patch Changes
-
Prevents the new curly-brace-presence rule from affecting children. (#133)
In the previous version, react/jsx-curly-brace-presence was added to the eslint rules.
This was primarily intended to catch unnecessarily using braces around string props.- <Stack space={'medium'}> + <Stack space="medium">
Because of the configuration we provided, this had the unintended side effect of removing curly braces inside child text that were being used to prevent the unescaped entities rule.
- <Text>The available props are {'"up"'} and {'"down"'}</Text> + <Text>The available props are "up" and "down"</Text> // This is now an unescaped entity error
To fix this, the curly brace rule will now ignore children, and only alert on prop values.
v12.1.0
Minor Changes
-
Adds react/jsx-curly-brace-presence as an error. (#130)
This removes unnecessary braces around strings in props and children.It also enforces braces around expressions in props and children.
Examples
// Unecessary braces around string prop - <Column width={'content'}> + <Column width="content">
// Unecessary braces around string child - <Text>{'Hello'}</Text> + <Text>Hello</Text>
// Mandatory braces around prop expression - <Button icon=<IconSearch />> + <Button icon={<IconSearch />}>