@persagy2/eslint-plugin
v1.0.0-dev.6
Published
一个适用于 vue3.x、typescript 项目的通用eslint预设插件
Downloads
50
Readme
Tips:
- 当前版本仅适用于 esm
{ "type": "module" }
项目, cjs项目需要使用老版本[@persagy2/eslint-plugin@legacy](https://www.npmjs.com/package/@persagy2/eslint-plugin/v/0.2.0)
- 安装前, 需要移除项目中存在的其他
eslint
依赖, 用来保证与@pesagy2/eslint-plugin
不产生依赖冲突 (已内置了 eslint 相关的依赖项)~
简介
一个适用于 vue3.x, typescript 项目的通用 eslint 规则预设插件。相比于上一个版本, 这个版本对于规则的选用上做了大量减法 (不再进行大量的重复性校验), 所以请确保项目
开始使用
1. 安装依赖
npm install @persagy2/eslint-plugin -D
# or
yarn add @persagy2/eslint-plugin --dev
2. 配置规则
Tips: 遵循 eslint 插件配置 将这个库当作插件使用即可
在项目根目录下创建 eslint.config.ts
配置文件, 文件内容如下:
Plan.1 (推荐) 使用创建配置方法创建
import { createEslintConfig } from '@persagy2/eslint-plugin'
/** eslint 配置 */
export default createEslintConfig({})
Plan.2 自行配置
import type { Linter } from 'eslint'
/** eslint 配置 */
export default <Linter.Config>{
root: true,
/** 配置规则等级 */
extends: ['plugin:@persagy2/<recommend>'],
/** 全局变量配置 */
globals: {},
/** 自定义规则配置 */
rules: {}
}
3. 修改 package.json, 添加 lint 命令
{
"scripts": {
"lint": "eslint ./src/**/*.{ts,js,vue,md,json,less,svg}",
"lint:fix": "eslint ./src/**/*.{ts,js,vue,md,json,less,svg} --fix"
}
}
最佳实践
合适的 lint
时机
在一个版本结束后, 做收尾工作时, 建议执行一下 lint:fix
命令, 对已有代码做一下规范性修正. 日常开发中, 遵循 ts 严格模式的策略即可.
规则等级
| 等级 | 描述 | 说明 | | --------- | -------- | -------------------------------------------------------------------------------------------------------- | | basic | 基础策略 | 强制性语义语法检查 (建议仅 js 项目使用) | | recommend | 推荐策略 | 编码范式检查, 提高 code 的工整性 | | strict | 严格策略 | 注释量、命名策略方面的检测, 提高代码可维护性 | | normal | 标准策略 | 全量代码检查 (注意: 此等级包含了原定于 basic, recommend 等级的全量规则, 所以可能导致 lint 过慢, 慎用!!!) |