@fast-china/eslint-config

Practical, typed ESLint Flat Config for Vue 3, UniApp, React, Angular, Vite, TypeScript, JavaScript, and Node.js.
8,683
Install
npm install @fast-china/eslint-config
Latest Version:2.1.10
License:Apache-2.0
Last Updated:Sep 22, 2026
Links: Gitee  ·  npm
Maintainer: china_xiaofang

简体中文 | English

Fast.ESLint.Config Logo

Fast.ESLint.Config

npm version npm downloads License

面向 Vue 3、uni-app、TypeScript 与 Node.js 的 ESLint Flat Config,提供按需框架配置与规则类型。

使用文档 · 官方网站

特性

  • 基于 ESLint 10,仅提供原生 Flat Config。
  • Vue 3 与 UniApp 使用两个独立完整配置;普通 Vue 项目不会获得 UniApp globals、.nvue 解析或清单适配。
  • TypeScript 使用 recommendedTypeChecked 与 Project Service,不叠加完整 strict/stylistic 预置。
  • .ts、.mts、.cts 导出边界按 SDK 公共 API 对待;.tsx 保留完整类型安全和常见组件返回类型推断。
  • JavaScript、TypeScript、Import 与 RegExp 规则在 SDK 和应用项目之间保持一致。
  • 默认统一排序 package.json 和 tsconfig*.json;React、Angular、Markdown 和 Lodash 通过 ./configs 按需组合。
  • 根据规则 schema 生成精确 RuleOptions,提供规则名和选项自动补全。

环境要求

  • Node.js ^22.18.0 或 ^24.18.0
  • ESLint ^10.0.0
  • TypeScript ^6.0.0

安装

pnpm add -D eslint typescript @fast-china/eslint-config

快速开始

在 Vue 3 项目中创建 eslint.config.mjs:

import { vueConfig } from "@fast-china/eslint-config";
import { defineConfig } from "eslint/config";

export default defineConfig([
	...vueConfig,
	{
		name: "project/custom",
		rules: {},
	},
]);
pnpm exec eslint .

类型感知检查的源码应属于项目 tsconfig 范围。Vue 配置不包含 uni-app 平台能力。

常见用法

uni-app 使用独立入口,不与 Vue 完整配置叠加:

import { uniAppConfig } from "@fast-china/eslint-config";
import { defineConfig } from "eslint/config";

export default defineConfig([
	...uniAppConfig,
	{
		name: "project/custom",
		rules: {},
	},
]);

不绑定框架的 Node.js 项目:

import { createBaseConfigs } from "@fast-china/eslint-config";

export default createBaseConfigs({ environment: "node" });

将项目自定义配置放在共享配置之后;rules: {} 留给项目按需填写。需要调整运行环境时,可使用配置工厂。Fast 生态的本地规则副本继续按各仓库 AGENTS.md 同步,不因示例而改成安装配置包。

公共入口

  • @fast-china/eslint-config:具名导出两个完整配置、项目配置工厂、defineRules、ProjectConfigOptions 和 RuleOptions;不提供默认导出或旧入口别名。
  • @fast-china/eslint-config/configs:框架和可选功能片段。
  • @fast-china/eslint-config/constants:文件 glob 与 UniApp globals。
  • @fast-china/eslint-config/rules:带类型的原始规则记录。

Prettier

Prettier 不作为 ESLint 规则运行。默认配置只加载 eslint-config-prettier 关闭冲突规则;项目需要自行安装并执行格式化。

文档

完整规则手册在每个分类中优先列出仓库显式配置的规则,再列第三方预置规则;全部规则均提供直接的错误与正确代码示例。

开发

pnpm install --frozen-lockfile
pnpm typegen
pnpm check

贡献与安全

贡献指南 · 安全策略

版权、许可证与使用声明

版权所有 © 2018-Now 小方。本项目依据 Apache License 2.0 开源;在遵守许可证的前提下,可以使用、修改和分发本软件,包括商业使用。

再分发时,应按许可证要求提供许可证副本、对修改的文件作出显著说明,并保留适用的版权和归属声明;包含需要保留的 NOTICE 信息时一并处理。本说明不替代正式许可证,也不额外要求在产品界面展示作者或项目标识。

使用者应就自身使用、二次开发、部署、数据处理及运营活动遵守适用法律和第三方合法权益,自行取得依法需要的授权。上述内容为合规提醒,不构成附加许可条件。

除适用法律另有规定或另有书面约定外,本软件按“原样”提供;保证排除与责任限制以许可证第 7、8 条为准。提供本项目不代表原作者为使用者的二次开发和运营活动背书,也不当然承担其对第三方作出的合同承诺。本说明不排除依法不得排除的责任。

Related Packages

@fast-china/eslint-config-legacy

Production-ready ESLint 8 Legacy Config for Vue web administration projects with...

4,534
@batuhan-bas/configs

Shared ESLint (flat config) and Prettier configs for TypeScript, React, Vue and...

592 2
eslint-config-loderunner

Reusable ESLint flat configs for TypeScript, React, Vitest, Vue, Tailwind CSS, a...

10,279 1
@kcuf/eslint-config

The Kcuf shareable eslint config.

3,067 1
@ocavue/eslint-config

Opinionated ESLint config preset

103,814 3

Version History

Version Released License
2.1.10 Apache-2.0
2.1.9 Apache-2.0
2.1.8 Apache-2.0
2.1.7 Apache-2.0
2.1.6 Apache-2.0