This repository contains the HearthSim common ESLint configuration with Typescript support.
For included React support use @HearthSim/eslint-config-typescript-react instead.
In versions v2.0.0 and later the React and React Hooks rules have moved to a separate package @HearthSim/eslint-config-typescript-react. It can be used as a drop-in replacement for v1 of @hearthsim/eslint-config-typescript (without -react).
To switch to the new package:
- Remove this package:
$ yarn remove @hearthsim/eslint-config-typescript
- Install the new React package:
$ yarn add -D @hearthsim/eslint-config-typescript-react
- Update your
.eslintrc.js
:
module.exports = {
//...
extends: ["@hearthsim/eslint-config-typescript-react"],
//...
};
- Install
$ yarn add -D eslint @hearthsim/eslint-config-typescript
- Install ESLint plugins
Plugins are resolved relative to the final project and must thus installed explicitly as part of the project:
$ yarn add -D \
@typescript-eslint/eslint-plugin@^5.4.0 \
[email protected] \
[email protected]
- Configure ESLint:
Create or update your.eslintrc.js
:
module.exports = {
root: true,
extends: ["@hearthsim/eslint-config-typescript"],
env: {
browser: true,
},
};
- Add the scripts to your
package.json
:
{
"scripts": {
"lint:eslint": "eslint --cache ./"
}
}
If a rule is not able to handle the ways we legitimately use it, it needs to be downgraded to a warning. Errors are reserved for critical issues that can directly introduce security risks, break the application or lead to severe performance penalties.