eslint-config-expo
Shared ESLint configs for Node, Web, React Native, and Expo projects.Installation
yarn add --dev eslint-config-expo
You will also need to install
eslint
and prettier
:yarn add --dev eslint prettier
Usage
Import this config into your own ESLint configuration using theextends
option. ESLint checks both package.json and .eslintrc. files for its configuration:package.json
{
"eslintConfig": {
"extends": "expo"
}
}
.eslintrc.js
module.exports = {
extends: 'expo',
};
Customizing Prettier
If you would like to customize the Prettier settings, create a file named.prettierrc
in your project directory. This file must declare a Prettier configuration like this:{
"printWidth": 100,
"tabWidth": 2,
"singleQuote": true,
"jsxBracketSameLine": true,
"trailingComma": "es5"
}
Support for Different Platforms
There are several configs for different platforms. They are:expo
: the basic config for JavaScript projects for which there isn't a more specific configexpo/native
: the config for React Native projects, including Expo projects, with support for React and JSXexpo/web
: the config for code that runs in web browsers, with support for React and JSXexpo/node
: the config for code that runs in Node
For an Expo project, your configuration might look like this:
"eslintConfig": {
"extends": "expo/native"
}
You also can extend multiple configs, which is useful for projects that span several platforms:
"eslintConfig": {
"extends": ["expo/node", "expo/web"]
}