- Upgrade to eslint v9 and update all dependencies
This major release requires a complete rewrite of your projects' ESLint config file as we moved to the new Flat Config format.
Start by reading ESLint's migration guide: https://eslint.org/docs/latest/use/configure/migration-guide
This release moves forward and assumes ESM-only projects, so if you're still using CommonJS, you'll need to update your project to use ESM first.
Some peer dependencies have been changed:
@typescript-eslint/eslint-plugin
->typescript-eslint
eslint-plugin-import
->eslint-plugin-import-x
eslint-plugin-node
->eslint-plugin-n
@typescript-eslint/parser
is now packaged intotypescript-eslint
- The resolver has changed to
eslint-import-resolver-typescript
Packages to remove:
eslint-plugin-import eslint-plugin-node @typescript-eslint/eslint-plugin @typescript-eslint/parser
Packages to add:
@eslint/js eslint-plugin-import-x eslint-plugin-n typescript-eslint eslint-import-resolver-typescript
Packages to update:
eslint eslint-plugin-jsx-a11y eslint-plugin-react-hooks eslint-plugin-react
The prettier
entry has been changed from .cjs to .js, as we are now using ESM-only.
- "prettier": "@masterworks/eslint-config-masterworks/prettier",
+ "prettier": "@masterworks/eslint-config-masterworks/prettier/prettier.js",
The minimum compatible TypeScript version is now 5.7.3.
Rules related to PropTypes have been removed, as they have been deprecated and removed by the React Core Team. You should ideally remove PropTypes from your project and use TypeScript instead.
Most presets have warnings for the usage of deprecated rules. With the different upgrades this detection has improved and you most probably will get new warnings.
- Upgrade all dependencies and modernize presets
- Fix pnpm install failing because of our publish script
- Update docs about ditching prop-types when working with TS
- Don't error on missing return type for function expressions
- Add documentation for individual presets and fix some broken links
- Move some rules out of typescript into strict and stylish variants
- Upgrade peerDependencies and add missing packages to the workspace
- Modernize react presets, only v17+ is supported now
- Remove react/destructuring-assignment
- Remove @typescript-eslint/no-extra-parens
- Add documentation
- Initial release