1. eslint-plugin-react-native
React Native specific linting rules for ESLint
eslint-plugin-react-native
Package: eslint-plugin-react-native
Created by: intellicode
Last modified: Fri, 08 Sep 2023 08:12:25 GMT
Version: 4.1.0
License: MIT
Downloads: 4,768,158
Repository: https://github.com/intellicode/eslint-plugin-react-native

Install

npm install eslint-plugin-react-native
yarn add eslint-plugin-react-native

ESLint plugin for React Native

Project update

Dear users, first of all, thanks for using the plugin! At the moment development activity is low, I've personally not worked with React Native for many years and have little time to continue updating the plugin. I'll do my best to update the plugin to ensure compatibility with new eslint versions, but unfortunately I do not have time to asses new features/pull requests. Thanks for your understanding!

Greenkeeper badge

Maintenance Status NPM version Coverage Status

React Native specific linting rules for ESLint. This repository is structured like (and contains code from) the excellent eslint-plugin-react.

Installation

Install ESLint either locally or globally.

 $ npm install --save-dev eslint

To make most use of this plugin, its recommended to install eslint-plugin-react in addition to ESLint. If you installed ESLint globally, you have to install eslint-plugin-react globally too. Otherwise, install it locally.

 $ npm install --save-dev eslint-plugin-react

Similarly, install eslint-plugin-react-native

 $ npm install --save-dev eslint-plugin-react-native

Configuration

Add plugins section and specify ESLint-plugin-React (optional) and ESLint-plugin-react-native as a plugin.

 {
  "plugins": ["react", "react-native"]
}

If it is not already the case you must also configure ESLint to support JSX.

 {
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    }
  }
}

In order to whitelist all browser-like globals, add react-native/react-native to your config.

 {
  "env": {
    "react-native/react-native": true
  }
}

To use another stylesheet providers.

 settings: {
    'react-native/style-sheet-object-names': ['EStyleSheet', 'OtherStyleSheet', 'PStyleSheet']
}

Finally, enable all of the rules that you would like to use.

 {
  "rules": {
    "react-native/no-unused-styles": 2,
    "react-native/split-platform-components": 2,
    "react-native/no-inline-styles": 2,
    "react-native/no-color-literals": 2,
    "react-native/no-raw-text": 2,
    "react-native/no-single-element-style-arrays": 2
  }
}

List of supported rules

Shareable configurations

All

This plugin also exports an all configuration that includes every available rule.

 {
  "plugins": [
    /* ... */
    "react-native"
  ],
  "extends": [/* ... */, "plugin:react-native/all"]
}

Note: These configurations will import eslint-plugin-react-native and enable JSX in parser options.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code