Socket
Socket
Sign inDemoInstall

eslint-config-rational

Package Overview
Dependencies
14
Maintainers
1
Versions
102
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    eslint-config-rational

Minimal ESLint configurations for reducing version control noise and avoiding common mistakes.


Version published
Weekly downloads
133
decreased by-52.33%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

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 to true.
  • enableUnicorn: Enable unicorn rules. Defaults to true.
  • enableReact: Enable react rules. Defaults to true.
  • enableTypescript: Enable typescript rules. Defaults to true.
  • enableStylistic: Enable ESLint Stylistic rules. Defaults to true.
  • 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.
  ],
});

Keywords

FAQs

Last updated on 22 Mar 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc