3.2.1 • Published 8 months ago

@salutejs/eslint-config v3.2.1

Weekly downloads
-
License
-
Repository
github
Last release
8 months ago

@salutejs/eslint-config

ESLint configuration preset.

Installation

npm install --save-dev @salutejs/eslint-config eslint
# or
yarn add --dev @salutejs/eslint-config eslint
# or
pnpm add -D @salutejs/eslint-config eslint
# or
bun add -D @salutejs/eslint-config eslint

Requirements

  • Node.js 18.x or higher
  • ESLint 8.57.0 or higher, or 9.x
  • TypeScript 4.8.4 - 5.7.x

Included Plugins

  • @eslint/js - Core ESLint rules
  • @typescript-eslint - TypeScript support and rules
  • @next/eslint-plugin-next - Next.js specific rules
  • eslint-plugin-react - React core rules
  • eslint-plugin-react-hooks - React Hooks rules
  • eslint-plugin-react-perf - React performance rules
  • eslint-plugin-react-compiler - React compiler optimizations
  • eslint-plugin-jsx-a11y - Accessibility rules
  • eslint-plugin-import - ES6+ import/export rules
  • eslint-plugin-salute-react - Custom Salute React rules
  • eslint-config-prettier - Turns off ESLint rules that conflict with Prettier
  • eslint-plugin-cypress - Cypress rules

Usage

// eslint.config.js
import {
  configBase,
  configNextJs,
  configReact,
  configReactCompiler,
  configCypress,
  createConfig,
  configPrettier,
  saluteRules,
} from "@salutejs/eslint-config";

/**
 * @type {import('typescript-eslint').ConfigArray}
 */
export default createConfig(
  configBase,
  configReact,
  configNextJs,
  configReactCompiler,
  configCypress,
  configPrettier, // always last
  {
    // always last
    rules: {
      ...saluteRules, // for backend and frontend code
      ...reactRules, // only for frontend
    },
  },
);

createConfig is an alias for tseslint.config, see typescript-eslint#config.

Do not use configReactCompiler and configReactPerf together. configReactCompiler is recommended.

Customizing configCypress:

createConfig({
  files: ["path-to-cypress-files/*"],
  extends: [configCypress],
});

Customizing rules:

import { saluteRules } from "@salutejs/eslint-config";

createConfig(
  // configs
  {
    rules: {
      ...saluteRules, // for backend and frontend code
      ...reactRules, // only for frontend
      "no-console": "off",
    },
  },
);

Legacy Config (for ESLint < v8.57.0)

See @eslint/compat package and ESLint Compatibility Utilities blog post.

License

MIT

3.2.1

8 months ago

3.2.0

8 months ago

3.1.0

8 months ago

3.0.0

8 months ago

2.9.4

1 year ago

2.9.3

2 years ago

2.9.2

2 years ago

2.9.1

2 years ago

2.9.0

2 years ago

2.8.0

2 years ago

2.6.0

2 years ago

2.7.0

2 years ago

2.5.0

2 years ago

2.4.0

2 years ago

2.3.0

2 years ago

2.2.0

2 years ago

2.1.0

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

2.0.0

2 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago

0.11.0

3 years ago

0.10.0

3 years ago

0.9.0

3 years ago

0.8.0

3 years ago

0.7.0

3 years ago

0.6.0

3 years ago

0.5.0

3 years ago

0.4.0

3 years ago