@kode-frontend/eslint-config
v0.0.8
Published
Shareable ESLint config enforcing best practices
Downloads
617
Maintainers
Readme
Описание на русском
@kode-frontend/eslint-config
📥 Install
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
🎮 Usage
There are two configurations to extend this shared config.
1. React (web)
Contains:
- React
- Typescript
- Jest
// .eslintrc.cjs
{
"extends": ["@kode-frontend/eslint-config/web"]
}
2. React Native (mobile)
Contains:
- React Native
- Typescript
- Jest
// .eslintrc.cjs
{
"extends": ["@kode-frontend/eslint-config/native"]
}
📖 Sort configurations
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.
📝 Configuration
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" }
}
}
Scripts
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"
}
}
🐛 Possible problems
React-Native
If you get an error about "EEXIST: file already exists, mkdir * info ..."
Just uninstall @kode-frontend/eslint-config
.