Package detail

@rnx-kit/eslint-plugin

microsoft21.2kMIT0.9.3

A set of ESLint rules for React developers

eslint, eslintplugin, react, react-native

readme

@rnx-kit/eslint-plugin

Build npm version

@rnx-kit/eslint-plugin is a set of configurations and rules that can be used as is, or extended in your own ESLint config.

Note that this plugin requires the new ESLint configuration format. If you still rely on the previous format, use version 0.5.x instead.

Install

yarn add @rnx-kit/eslint-plugin --dev

or if you're using npm:

npm add --save-dev @rnx-kit/eslint-plugin

Usage

This ESLint plugin exports multiple configurations. For instance, to use the recommended configuration, you can re-export it in your flat config like below:

module.exports = require("@rnx-kit/eslint-plugin/recommended");

Alternatively, if you want to add customizations:

const rnx = require("@rnx-kit/eslint-plugin");
module.exports = [
  ...rnx.configs.recommended,
  {
    rules: {
      "@rnx-kit/no-const-enum": "error",
      "@rnx-kit/no-export-all": "error",
      // Mores rules ...
    },
  },
];

If you're just interested in the rules, you can use it as a plugin and enable the rules you're interested in:

module.exports = [
  {
    plugins: {
      "@rnx-kit": require("@rnx-kit/eslint-plugin"),
    },
    rules: {
      "@rnx-kit/no-const-enum": "error",
      "@rnx-kit/no-export-all": "error",
      // Mores rules ...
    },
  },
];

Recommended Configurations

Supported Rules

  • ✓: Enabled with @rnx-kit/eslint-plugin/recommended
  • 🔧: Fixable with --fix
🔧 Rule Description
@rnx-kit/no-const-enum disallow const enum (why is it bad?)
🔧 @rnx-kit/no-export-all disallow export * (why is it bad?)
@rnx-kit/no-foreach-with-captured-variables disallow forEach with outside variables; JavaScript is not efficient when it comes to using variables defined outside of its scope, and repeatedly calling that function can lead to performance issues. By using a for...of loop, you can avoid these performance pitfalls and also it is easier to debug.