Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
@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 10,010 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.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.