# @elsikora/eslint-config 中文文档

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

版本：3\.10\.2
npm 元数据更新时间：2026-08-07T20:57:07.918Z
中文译文更新时间：2026-11-13T14:11:38.459Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：390 kB，287 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：26 个
- peer 依赖：@conarti/eslint-plugin-feature-sliced ^2\.0\.0-rc\.15，@elsikora/eslint-plugin-nestjs-typed ^3\.1\.0，@eslint-react/eslint-plugin ^5\.8\.3，@next/eslint-plugin-next ^16\.2\.6，@tanstack/eslint-plugin-query ^5\.100\.11，@tanstack/eslint-plugin-router ^1\.162\.0，eslint ^10\.4\.0，eslint-plugin-fsd-lint ^1\.2\.1，eslint-plugin-i18next ^6\.1\.4，eslint-plugin-storybook ^10\.4\.0，eslint-plugin-typeorm-typescript ^0\.5\.4
- 首次发布：2024-03-15T03:12:34.812Z
- 最新版本发布：2026-08-07T20:57:07.525Z
- 近 30 天下载量：12598（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：148（近 12 个月 5 个）

## 中文简介

ElsiKora 的 ESLint 配置愿景

## 安装

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

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

## README

![project-logo](https://6jft62zmy9nx2oea.public.blob.vercel-storage.com/eslint-config-WPPCbc2Zwdy2RQfrjXbSRHiORNYogb.png)

# \* ESLint-Config

_企业级ESLint配置系统,为现代JavaScript/TypeScript项目提供27+插件集成_

 [![ElsiKora](https://img.shields.io/badge/MADE%20BY%20ElsiKora-333333.svg?style=for-the-badge)](https://elsikora.com/)![TypeScript](https://img.shields.io/badge/TypeScript-3178C6.svg?style=for-the-badge&logo=typescript&logoColor=white) ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E.svg?style=for-the-badge&logo=javascript&logoColor=black) ![ESLint](https://img.shields.io/badge/ESLint-4B32C3.svg?style=for-the-badge&logo=eslint&logoColor=white) ![Node.js](https://img.shields.io/badge/Node.js-339933.svg?style=for-the-badge&logo=node.js&logoColor=white) ![React](https://img.shields.io/badge/React-61DAFB.svg?style=for-the-badge&logo=react&logoColor=black) ![Next.js](https://img.shields.io/badge/Next.js-000000.svg?style=for-the-badge&logo=next.js&logoColor=white) ![Vue.js](https://img.shields.io/badge/Vue.js-4FC08D.svg?style=for-the-badge&logo=vue.js&logoColor=white) ![NestJS](https://img.shields.io/badge/NestJS-E0234E.svg?style=for-the-badge&logo=nestjs&logoColor=white) ![Prettier](https://img.shields.io/badge/Prettier-F7B93E.svg?style=for-the-badge&logo=prettier&logoColor=black) ![Jest](https://img.shields.io/badge/Jest-C21325.svg?style=for-the-badge&logo=jest&logoColor=white) ![Vitest](https://img.shields.io/badge/Vitest-6E9F18.svg?style=for-the-badge&logo=vitest&logoColor=white) ![Rollup](https://img.shields.io/badge/Rollup-EC4A3F.svg?style=for-the-badge&logo=rollup&logoColor=white) ![pnpm](https://img.shields.io/badge/pnpm-F69220.svg?style=for-the-badge&logo=pnpm&logoColor=white) ![npm](https://img.shields.io/badge/npm-CB3837.svg?style=for-the-badge&logo=npm&logoColor=white) ![Yarn](https://img.shields.io/badge/Yarn-2C8EBB.svg?style=for-the-badge&logo=yarn&logoColor=white)

## 目录

-   [说明](https://npmcn.com/package/%40elsikora/eslint-config/#readme--description)
-   [特征](https://npmcn.com/package/%40elsikora/eslint-config/#readme--features)
-   [安装](https://npmcn.com/package/%40elsikora/eslint-config/#readme--installation)
-   [使用量](https://npmcn.com/package/%40elsikora/eslint-config/#readme--usage)
-   [路线图](https://npmcn.com/package/%40elsikora/eslint-config/#readme--roadmap)
-   [财务问题](https://npmcn.com/package/%40elsikora/eslint-config/#readme--faq)
-   [许可证](https://npmcn.com/package/%40elsikora/eslint-config/#readme--license)

## 说明

ElsiKora的ESLint-Config是一个经过战斗测试的综合的ESLint配置系统,旨在在企业JavaScript和TypeScript应用中强制实施一致的代码质量. 它以模块化为核心,提供与"React","Next.js","Vue.js"和"NestJS"等通俗框架的无缝集成,同时支持地物-被设计"等先进的建筑模式. 配置系统超越了基本内衬,纳入了保密安全扫描、国际化执行、无障碍检查和性能优化。 在支持27+精心编译的插件的情况下,它处理从CSS-in-JS到GraphQL,从"故事"故事故事到TanStack查询模式的一切. 无论是构建起动MVP还是维护大型企业应用程序,这种配置都适应了你的需要,同时保持严格的质量标准,在被害者到达出产前抓住.

## \* 特性

-   ✨ **🔧 **模块结构** - 只选择需要的27+可选插件,这些插件可以独立启用/损坏**
-   ✨ **🏗️ **框架支助** - 对React、Vue.js、Next.js、NestJS的一等支持,更多支持针对具体框架的最佳做法**
-   ✨ **🔐 **警卫第一** - 内设秘密探测,防止意外的证书暴露与定制模式相匹配**
-   ✨ **🌍 **i18n 执行** - 自动检测应国际化的硬码字符串**
-   ✨ **♿ **访问检查** - JSX无障碍规则,确保人人可以使用你的应用程序**
-   ✨ **🎨 **样式一致性** - 与自动解决格式化规则和定出规则之间的冲突进行更初步的整合**
-   ✨ **📁 **文件组织** - 执行一致的文件/文件夹命名惯例和建筑模式,如地物设计**
-   ✨ **🚀 **业绩规则** - 在React钩子、TanStack Query和其他图书馆中捕捉性能抗标者**
-   ✨ **📝 **文档 Linting** - 验证JSDoc的评论、Markdown文件,并确保适当的代码文件**
-   ✨ **🧪 **测试支持** - 故事书、简讯、维特和其他测试框架的特殊配置**
-   ✨ **🔄 **CI/CD 准备** - GitHub Actions, GitLab CI, 以及其他有语义版本支持的 CI 提供者**
-   ✨ **🛠️ **开发者经验** - 广泛的类型脚本支持,严格类型检查和智能自动固定**

## \* 安装

```bash
# Using npm
npm install --save-dev @elsikora/eslint-config eslint

# Using yarn
yarn add --dev @elsikora/eslint-config eslint

# Using pnpm
pnpm add -D @elsikora/eslint-config eslint

# Using bun
bun add -d @elsikora/eslint-config eslint

# Quick setup with all recommended plugins
npx @elsikora/eslint-config init

# Manual setup - create eslint.config.js
echo "import { createConfig } from '@elsikora/eslint-config';

export default await createConfig({
  withJavascript: true,
  withTypescript: true,
  withPrettier: true
});" > eslint.config.js
```

## 使用量

## 基本用途

创建一个 `eslint.config.js` 在工程根中的文件 :

```javascript
import { createConfig } from "@elsikora/eslint-config";

export default await createConfig({
    withJavascript: true,
    withTypescript: true,
    withPrettier: true,
});
```

## 配置示例

### 反应 + 类型脚本工程

```javascript
import { createConfig } from "@elsikora/eslint-config";

const config = {
    ignores: ["dist", "coverage", ".next"],
};

export default [
    config,
    ...(await createConfig({
        withTypescript: true,
        withReact: true,
        withJsx: true,
        withTailwindCss: true,
        withPrettier: true,
        withSonar: true,
        withUnicorn: true,
    })),
];
```

### Next.js Full-Stack 应用程序

```javascript
import { createConfig } from "@elsikora/eslint-config";

export default await createConfig({
    withTypescript: true,
    withReact: true,
    withNext: true,
    withNode: true,
    withTailwindCss: true,
    withI18next: true,
    withNoSecrets: true,
    withPrettier: true,
});
```

### NestJS 后端 API

```javascript
import { createConfig } from "@elsikora/eslint-config";

export default await createConfig({
    withTypescript: true,
    withNest: true,
    withNode: true,
    withTypeorm: true,
    withSonar: true,
    withNoSecrets: true,
    withPrettier: true,
});
```

### 特色设计架构

```javascript
import { createConfig } from "@elsikora/eslint-config";

export default await createConfig({
    withTypescript: true,
    withReact: true,
    withFsd: true,
    withPerfectionist: true,
    withCheckFile: true,
    withPrettier: true,
});
```

## 高级配置

### 自定义规则覆盖

```javascript
import { createConfig } from "@elsikora/eslint-config";

const baseConfig = await createConfig({
    withTypescript: true,
    withReact: true,
});

const customRules = {
    rules: {
        // Override specific rules
        "no-console": "warn",
        "@typescript-eslint/explicit-function-return-type": "off",
        "react/prop-types": "off",
    },
};

export default [...baseConfig, customRules];
```

### 环境配置

```javascript
import { createConfig } from "@elsikora/eslint-config";

const isDevelopment = process.env.NODE_ENV === "development";

export default await createConfig({
    withTypescript: true,
    withReact: true,
    withNoSecrets: !isDevelopment, // Disable in development
    withSonar: !isDevelopment,
    withPrettier: true,
});
```

## QQ 配置选项

```typescript
interface ConfigOptions {
    // Language Support
    withJavascript?: boolean; // JavaScript ES2022+ rules
    withTypescript?: boolean; // TypeScript with type checking
    withTypescriptStrict?: boolean; // Strict TypeScript rules

    // Framework Support
    withReact?: boolean; // React best practices
    withNext?: boolean; // Next.js specific rules
    withNest?: boolean; // NestJS decorators & patterns

    // Code Quality
    withSonar?: boolean; // SonarJS code quality rules
    withUnicorn?: boolean; // Unicorn best practices
    withPerfectionist?: boolean; // Import/export sorting
    withRegexp?: boolean; // RegExp optimization

    // Security
    withNoSecrets?: boolean; // Detect hardcoded secrets

    // Styling
    withPrettier?: boolean; // Prettier integration
    withStylistic?: boolean; // Code style rules
    withTailwindCss?: boolean; // TailwindCSS class sorting

    // Architecture
    withFsd?: boolean; // Feature-Sliced Design
    withCheckFile?: boolean; // File naming conventions

    // Documentation
    withJsDoc?: boolean; // JSDoc validation
    withMarkdown?: boolean; // Markdown linting

    // Testing
    withStorybook?: boolean; // Storybook best practices

    // Other
    withNode?: boolean; // Node.js environment
    withI18next?: boolean; // i18n enforcement
    withJson?: boolean; // JSON file linting
    withYaml?: boolean; // YAML file linting
    withPackageJson?: boolean; // package.json sorting
    withTanstack?: boolean; // TanStack Query/Router
    withTypeorm?: boolean; // TypeORM entities
    withJsx?: boolean; // JSX accessibility
    withCss?: boolean; // CSS file linting
}
```

## QQ CLI 命令

```bash
# Run linting
eslint .

# Auto-fix issues
eslint . --fix

# Lint specific files
eslint "src/**/*.{js,ts,jsx,tsx}"

# Show only errors (no warnings)
eslint . --quiet

# Output results as JSON
eslint . --format json -o eslint-report.json

# Check if files are ignored
eslint . --debug
```

## IDE 整合

### VS 代码

添加为 `.vscode/settings.json`数字 :

```json
{
    "eslint.experimental.useFlatConfig": true,
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },
    "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "json", "jsonc", "yaml", "markdown"]
}
```

### WebStorm / IntelliJ EIDO 网络搜索器

1.  转到设置 → 语言和框架 → JavaScript → 代码质量工具 → ESLint
2.  选择“ 自动 ESLint 配置 ”
3.  请检查date=中的日期值 (帮助) "Run eslint -- fix on save"

## \* 路线图

| 任务/ 特性 | 状态 |
| --- | --- |
| 核心 ESLint 平面配置支持 | 完毕 |
| 类型脚本严格模式配置 | 完毕 |
| 反应 18+ 钩和图案 | 完毕 |
| Next.js 14+ App 路由器支持 | 完毕 |
| Vue.js 3 组成 API | 执行中 |
| NestJS 装饰器和图案 | 完毕 |
| 设计结构 | 完毕 |
| 带有AI图案的秘密检测 | 完毕 |
| i18 次翻译执行 | 完毕 |
| 故事本 7+ CSF3 格式 | 完毕 |
| TanStack 查询 v5 模式 | 完毕 |
| Monorepo 配置支持 | 执行中 |
| 带有 AI 的自动修正建议 | 执行中 |
| 视觉配置构建器 UI | 执行中 |
| 业绩简介规则 | 执行中 |
| 图QL 方案 | 执行中 |
| Docker 和容器文件 | 执行中 |
| 斯维尔特/斯维尔特Kit支持 | 执行中 |
| Astro框架一体化 | 执行中 |
| Bun 运行时间特定规则 | 执行中 |

## 问 题

## 经常被问到的问题

### 为什么要使用平面配置来代替.eslintrac??

ESLint平面配置(eslint.config.js)是ESLint配置的未来. 它通过懒惰的加载,改进了TypeScript的全类型检查支持,以及更清晰的更便于调试的配置来提供更好的性能. 所有新的ESLint特性都是专门为平面配置开发的.

### 我如何从现有的.eslintrc配置中迁移?

首先,安装此软件包并创建新的 `eslint.config.js` 文档。 以最小配置开始,并逐步启用与您现有的设置相匹配的特性 。 在迁移过程中,您可以通过使用不同的文件模式并肩运行两种配置. 这种组合的模块化性质使得移徙变得直截了当.

### 为什么这么多的同伴依赖?

这个配置系统支持27+不同的插件,但您只安装您实际使用的内容. 每个插件被标记为可选的对等依赖,因此npm/yarn/pnpm只会促使您安装您在配置中启用的. 这使得您的节点单元保持了倾斜,同时提供了最大的灵活性.

### 我怎么处理Pretier和ESLint之间的冲突?

简单的启用 `withPrettier: true` 在您的配置中。 自动包含 `eslint-config-prettier` 用于禁用所有与 Pretier 格式化相冲突的 ESLint 规则。 您应该先运行 Pretier, 然后运行 ESLint, 通常由您的 IDE 或 git 钩处理 .

### 我能用这个来创造回放吗?

没错! 用于 Next.js , 使用 `withNext: true` 包括所有Next.js的具体规则。 对于Create React App,您需要弹出或使用CRACO这样的工具来自定义ESLint配置,因为CRA还没有在本土支持平面配置.

### 秘密侦测工作如何?

这个 `withNoSecrets` 选项允许对常见的秘密格式(API密钥、密码、令牌)和高主动性字符串检测进行模式匹配。 它扫描了您的代码 用于图案 `apiKey = 'abc123'` 和形而上学的线条 可以自定义配置中的规律和敏感性.

### 什么是地物-切片设计(FSD)?

FSD是用于前端应用的一种建筑图案,它执行特性,共享代码和您应用的不同层之间的严格界限. 当你启用时 `withFsd: true`,该插件确保进口遵循FSD规则,防止建筑违规.

### 我怎么调试哪条规则引起问题?

使用 ESLint 运行 `--debug` 标记以查看正在装入哪些配置文件和规则。 您还可以使用 `--print-config path/to/file.js` 以查看对特定文件应用的确切配置。 每个规则错误都包括了规则名称,因此容易禁用或修改特定规则.

### 我可以用这个在单簧管吗?

当然 创建根 `eslint.config.js` 用于 `createConfig()` 中,然后在每一个软件包中扩展该软件包,并附加特定软件包的规则。 平面配置系统使得单列布设置比旧级联配置更清洁.

### 这个配置用于大型密码库吗?

是的, 装入懒惰的平面配置系统意味着在需要时只装入必要的插件 。 该配置还排除了常见目录, 如 `node_modules`, (中文(简体) ), `dist`,以及 `coverage` 默认。 对于非常大的代码库,可以通过限制每个插件进程的文件模式来进一步优化.

## 许可证

该项目根据\*\*麻省理工学院许可证获得许可

版权(c) 2025 Elsi Kora

特此准许任何人免费获得本软件和相关文件文件("软件")的副本,不受限制地在软件中进行交易,包括不受限制地享有软件的使用、复制、修改、合并、出版、分发、分版和(或)销售的权利,并允许软件获得者这样做,但须符合下列条件: 1

上述版权通知和许可通知应载入软件的所有副本或大部分.

软件是提供的"AS IS", 没有任何种类的恐惧, 释放或被卷入, 包括但不限制在 危机的保障, 证明一个特定的目的和无关。 在任何情况下,对于任何索赔、索赔或其他负债,无论是产生于、产生于、产生于或涉及溶液或使用溶液中的其他交易的契约、契约或其他行为,或与溶液或溶液中的其他交易有关的索赔、赔偿金或其他负债,都不得赔偿.

## 常见问题

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

ElsiKora 的 ESLint 配置愿景

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

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

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

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

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

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

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

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

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

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

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

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

