@persagy2/eslint-plugin
一个适用于 vue3.x、typescript 项目的通用eslint预设插件
2,894
| Install | |
|---|---|
npm install @persagy2/eslint-plugin@legacy |
|
| Latest Version: | 0.2.1 |
| License: | MIT |
| Last Updated: | Dec 4, 2023 |
| Links: | Repository · npm |
Maintainer: halo-951
@persagy2/eslint-pluin
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 过慢, 慎用!!!) |
Related Packages
Version History
| Version | Released | License |
|---|---|---|
| 0.2.1 | MIT | |
| 0.2.0 | MIT | |
| 0.1.3 | MIT | |
| 0.1.2 | MIT | |
| 0.1.1 | MIT | |
| 0.1.0 | MIT | |
| 0.0.5 | MIT | |
| 0.0.4 | MIT | |
| 0.0.3 | MIT |
Pre-releases (84)
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.0-dev.6 | ^3.3.9 | MIT | |
| 1.0.0-dev.5 | ^3.3.9 | MIT | |
| 1.0.0-dev.4 | ^3.3.9 | MIT | |
| 1.0.0-dev.3 | ^3.3.9 | MIT | |
| 1.0.0-dev.2 | ^3.3.9 | MIT | |
| 1.0.0-dev.1 | ^3.3.9 | MIT | |
| 0.1.4-dev.22 | MIT | ||
| 0.1.4-dev.21 | MIT | ||
| 0.1.4-dev.20 | MIT | ||
| 0.1.4-dev.19 | MIT | ||
| 0.1.4-dev.18 | MIT | ||
| 0.1.4-dev.17 | MIT | ||
| 0.1.4-dev.16 | MIT | ||
| 0.1.4-dev.15 | MIT | ||
| 0.1.4-dev.14 | MIT | ||
| 0.1.4-dev.13 | MIT | ||
| 0.1.4-dev.12 | MIT | ||
| 0.1.4-dev.11 | MIT | ||
| 0.1.4-dev.10 | MIT | ||
| 0.1.4-dev.9 | MIT | ||
| 0.1.4-dev.8 | MIT | ||
| 0.1.4-dev.7 | MIT | ||
| 0.1.4-dev.6 | MIT | ||
| 0.1.4-dev.5 | MIT | ||
| 0.1.4-dev.3 | MIT | ||
| 0.1.4-dev.2 | MIT | ||
| 0.1.4-dev.1 | MIT | ||
| 0.1.0-beta.5 | MIT | ||
| 0.1.0-beta.4 | MIT | ||
| 0.1.0-beta.3 | MIT |
Showing the latest 30 of 84. See every release on npm