
Product
A New Overview in our Dashboard
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
@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,297 weekly downloads. As such, @callstack/eslint-config popularity was classified as popular.
We found that @callstack/eslint-config demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 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
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
Security News
CISA denies CVE funding issues amid backlash over a new CVE foundation formed by board members, raising concerns about transparency and program governance.