# @alleyinteractive/eslint-config 中文文档

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

版本：0\.2\.0
npm 元数据更新时间：2025-07-22T15:55:05.464Z
中文译文更新时间：2026-11-08T01:47:18.779Z
软件包许可：GPL-2\.0-or-later

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

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

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

- 包体积（解压后）：31.4 kB，13 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：15 个
- peer 依赖：eslint-plugin-jsx-a11y ^6\.8\.0，eslint-plugin-react-hooks ^4\.6\.0
- 首次发布：2023-03-28T19:48:18.380Z
- 最新版本发布：2025-07-22T15:55:05.216Z
- 近 30 天下载量：1931（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 0 个）

## 中文简介

Alley 的 ESLint 配置

## 安装

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

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

## README

# Alley 的 ESLint 配置

[![standard README badge](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)

Alley的标准ESLint配置包括支持React,React Hooks,和TypeScript.

## 背景情况

此套件的杠杆 [Airbnb的 ESLint 配置](https://www.npmjs.com/package/eslint-config-airbnb) 财务报告和审定财务报表 [Airbnb 字迹](https://www.npmjs.com/package/eslint-config-airbnb-typescript) 与 Babel 和 Typescript 的 ESLint 解析器一起, 使得 JavaScript 林廷可以方便地配置项目, 其中也可能包括 React 和 TypeScript .

## 释放

此软件包遵循语义化版本并发布于 [https://www.npmjs.com/ (中文(简体) )](https://www.npmjs.com/)。 。 。 .

### 使用

首先从 npm 安装软件包 :

```sh
npm install --save-dev @alleyinteractive/eslint-config
```

接下来,从可用的ESLint配置中选择一个配置.

此套件会导出四个ESLint配置以供使用.

1.  `@alleyinteractive/eslint-config` - 支持React的默认配置.
2.  `@alleyinteractive/eslint-config/base` - 基础配置类似于Airbnb的基础配置而不支持React插件.
3.  `@alleyinteractive/eslint-config/typescript` - 不支持反应插件的打字支持.
4.  `@alleyinteractive/eslint-config/typescript-react` - 打字和反应支持.

然后创建一个 `.eslintrc.json` 扩展配置的文件 :

```json
  {
    "extends": ["@alleyinteractive/eslint-config"]
  }
```

最后,添加 `lint` 命令为您 `package.json`数字 :

```json
{
  "scripts": {
    "lint": "eslint --ext .ts,.tsx,.js,.jsx .",
    "lint:fix": "eslint --ext .ts,.tsx,.js,.jsx --fix ."
  }
}
```

如果您正在用 ESLint 网络包导入解析器解析模块, 您需要添加 `eslint-import-resolver-webpack` 软件包和设置配置 :

```
npm install --save-dev eslint-import-resolver-webpack
```

您还需要在 项目 `.eslintrc.json` 文件 :

```json
  "settings": {
    "import/resolver": "webpack"
  },
```

### 类型脚本和 Monorepo 配置

#### 类型脚本

对于 TypeScript 项目, 您需要明确包含您想要插入的文件 `tsconfig.json` 文档。 这样做的一种方法是扩展“tsconfig.json”文件的基础,并为ESLint提供具体的配置.

1.  创建一个 `tsconfig.eslint.json` 扩展基数的文件 `tsconfig.json` 文档.
2.  添加数据 `allowImportingTsExtensions` 财务报告和审定财务报表 `noEmit` 编译器选项 `compilerOptions` 对象,因为此配置不是用于编译 TypeScript .
3.  将您想要插入的文件添加到 `include` 阵列.

实例 `tsconfig.eslint.json` 文件 :

```json
{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "allowImportingTsExtensions": true,
    "noEmit": true,
  },
  "include": [
    "../jest.config.js",
    "../config/webpack.config.ts",
    "../utils",
    "../index.ts",
    "../.eslintrc.js",
    "../utils/index.test.ts",
    "../utils/webpack.test.ts"
  ]
}
```

#### 单曲

如果使用单列波,可能还会有附加步骤来设置打入的起伏.

此软件包使用 `typescript-eslint` 解析器和插件,支持 TypeScript .

ESPLint 需要一个 `tsconfig.json` 要显示在工程根中的文件和 `typescript-eslint` 需要寻找 `tsconfig.json` 用于 linting 的文件.

如果您有像 ESLint 这样的特定的 tsconfig 文件 `tsconfig.eslint.json` 您需要指定此文件的路径 `parserOptions.project` 设置 `.eslintrc.json` 文档.

```json
  "parserOptions": {
    "project": "./tsconfig.eslint.json"
  }
```

详情: [https://typescript-eslint.io/linting/typed-linting/monorepos. 互联网档案馆的存檔,存档日期2013-12-22](https://typescript-eslint.io/linting/typed-linting/monorepos)

在某些情况下,如果项目根中没有 tsconfig 文件, 您可能需要将您的 eslintrac 文件转换为 JavaScript 来通过 `__dirname` 页:1 `parserOptions.tsconfigRootDir` 设置.

```diff
// eslintrc.js
module.exports = {
  extends: ['@alleyinteractive/eslint-config/typescript'],
+  parserOptions: {
+    project: `./tsconfig.eslint.json`,
+    tsconfigRootDir: __dirname,
+  },
};
```

### 从源

要在这个存储器上工作:

```sh
git clone git@github.com:alleyinteractive/alley-scripts.git
cd packages/eslint-config
npm ci
```

为了测试与另一个工程的配置, 您需要指出此软件包, 例如 :

```json
{
  "devDependences": {
    "@alleyinteractive/eslint-config": "file:../path/to/alley-scripts/packages/eslint-config"
  }
}
```

那就赶紧跑 `npm install` 和 npm 将链接到此文件夹, 您可以在您的更改中工作 .

### 更改日志

这个项目保持 [更改日志](https://npmcn.com/package/%40alleyinteractive/eslint-config/CHANGELOG.md)。 。 。 .

## 发展进程

见上文关于从源头安装的指示。 社区欢迎拉动请求,并将予以考虑 供列入。 发布会遵循语义化版本,按需要进行发运.

### 捐款

见 [我们的捐助准则](https://npmcn.com/package/CONTRIBUTING.md) 如何指导 为这个开源项目提供捐款.

## 项目结构

这是一个 npm 软件包, 发布到 [https://www.npmjs.com/ (中文(简体) )](https://www.npmjs.com/)。从属关系定义如下: `package.json` 编辑 ESLint 配置见于 `index.js`。 。 。 .

## 第三方依赖

第三方依赖性由 `npm` 可见于 `package.json`。本套装旨在减少 对通过管理依赖本身来使用它的项目的依赖负载.

## 相关努力

-   [ESLint 语录](https://eslint.org/)
-   [类型脚本](https://www.typescriptlang.org/)
-   [Airbnb的ESLint标准](https://github.com/airbnb/javascript)
-   [类型标记- slint](https://typescript-eslint.io/)

## 维护者

-   [齐列](https://github.com/alleyinteractive)

![Alley logo](https://avatars.githubusercontent.com/u/1733454?s=200&v=4)

### 贡献者

谢谢大家 [捐助者](https://npmcn.com/package/CONTRIBUTORS.md) 对这个项目.

## 许可证

本项目根据以下规定获得许可证: [GNU 公共许可证(GPL) 第2版](https://npmcn.com/package/%40alleyinteractive/eslint-config/LICENSE) 或后会.

## 常见问题

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

Alley 的 ESLint 配置

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

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

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

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

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

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

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

@alleyinteractive/eslint-config 使用 GPL-2\.0-or-later 许可。强 Copyleft：分发包含该代码的软件时，整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括，不构成法律意见，请以许可原文为准。

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

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

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

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

