eslint-config-inrupt-react
Eslint and prettier configs
Installation
npm install --save-dev @inrupt/eslint-config-react @rushstack/eslint-patch
Setup (Quick start)
Create a .eslintrc.js
in the the root of your project with the following contents:
require("@rushstack/eslint-patch/modern-module-resolution");
module.exports = {
extends: ["@inrupt/eslint-config-react"],
parserOptions: {
project: "./tsconfig.eslint.json",
},
rules: {},
};
The file tsconfig.eslint.json
is your typescript configuration with the e2e tests, unit tests and examples included, e.g.,
{
"extends": "./tsconfig.json",
"include": ["src/**/*.ts", "e2e/**/*.ts", "*.md"],
"exclude": ["**/node_modules", "**/dist/**"]
}
Migrating to this configuration:
- Add
extends: ['@inrupt/eslint-config-react']
to your .eslintrc.js
file. - Add the following line to the top of the
.eslintrc.js
file:
require("@rushstack/eslint-patch/modern-module-resolution");
Rules
Exhaustive documentation forthcoming. For now, the general principles are:
- Load a stylistic base set - in this case,
airbnb and
airbnb/hooks
- Load inrupt-base, which loads recommended configs for common libraries: eslint, jest, typescript,
and prettier
- Do very little else- as few custom rules or overrides as possible.
- Some rules are updated to work with nextjs.