【eslint】快速配置

安装

kotlin 复制代码
npm init @eslint/config@latest

经过上述操作会安装 eslint 必要的包以及生成 eslint.config.js 配置文件

插件

编辑器插件的作用是在编辑器里实时运行 ESLint 包来检查并自动修复代码

安装
复制代码
dbaeumer.vscode-eslint
配置
json 复制代码
// settings.json
{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit",
  },
  "eslint.validate": ["javascript", "typescript", "vue"],
}

配置文件

配置文件采用扁平化配置,该配置方式是 eslint v9 的新配置系统

  • 扁平化配置采用数组形式,数组中的每个对象都是一个配置对象
    • 每个配置对象都包含一套完整的 eslint 规则、文件匹配模式和其他配置选项
  • 多配置对象间的规则合并
    • 遍历配置对象数组,根据 files 和 ignores 决定文件是否匹配该配置对象
      • 无 files 配置则匹配所有文件
    • 遍历结束,若存在多个配置对象,则后者的规则覆盖前者
js 复制代码
// eslint.config.js
import js from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
import pluginVue from "eslint-plugin-vue";
import { defineConfig } from "eslint/config";

export default defineConfig([
  {
    files: ["**/*.{js,mjs,cjs,ts,mts,cts,vue}"],
    plugins: { js },
    extends: ["js/recommended"],
    languageOptions: { globals: { ...globals.browser, ...globals.node } },
  },
  tseslint.configs.recommended,
  pluginVue.configs["flat/essential"],
  {
    files: ["**/*.vue"],
    languageOptions: { parserOptions: { parser: tseslint.parser } },
  }
]);

prettier

eslint 侧重于代码质量,prettier 侧重于代码风格检查,将 prettier 作为 eslint 的插件,通过 eslint 统一管理代码质量和格式

安装依赖
arduino 复制代码
pnpm add eslint-plugin-prettier eslint-config-prettier -D
  • eslint-config-prettier: 关闭 eslint 中有关代码格式化的配置
  • eslint-plugin-prettier: 把 prettier 配置成 eslint 的一个插件
修改 eslint 配置文件
js 复制代码
// eslint.config.js
...
import eslintConfigPrettier from "eslint-config-prettier";
import eslintPluginPrettier from "eslint-plugin-prettier/recommended";

export default defineConfig([
  ...
  eslintPluginPrettier,
  eslintConfigPrettier,
]);
相关推荐
子兮曰10 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰10 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万10 小时前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝10 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋11 小时前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁12 小时前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王952713 小时前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大14 小时前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师14 小时前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学14 小时前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端