- Enable
react/function-component-definition
to have auto fix for using functions of React components (fixes #75) - Enable
react/no-unstable-nested-components
(fixes #77) - Enable
{checksVoidReturn: {attributes: false}}
for@typescript-eslint/no-misused-promises
(fixes #86) - Enable
@typescript-eslint/ban-ts-comment
(fixes #89) - Upgrade available major versions of dependencies (
@typescript-eslint/eslint-plugin
) - Add
molindo/tailwind
- Detect
**/*.{e2e,cy}.{js,jsx,ts,tsx}
as test files (fixes #67) - Change
import/no-extraneous-dependencies
rule configuration to allow dev dependencies in all files since it has too many false positives otherwise (fixes #71) - Add
cy
andCypress
globals whencypress
config is used (fixes #79) - Disable
no-use-before-define
for TypeScript files (fixes #91)
- Require
eslint@^8.45
eslint-config-molindo/setupPlugins
has been removed, since it's no longer necessary (fixes #59)- Removed
typescript
from dependencies (consumers should install this) - CSS modules-related rules were moved to
molindo/css-modules
- Upstream breaking changes
- Upgrade to TypeScript 4
- Disable TypeScript rules which cause false positives.
- Disallow
describe.only
.
- Requires ESLint 8
- Add
allowFunctions
toreact/jsx-no-bind
rule.
- Add
jest
config - Add
cypress
config - Add
no-useless-rename
- Add
spaced-comment
- Avoid errors in JavaScript files in TypeScript projects
- Disable
react/react-in-jsx-scope
- Compatibility with ESLint 7.23.0
- TypeScript support.
- Remove peer dependencies in favour of actual dependencies.
- Add automatic version detection for React.
- Allow more recent versions of dependencies.
- Warn about confusing browser globals when accessing them without
window
. - Sort desctructured keys when using the React config (useful for destructured props to match the prop type definition).
- Add useful rules from eslint-plugin-unicorn:
unicorn/explicit-length-check
,unicorn/import-index
,unicorn/no-abusive-eslint-disable
- Imports are alphabetized (within individual groups: dependencies, internal, local, etc.).
- Validate that array methods like
map
andfilter
return something. - Improve React component method sorting if you're using classes.
- Add
react/button-has-type
.
- Removed
no-lonely-if
since there are valid cases for this pattern. - Keep
trailingComma: 'none'
for newer prettier versions. - Keep auto fix behaviour of
react-hooks/exhaustive-deps
in more recent versions. - Replace
jsx-a11y/label-has-for
withjsx-a11y/label-has-associated-control
. - Allow for/of statements as there are valid use cases.
- The base JavaScript config
molindo
has been renamed tomolindo/javascript
. - The base JavaScript config is no longer included in the React config. Use
"extends": ["molindo/javascript", "molindo/react"]
to use both. - Require a minimum version of Node.js 10.
- Use
eslint@^7.0.0
. - A declaration style is now enforced for functions. Since there's no auto fix, it's probably the best option to override this rule in existing code bases which use a different style extensively.
- This config now installs the relevant plugins automatically. However you have to use the JavaScript version of the ESLint config (
.eslintrc.js
) and addrequire('eslint-config-molindo/setupPlugins')
there. Alternatively you can still install all necessary plugins yourself.