Описание на русском
Add @kode-frontend/eslint-config
dependency to your project.
# Using npm
npm install --save-dev @kode-frontend/eslint-config
# Using yarn
yarn add -D @kode-frontend/eslint-config
# Using pnpm
pnpm install -D @kode-frontend/eslint-config
There are two configurations to extend this shared config.
Contains:
- React
- Typescript
- Jest
// .eslintrc.cjs
{
"extends": ["@kode-frontend/eslint-config/web"]
}
Contains:
- React Native
- Typescript
- Jest
// .eslintrc.cjs
{
"extends": ["@kode-frontend/eslint-config/native"]
}
You can optionally add sort configuration to the web and native configs.
// .eslintrc.cjs
{
"extends": [
"@kode-frontend/eslint-config/{web/native}",
"@kode-frontend/eslint-config/sort"
]
}
It will sort the enums, interfaces, jsx props, maps, object types, objects, union types, and more. You can find more details in this documentation.
It can be useful to have a diff that is easier to read, or to have consistent code.
You can override rules from the shared configuration, by setting your own values within the rules property:
// .eslintrc.cjs
{
"extends": "@kode-frontend/eslint-config/{web,native}",
"rules": {
"react/jsx-newline": "warn"
}
}
You might also need to add the following to your ESLint config if you get an error about Jest not being able to detect the version:
// .eslintrc.cjs
{
"settings": {
"jest": { "version": "detect" }
}
}
Some commonly used scripts in package.json
.
// package.json
{
"scripts": {
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"lint:fix": "eslint . --fix --ext ts,tsx"
}
}
If you get an error about "EEXIST: file already exists, mkdir * info ..."
Just uninstall @kode-frontend/eslint-config
.