@ callstack/ slint- config
Calltack ESLint 配置 react Independent, React and Node.js 项目, 使用 Flow, TypeScript, Prettier 和 Jest 并带有合理默认值. 支持斯林特克和平面配置两种.
安装
与雅尔:
yarn add --dev eslint @callstack/eslint-config
或与 npm :
npm install --save-dev eslint @callstack/eslint-config
使用量
您可以通过扩展您的 ESLint 配置来选择以下环境之一 eslint.config.mjs 用于平面配置,或 .eslintrc 编号 : eslintConfig 输入 package.json 为 eslintrac 配置样式) @callstack 适合你项目的设计.
反应原生配置
用法 :
斯林特克格式 (ESLint < v9)
{
"extends": "@callstack"
}
平面配置格式( i)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
},
},
];
使用的插件 :
此外,它设定 "react-native/react-native" 环境和本土平台扩展解决.
重现配置
用法 :
斯林特克格式 (ESLint < v9)
{
"extends": "@callstack/eslint-config/react"
}
平面配置格式( i)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
},
},
];
使用的插件 :
节点配置
用法 :
斯林特克格式 (ESLint < v9)
{
"extends": "@callstack/eslint-config/node"
}
平面配置格式( i)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
},
},
];
使用的插件 :
- 埃斯林特- 配置- prettier
- 埃斯林特- 插孔- prettier
- 埃斯林特- 插座- 捷运 (仅根据Jest的
testMatch配置( c) - 埃斯林特-插头-进口
- 埃斯林特- 插座- 保证
- eslint-plugin 流量类型
- @ typescript- eslint/ eslint- plugin (仅限
.tsx?文档) - @ typescript- eslint/ parser (仅限
.tsx?文档)
此外,它设定 es6 财务报告和审定财务报表 node 环境.
扩展配置示例
斯林特克格式 (ESLint < v9)
{
"extends": "@callstack",
"rules": {
"global-require": 0,
"prefer-destructuring": 0
}
}
平面配置格式( i)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被支持出箱,包括从TS文件中导入JS文件,反之亦然. 你只需要确保你拥有 typescript 模块已安装.
然后当运行 ESLint 添加 --ext '.js,.ts' (你可能也需要) .jsx, .tsx备选办法,例如:
yarn eslint --ext '.js,.ts' ./src
parserOptions.project 设置为 ./tsconfig.json您也许需要 调整。 。 。 .
为此,您需要在您的 ESLint 配置中覆盖 TS 文件的设置 :
斯林特克格式 (ESLint < v9)
{
"overrides": [
{
"files": ["*.ts", "*.tsx"],
"parserOptions": {
"project": "./packages/**/tsconfig.json"
}
}
]
}
平面配置格式( i)eslint.config.mjs, ESLint 9+) (中文(简体) )
在平面配置中,只需将另一个配置对象附加到数组中,然后确定导入 /react-native.flat 文件 :
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' },
},
},
];
虚拟系统
如果您是 VSCode 用户, 您可以在您的配置中添加此配置 .vscode/settings.json 帮助:
{
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
]
}