Skip to content

tulitheprogrammer/eslint-plugin-react-native

This branch is 6 commits ahead of, 21 commits behind Intellicode/eslint-plugin-react-native:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Barzilay, Oshri (ob143h)
Nov 1, 2021
c930a19 · Nov 1, 2021
Mar 28, 2020
Nov 1, 2021
Nov 1, 2021
Oct 22, 2019
Apr 24, 2019
Nov 22, 2015
Dec 5, 2019
Apr 6, 2019
Jun 29, 2019
May 20, 2021
May 20, 2021
May 20, 2021

Repository files navigation

ESLint plugin for React Native

Greenkeeper badge

Maintenance Status NPM version Dependency Status Coverage Status Code Climate BCH compliance

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.

About

React Native plugin for ESLint

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%