@ariestools/eslint-config-flat

中文文档
10.3.0发布于 2026/11/07LGPL-3.0-onlyTypeScriptES Module近 30 天下载 6225

ESLint 9/10 flat config tiers for Aries Tools TypeScript packages

原始使用文档
文档目录9 节
  1. Install
  2. Usage
  3. Tiers
  4. Extending with custom rules
  5. Individual configs
  6. What's included
  7. Rule ownership
  8. License
  9. Credits

logo

@ariestools/eslint-config-flat

npm license

ESLint 9/10 flat config tiers for Aries Tools TypeScript packages

Install

Requires Node.js ≥ 22. pnpm is fully supported; npm / yarn / bun are experimental.

pnpm add -D @ariestools/eslint-config-flat

Peer: eslint ^10.3 and eslint-import-resolver-typescript ^4.4.

Usage

import { recommendedConfig } from '@ariestools/eslint-config-flat'

export default [
  ...recommendedConfig({ tier: 3, isTypeChecked: true }),
]

recommendedConfig accepts:

OptionDefaultDescription
tier3Preset strictness level (0–4)
isTypeCheckedtrueEnable TypeScript type-checked rules

When isTypeChecked is false, all rules that require parser type information are disabled across every tier, and a safety-net gate turns off any type-checked preset rules that would otherwise remain active.

Tiers

Each tier is a superset of the previous tier.

TierCategoryDescription
0CorrectnessType safety, bug prevention, import restrictions, markdown
1ConsistencyTier 0 + formatting, member ordering, complexity limits
2Best practicesTier 1 + unicorn, import validation, workspace rules
3Opinionated (default)Tier 2 + unicorn opinionated rules and optional rules promoted to errors
4ExperimentalSame unicorn severities as tier 3; reserved for rules that may change on a minor

Rule tier assignments live in RULE_CATALOG (exported from this package). Named exports such as configTier3OpinionatedTypeChecked remain available but are deprecated. Prefer recommendedConfig({ tier: 3, isTypeChecked: true }).

Unicorn rules keep the severity from eslint-plugin-unicorn. Explicit XY overrides live in RULE_CATALOG and unicornConfig. Use xy lint --strict (or XY_STRICT=1) to treat warnings as errors in CI.

Extending with custom rules

import { recommendedConfig } from '@ariestools/eslint-config-flat'

export default [
  ...recommendedConfig({ tier: 3, isTypeChecked: true }),
  {
    rules: {
      // your overrides
    },
  },
]

Individual configs

import {
  importConfig,
  rulesConfig,
  typescriptConfig,
  unicornConfig,
} from '@ariestools/eslint-config-flat'

JSON/markdown helpers: jsonConfig, docsConfig. There is no SonarJS config in this package (xy sonar is a separate, quarantined CLI command).

What's included

  • TypeScript strict linting via @typescript-eslint
  • Import sorting and validation via eslint-plugin-import-x
  • Best practices via eslint-plugin-unicorn
  • Monorepo workspace rules via eslint-plugin-workspaces
  • Markdown linting via @eslint/markdown
  • Stylistic formatting (no semicolons, single quotes, trailing commas, 2-space indent)

For React projects, use @ariestools/eslint-config-react-flat instead.

Rule ownership

Some plugins cover similar territory. This config assigns a single canonical owner per concern and disables overlapping rules. See RULE_OWNERSHIP_GROUPS and assertNoRuleOwnershipConflicts.

When upgrading ESLint plugins, run tests in this package — spec/plugin-rules.spec.ts snapshots each plugin's rule list and fails when new rules appear.

License

LGPL-3.0-only. See LICENSE (LGPLv3) and COPYING (GPLv3, incorporated by LGPL-3).

Credits

Made with 🔥 and ❄️ by Aries Tools

版本与发布记录

@ariestools/eslint-config-flat 共发布 62 个版本,首次发布于 2026/07/08;过去 12 个月发布了 62 个版本。

版本发布日期距今
10.3.0latest2026/11/07今天
10.2.22026/10/317 天前
10.2.12026/10/2612 天前
10.2.02026/10/1226 天前
10.1.52026/10/1029 天前
10.1.42026/10/1029 天前

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

@ariestools/eslint-config-flat 是什么?

ESLint 9/10 flat config tiers for Aries Tools TypeScript packages

如何安装 @ariestools/eslint-config-flat?

在项目目录运行 npm install @ariestools/eslint-config-flat,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:eslint(^10.3)、eslint-import-resolver-typescript(^4.4)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ariestools/eslint-config-flat 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ariestools/eslint-config-flat 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@ariestools/eslint-config-flat 需要什么版本的 Node.js?

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

@ariestools/eslint-config-flat 可以商用吗?

@ariestools/eslint-config-flat 使用 LGPL-3.0-only 许可。弱 Copyleft:作为库被调用时通常不要求开源你自己的代码,但修改库本身需以 LGPL 开源;前端打包合并后的适用边界存在不同理解。以上为概括,不构成法律意见,请以许可原文为准。

@ariestools/eslint-config-flat 的下载量有多少?

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

@ariestools/eslint-config-flat 还在维护吗?

最新版本 10.3.0 发布于 2026/11/07(今天);至今共发布 62 个版本,其中过去 12 个月发布了 62 个;首次发布于 2026/07/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。