跳到主内容
UniKit

ESLint 配置生成器

生成 .eslintrc.json 或 eslint.config.js 配置模板:勾选 TypeScript、React、Vue、Node、浏览器、Jest / Vitest、Prettier 兼容与 import 排序等常用规则集,实时预览并复制。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

规则集

勾选项目里用到的语言、框架与工具,配置会实时生成。

配置格式

生成的配置

文件名eslint.config.js
已选规则集3
import js from '@eslint/js';
import globals from 'globals';
import tseslint from 'typescript-eslint';
import configPrettier from 'eslint-config-prettier';

export default [
  { ignores: ["dist","node_modules"] },
  js.configs.recommended,
  ...tseslint.configs.recommended,
  {
    languageOptions: {
      ecmaVersion: 'latest',
      sourceType: 'module',
      globals: {
        ...globals.browser,
      },
    },
    rules: {
      '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
    },
  },
  configPrettier,
];

这个工具能做什么

  • 新项目搭 ESLint 时不想翻文档:勾一遍技术栈,直接拿到能跑的 eslint.config.js 或 .eslintrc.json。
  • 老项目从 .eslintrc 迁移到 flat config:先用 legacy 模式导出当前配置对照,再切到 flat 模式生成新版骨架。
  • 把团队约定固化下来:TypeScript + Prettier 兼容 + import 排序 + 忽略 dist,生成后提交进仓库,避免每个人各写一套。
  • 只想补一个测试环境的规则时,直接勾 Jest 或 Vitest,把生成的片段粘进现有配置。

示例

输入

配置格式 legacy(.eslintrc.json),勾选 TypeScript + 浏览器 + Prettier 兼容,忽略项 dist、node_modules

输出

{
  "root": true,
  "env": {
    "es2022": true,
    "browser": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "prettier"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": "latest",
    "sourceType": "module"
  },
  "plugins": [
    "@typescript-eslint"
  ],
  "rules": {
    "@typescript-eslint/no-unused-vars": [
      "warn",
      {
        "argsIgnorePattern": "^_"
      }
    ]
  },
  "ignorePatterns": [
    "dist",
    "node_modules"
  ]
}

同样的勾选切到 flat config,会生成 import 了 typescript-eslint、globals 和 eslint-config-prettier 的 eslint.config.js。

常见问题

flat config 和 .eslintrc 该选哪个?

ESLint 9 起 flat config(eslint.config.js)是默认格式,新项目直接用它。ESLint 8 及更早、或者依赖还没适配 flat 的插件时才用 .eslintrc.json,此时记得确认 ESLINT_USE_FLAT_CONFIG 之类的环境变量与团队一致。

「Prettier 兼容」这一项做了什么?

它会引入 eslint-config-prettier(flat 里是 configPrettier,legacy 里是 extends 中的 "prettier"),作用是关掉 indent、quotes、semi 这类会跟 Prettier 打架的格式规则。它不负责运行 Prettier,格式化仍由 prettier 命令完成。

忽略项为什么不能用 / 开头或带空格?

flat config 的 ignores 用相对路径或 glob 匹配,写成 /dist 会被当成绝对路径而失效;带空格的路径在 JSON 与 glob 里容易产生歧义。所以工具会直接拦下并提示,让你写成 dist 或 build/**。

生成的配置能直接跑吗?

语法上是完整可运行的,但插件本身要先安装:比如勾了 TypeScript 就需要 npm i -D eslint typescript-eslint(或 @typescript-eslint/parser + @typescript-eslint/eslint-plugin,legacy 写法)。工具不会替你决定包管理器,也不会写入 package.json。

配置会上传到服务器吗?

不会。所有拼接都在浏览器里完成,页面不发任何请求;生成的文本只存在于当前页面,刷新即丢失,记得先复制再离开。

关键词:eslinteslint configflat configeslintrctypescript-eslinteslint 配置代码检查lint 规则eslint 生成器前端工程化

同类工具