eslint-config-rational v5.0.12
eslint-config-rational
Minimal ESLint configuration for reducing version control noise and avoiding common mistakes.
Tenets
- Prevent code patterns which frequently cause or lead to bugs.
- Produce consistent source code without requiring functional changes.
- Prefer rules which are auto-fixable.
- Avoid rules which require frequent inline disabling.
- Avoid rules which are already covered by TypeScript.
Getting Started
Install the eslint-config-rational
package.
npm i -D eslint-config-rational eslint typescript
Add the rational
configuration to your eslint.config.js
(flat) configuration file.
import rational from 'eslint-config-rational';
export default rational();
Options
The rational(options?)
configuration factory accepts the following options.
ignores
: Add ESLint global ignores. Defaults to['**/{.git,node_modules,out,lib,dist}']
.jsExtensions
: Array of file extensions to lint as JavaScript. Defaults to['.js', '.cjs', '.mjs', '.jsx']
.tsExtensions
: Array of file extensions to lint as TypeScript. Defaults to['.ts', '.cts', '.mts', '.tsx']
.jsxExtensions
: Array of file extensions to lint as JSX. Defaults to['.jsx', '.tsx']
.relaxedFiles
: Array of file paths to lint with relaxed rules. Defaults to['**/*.test.*', '**/*.spec.*', '**/*.config.*', '**/*.setup.*', '**/.*rc.*', '**/*.story.*', '**/__*', '**/__*/**', '**/.*', '**/.*/**']
.enableImports
: Enable import rules. Defaults totrue
.enableUnicorn
: Enable unicorn rules. Defaults totrue
.enableReact
: Enable react rules. Defaults totrue
.enableTypescript
: Enable typescript rules. Defaults totrue
.enableStylistic
: Enable ESLint Stylistic rules. Defaults totrue
.extend
: One or more ESLint configurations to extend (nested arrays allowed).override
: One or more ESLint override configurations (nested arrays allowed).
import rational from 'eslint-config-rational';
export default rational({
ignores: ['**/{.git,node_modules,out,lib,dist}'],
jsExtensions: ['.js', '.cjs', '.mjs', '.jsx'],
tsExtensions: ['.ts', '.cts', '.mts', '.tsx'],
jsxExtensions: ['.jsx', '.tsx'],
relaxedFiles: [
'**/*.test.*',
'**/*.spec.*',
'**/*.config.*',
'**/*.setup.*',
'**/*.story.*',
'**/__*.*',
'**/__*/**',
'**/.*.*',
'**/.*/**',
],
enableImports: true,
enableUnicorn: true,
enableReact: true,
enableTypescript: true,
enableStylistic: true,
extend: [
// ESLint configuration or (nested) array of configurations which
// will precede the rational configuration.
],
override: [
// ESLint configuration or (nested) array of configurations which
// will follow the rational configuration.
],
});
5 days ago
3 days ago
11 days ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
4 months ago
4 months ago
8 months ago
8 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago