@alleyinteractive/eslint-config

中文文档
0.2.0发布于 2025/07/22GPL-2.0-or-laterCommonJS近 30 天下载 1931

Alley 的 ESLint 配置

中文使用文档
文档目录14 节
  1. 背景情况
  2. 释放
  3. 使用
  4. 类型脚本和 Monorepo 配置
  5. 从源
  6. 更改日志
  7. 发展进程
  8. 捐款
  9. 项目结构
  10. 第三方依赖
  11. 相关努力
  12. 维护者
  13. 贡献者
  14. 许可证

Alley 的 ESLint 配置

standard README badge

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

背景情况

此套件的杠杆 Airbnb的 ESLint 配置 财务报告和审定财务报表 Airbnb 字迹 与 Babel 和 Typescript 的 ESLint 解析器一起, 使得 JavaScript 林廷可以方便地配置项目, 其中也可能包括 React 和 TypeScript .

释放

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

使用

首先从 npm 安装软件包 :

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 扩展配置的文件 :

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

最后,添加 lint 命令为您 package.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 文件 :

  "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 文件 :

{
  "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 文档.

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

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

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

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

从源

要在这个存储器上工作:

git clone [email protected]:alleyinteractive/alley-scripts.git
cd packages/eslint-config
npm ci

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

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

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

更改日志

这个项目保持 更改日志。 。 。 .

发展进程

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

捐款

见 我们的捐助准则 如何指导 为这个开源项目提供捐款.

项目结构

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

第三方依赖

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

维护者

Alley logo

贡献者

谢谢大家 捐助者 对这个项目.

许可证

本项目根据以下规定获得许可证: GNU 公共许可证(GPL) 第2版 或后会.

版本与发布记录

@alleyinteractive/eslint-config 共发布 10 个版本,首次发布于 2023/03/29;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.2.0latest2025/07/221.3 年前
0.1.62024/02/282 年前
0.1.52023/11/302 年前
0.1.42023/09/253 年前
0.1.32023/09/233 年前
0.1.22023/08/173 年前

关于 @alleyinteractive/eslint-config 的常见问题

@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 和提交记录判断。