# @callstack/eslint-config 中文文档

规范地址：https://npmcn.com/package/%40callstack/eslint-config/

版本：15\.0\.0
npm 元数据更新时间：2026-11-06T13:30:16.984Z
中文译文更新时间：2026-11-09T00:07:48.995Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40callstack/eslint-config
原文对照：https://npmcn.com/package/%40callstack/eslint-config/?lang=original
项目主页：https://github.com/callstack/eslint-config-callstack#readme
源码仓库：https://github.com/callstack/eslint-config-callstack

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：22.5 kB，18 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=18\.0\.0
- 运行依赖：21 个
- peer 依赖：eslint \>=8\.1\.0
- 首次发布：2018-08-21T12:39:15.823Z
- 最新版本发布：2024-08-21T08:04:12.667Z
- 近 30 天下载量：23886（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：32（近 12 个月 0 个）

## 中文简介

ESLint 预设扩展推荐的 ESLint 配置, TypeScript, Pretier 和 Jest

## 安装

```sh
npm install @callstack/eslint-config
```

也可以使用：`pnpm add @callstack/eslint-config`、`yarn add @callstack/eslint-config`、`bun add @callstack/eslint-config`

## README

# @ callstack/ slint- config

Calltack ESLint 配置 react Independent, React and Node.js 项目, 使用 Flow, TypeScript, Prettier 和 Jest 并带有合理默认值. 支持斯林特克和平面配置两种.

## 安装

与雅尔:

```bash
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)

```json
{
  "extends": "@callstack"
}
```

#### 平面配置格式( i)`eslint.config.mjs`, ESLint 9+) (中文(简体) )

```js
import callstackConfig from '@callstack/eslint-config/react-native.flat.js';

export default [
  {
    ignores: [
      // ignored files go here
    ],
  },
  ...callstackConfig,
  {
    rules: {
      // your custom rules
    },
  },
];
```

使用的插件 :

-   **重现配置**
-   [eslint-plugin-反应-内生](https://yarnpkg.com/en/package/eslint-plugin-react-native)
-   [eslint-plugin- react-native-a11y (英语)](https://classic.yarnpkg.com/en/package/eslint-plugin-react-native-a11y)

此外,它设定 `"react-native/react-native"` 环境和本土平台扩展解决.

### 重现配置

用法 :

#### 斯林特克格式 (ESLint < v9)

```json
{
  "extends": "@callstack/eslint-config/react"
}
```

#### 平面配置格式( i)`eslint.config.mjs`, ESLint 9+) (中文(简体) )

```js
import callstackConfigReact from '@callstack/eslint-config/react.flat.js';

export default [
  {
    ignores: [
      // ignored files go here
    ],
  },
  ...callstackConfigReact,
  {
    rules: {
      // your custom rules
    },
  },
];
```

使用的插件 :

-   **节点配置**
-   [eslint- 插件反应](https://yarnpkg.com/en/package/eslint-plugin-react)
-   [eslint-plugin- react-hooks (英语)](https://yarnpkg.com/en/package/eslint-plugin-react-hooks)

### 节点配置

用法 :

#### 斯林特克格式 (ESLint < v9)

```json
{
  "extends": "@callstack/eslint-config/node"
}
```

#### 平面配置格式( i)`eslint.config.mjs`, ESLint 9+) (中文(简体) )

```js
import callstackConfigNode from '@callstack/eslint-config/node.flat.js';

export default [
  {
    ignores: [
      // ignored files go here
    ],
  },
  ...callstackConfigNode,
  {
    rules: {
      // your custom rules
    },
  },
];
```

使用的插件 :

-   [埃斯林特- 配置- prettier](https://yarnpkg.com/en/package/eslint-config-prettier)
-   [埃斯林特- 插孔- prettier](https://yarnpkg.com/en/package/eslint-plugin-prettier)
-   [埃斯林特- 插座- 捷运](https://yarnpkg.com/en/package/eslint-plugin-jest) (仅根据Jest的 `testMatch` 配置( c)
-   [埃斯林特-插头-进口](https://yarnpkg.com/en/package/eslint-plugin-import)
-   [埃斯林特- 插座- 保证](https://yarnpkg.com/en/package/eslint-plugin-promise)
-   [eslint-plugin 流量类型](https://yarnpkg.com/en/package/eslint-plugin-flowtype)
-   [@ typescript- eslint/ eslint- plugin](https://yarnpkg.com/en/package/@typescript-eslint/eslint-plugin) (仅限 `.tsx?` 文档)
-   [@ typescript- eslint/ parser](https://yarnpkg.com/en/package/@typescript-eslint/parser) (仅限 `.tsx?` 文档)

此外,它设定 `es6` 财务报告和审定财务报表 `node` 环境.

### 扩展配置示例

##### 斯林特克格式 (ESLint < v9)

```json
{
  "extends": "@callstack",
  "rules": {
    "global-require": 0,
    "prefer-destructuring": 0
  }
}
```

##### 平面配置格式( i)`eslint.config.mjs`, ESLint 9+) (中文(简体) )

```js
import callstackConfig from '@callstack/eslint-config/react-native.flat.js';

export default [
  ...callstackConfig,
  {
    rules: {
      'global-require': 0,
      'prefer-destructuring': 0,
    },
  },
];
```

### 类型脚本

TypeScript被支持出箱,包括从TS文件中导入JS文件,反之亦然. 你只需要确保你拥有 [`typescript`](https://yarnpkg.com/en/package/typescript) 模块已安装.

然后当运行 ESLint 添加 `--ext '.js,.ts'` (你可能也需要) `.jsx, .tsx`备选办法,例如:

```bash
yarn eslint --ext '.js,.ts' ./src
```

`parserOptions.project` 设置为 `./tsconfig.json`您也许需要 [调整](https://typescript-eslint.io/architecture/parser#project)。 。 。 .

为此,您需要在您的 ESLint 配置中覆盖 TS 文件的设置 :

##### 斯林特克格式 (ESLint < v9)

```json
{
  "overrides": [
    {
      "files": ["*.ts", "*.tsx"],
      "parserOptions": {
        "project": "./packages/**/tsconfig.json"
      }
    }
  ]
}
```

##### 平面配置格式( i)`eslint.config.mjs`, ESLint 9+) (中文(简体) )

在平面配置中,只需将另一个配置对象附加到数组中,然后确定导入 `/react-native.flat` 文件 :

```js
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` 帮助:

```json
{
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact"
  ]
}
```

## 常见问题

### @callstack/eslint-config 是什么？

ESLint 预设扩展推荐的 ESLint 配置, TypeScript, Pretier 和 Jest

### 如何安装 @callstack/eslint-config？

在项目目录运行 npm install @callstack/eslint-config，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：eslint（\>=8\.1\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @callstack/eslint-config 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/callstack\_\_eslint-config 是否存在。

### @callstack/eslint-config 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @callstack/eslint-config 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @callstack/eslint-config 可以商用吗？

@callstack/eslint-config 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @callstack/eslint-config 的下载量有多少？

根据 npm 官方下载统计，@callstack/eslint-config 在 2026/10/09 – 2026/11/07 这 30 天内被下载 23,886 次，日均约 796 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @callstack/eslint-config 还在维护吗？

最新版本 15\.0\.0 发布于 2024/08/21（2 年前）；至今共发布 32 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/08/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

