Skip to content

peterpme/eslint-plugin-react-native

 
 

Repository files navigation

@peterpme/eslint-plugin-react-native

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 @peterpme/eslint-plugin-react-native

$ npm install --save-dev @peterpme/eslint-plugin-react-native

Configuration

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

{
  "plugins": ["react", "@peterpme/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 @peterpme/react-native/react-native to your config.

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

To use a different stylesheet provider:

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

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

{
  "rules": {
    "@peterpme/react-native/no-unused-styles": 2,
    "@peterpme/react-native/split-platform-components": 2,
    "@peterpme/react-native/no-inline-styles": 2,
    "@peterpme/react-native/no-color-literals": 2,
    "@peterpme/react-native/no-raw-text": 2,
    "@peterpme/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": [
    /* ... */
    "@peterpme/react-native"
  ],
  "extends": [/* ... */, "plugin:@peterpme/react-native/all"]
}

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

Thanks

Thanks to @intellicode for creating and maintaining this after all these years

About

React Native plugin for ESLint

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy