
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@callstack/eslint-config
Advanced tools
ESLint preset extending recommended ESLint config, TypeScript, Prettier and Jest
Callstack ESLint config for React Native, React and Node.js projects, utilizing Flow, TypeScript, Prettier and Jest with sensible defaults. Supports both eslintrc and flat config.
With Yarn:
yarn add --dev eslint @callstack/eslint-config
Or with npm:
npm install --save-dev eslint @callstack/eslint-config
You can choose one of the following environments to work with by extending your ESLint config (eslint.config.mjs for flat config, or .eslintrc / eslintConfig field in package.json for the eslintrc config style) with @callstack config tailored to your project.
Usage:
{
"extends": "@callstack"
}
eslint.config.mjs, ESLint 9+)import callstackConfig from '@callstack/eslint-config/react-native.flat.js';
export default [
{
ignores: [
// ignored files go here
],
},
...callstackConfig,
{
rules: {
// your custom rules
},
},
];
Plugins used:
Additionally, it sets "react-native/react-native" environment and native platform extensions to resolve.
Usage:
{
"extends": "@callstack/eslint-config/react"
}
eslint.config.mjs, ESLint 9+)import callstackConfigReact from '@callstack/eslint-config/react.flat.js';
export default [
{
ignores: [
// ignored files go here
],
},
...callstackConfigReact,
{
rules: {
// your custom rules
},
},
];
Plugins used:
Usage:
{
"extends": "@callstack/eslint-config/node"
}
eslint.config.mjs, ESLint 9+)import callstackConfigNode from '@callstack/eslint-config/node.flat.js';
export default [
{
ignores: [
// ignored files go here
],
},
...callstackConfigNode,
{
rules: {
// your custom rules
},
},
];
Plugins used:
testMatch config).tsx? files).tsx? files)Additionally, it sets es6 and node environments.
{
"extends": "@callstack",
"rules": {
"global-require": 0,
"prefer-destructuring": 0
}
}
eslint.config.mjs, ESLint 9+)import callstackConfig from '@callstack/eslint-config/react-native.flat.js';
export default [
...callstackConfig,
{
rules: {
'global-require': 0,
'prefer-destructuring': 0,
},
},
];
TypeScript is supported out-of-the-box, including importing JS files from TS files and vice-versa. All you need to do is to make sure you have typescript module installed.
Then when running ESLint add --ext '.js,.ts' (you might need also .jsx, .tsx) option, for example:
yarn eslint --ext '.js,.ts' ./src
parserOptions.project is set to ./tsconfig.json. You may need to adjust that.
To do so, you'll need to override our setup for TS files in your ESLint config:
{
"overrides": [
{
"files": ["*.ts", "*.tsx"],
"parserOptions": {
"project": "./packages/**/tsconfig.json"
}
}
]
}
eslint.config.mjs, ESLint 9+)In the flat config, just append another configuration object to the array and be sure to import the /react-native.flat file:
import callstackConfig from '@callstack/eslint-config/react-native.flat.js';
import tsEslintParser from '@typescript-eslint/parser';
export default [
...callstackConfig,
{
files: ['**/*.ts', '**/*.tsx'],
languageOptions: {
parser: tsEslintParser,
parserOptions: { project: './packages/**/tsconfig.json' },
},
},
];
If you're VSCode user, you may find adding this config to your .vscode/settings.json helpful:
{
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
]
}
FAQs
ESLint preset extending recommended ESLint config, TypeScript, Prettier and Jest
The npm package @callstack/eslint-config receives a total of 5,581 weekly downloads. As such, @callstack/eslint-config popularity was classified as popular.
We found that @callstack/eslint-config demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 11 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.