Base ESLint config for Expo projects. This is a minimal config that supports JSX and TypeScript, platform-specific global variables, and file extensions like .android.js
, .ios.js
and .web.js
. You are intended to compose this base config with the linter rules of your choice in your own ESLint configuration.
yarn add --dev eslint-config-expo
You will also need to install eslint
:
yarn add --dev eslint
With flat config (recommended)
Import this config into your configuration file, e.g. eslint.config.js
and spread it into the config array.
// eslint.config.js
const expoConfig = require("eslint-config-expo/flat");
const { defineConfig } = require("eslint/config");
module.exports = defineConfig([
expoConfig,
// your other config
]);
Import this config into your own ESLint configuration using the extends
option. ESLint checks both package.json
and .eslintrc.*
files for its configuration:
{
"eslintConfig": {
"extends": ["expo"]
}
}
module.exports = {
extends: ["expo"],
};