@antfu/eslint-define-config

中文文档
1.23.0-2发布于 2023/10/24MITTypeScriptESM + CJS零依赖近 30 天下载 3.2万

Provide a defineConfig function for .eslintrc.js files

原始使用文档
文档目录4 节
  1. Changes In This Fork
  2. 1. Re-export Rules for Each Plugin
  3. 2. Allow Overriding Rules
  4. 3. Support Renaming Rules

@antfu/eslint-define-config

A fork of eslint-define-config to experiment better Flat Config support.

Changes In This Fork

1. Re-export Rules for Each Plugin

import {
  VitestRules,
  VueRules,
  // ...
} from '@antfu/eslint-define-config'

2. Allow Overriding Rules

import pluginVitest from 'eslint-plugin-vitest'
import {
  defineFlatConfig,
  VitestRules
} from '@antfu/eslint-define-config'

export default defineFlatConfig<VitestRules, /* Strict */ true>({
  plugins: {
    vitest: pluginVitest,
  },
  rules: {
    // only `vitest/` rules are allowed and will be auto-completed
    'vitest/no-async': 'error',

    // @ts-expect-error not allowed
    'indent': 'error'
  },
})

3. Support Renaming Rules

import {
  RenamePrefix,
  TypeScriptRules // { '@typescript-eslint/indent': 'error', ... }
} from '@antfu/eslint-define-config'

type RenamedRules = RenamePrefix<TypeScriptRules, '@typescript-eslint/', 'ts/'>
// { 'ts/indent': 'error', ... }

This way it could work for Flat Config plugin renaming:

import pluginTypeScript from '@typescript-eslint/eslint-plugin'
import {
  defineFlatConfig,
  RenamePrefix,
  TypeScriptRules
} from '@antfu/eslint-define-config'

type RenamedRules = RenamePrefix<TypeScriptRules, '@typescript-eslint/', 'ts/'>

export default defineFlatConfig<RenamedRules>({
  plugins: {
    ts: pluginTypeScript, // renames to `ts/`
  },
  rules: {
    'ts/indent': 'error',

    // now we have auto-completion for `ts/` rules
  },
})

版本与发布记录

@antfu/eslint-define-config 共发布 3 个版本,首次发布于 2023/10/08;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.23.0-2latest2023/10/243 年前
1.23.0-12023/10/083 年前
1.23.0-02023/10/083 年前

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

@antfu/eslint-define-config 是什么?

Provide a defineConfig function for .eslintrc.js files

如何安装 @antfu/eslint-define-config?

在项目目录运行 npm install @antfu/eslint-define-config,或使用 pnpm add / yarn add / bun add。

@antfu/eslint-define-config 支持 TypeScript 吗?

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

@antfu/eslint-define-config 支持 ESM 还是 CommonJS?

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

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

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

@antfu/eslint-define-config 可以商用吗?

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

@antfu/eslint-define-config 的下载量有多少?

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

@antfu/eslint-define-config 还在维护吗?

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