当前位置: 首页 > news >正文

自定义 eslint 规则

自定义 eslint 规则

  1. 起名规范

eslint-plugin-guojieEslint
eslint-plugin-xxxx

  1. npm init
    初始化一个项目
//  package.json
{"name": "eslint-plugin-guojieeslint","version": "1.0.0","description": "","main": "index.js","author": "","license": "ISC"
}
  1. 主逻辑
//  amount-check.js
module.exports = {meta: {type: "problem",docs: {description: "禁止直接对金额变量进行加法运算,防止精度丢失",category: "Possible Errors",recommended: false,},messages: {noAmountPlus:"金额运算不能直接用加法,可能会有精度丢失,请使用专用金额运算方法。",},},create(context) {return {BinaryExpression(node) {console.log(node.left.name, node.right.name);if (node.operator === "+" &&node.left.type === "Identifier" &&node.right.type === "Identifier" &&/Amount$/.test(node.left.name) &&/Amount$/.test(node.right.name)) {context.report({node,messageId: "noAmountPlus",});}},};},
};
//  index.js
const amountCheck = require("./amount-check.js");
module.exports = {rules: {"amount-check": amountCheck,},
};
  1. 这样一个简单的 eslint 规则就完成了,如何使用
    环境 "eslint": "^8.57.1"
    命令 "test": "npx lint index.js"

     4.1 先在 我的自定义elsint 规则中 执行 `npm link `4.2 再在我们项目根目录 执行 `npm link eslint-plugin-guojieeslint`配置项:在项目中`.eslintrc.js`
    
    module.exports = {plugins: ["guojieeslint"],parserOptions: {ecmaVersion: 2018,sourceType: "module",},rules: {"guojieeslint/amount-check": "error",},
    };
    
http://www.xdnf.cn/news/1037881.html

相关文章:

  • 基于Java开发的浏览器自动化Playwright-MCP服务器
  • 图表工具 ECharts vs Chart.js 对比
  • 问题记录_如何让程序以root权限启动_如何无视系统的路径问题
  • 从零开始:VMware上的Linux与Java开发环境配置
  • Python训练营-Day31-文件的拆分和使用
  • 自编码模型原理
  • SpringBoot源码解析(十二):@ConfigurationProperties配置绑定的底层转换
  • 【卫星通信】高通提案S2-2504588解读-基于控制平面优化的GEO卫星IMS语音解决方案
  • 介绍常见的图像和视频存储格式以及其优劣势
  • vulnhub-Earth
  • 深度解析JavaScript闭包:从原理到高级应用
  • Java 单例模式实现方式
  • 偶数项收敛半径
  • 地理数据库 gdb mdb sde 名称的由来
  • uni-app项目实战笔记10--设置页面全局渐变线性渐变背景色
  • 深入解析ArrayList源码:从短链项目实战到底层原理
  • windterm no match for method encryption client
  • 盟接之桥EDI软件安全机制及工作原理详解
  • uni-app项目实战笔记11--定义scss颜色变量方便页面引用
  • 论文略读: CITYANCHOR: CITY-SCALE 3D VISUAL GROUNDING WITH MULTI-MODALITY LLMS
  • 容器里有10升油,现在只有两个分别能装3升和7升油的瓶子,需要将10 升油等分成2 个5 升油。程序输出分油次数最少的详细操作过程。
  • 【leetcode】78. 子集
  • 2.2 状态空间表达式的解
  • 初探Qt信号与槽机制
  • 21 - GAM模块
  • 破壁虚实的情感科技革命:元晟定义AI陪伴机器人个性化新纪元
  • SpringBoot 自动化部署实战:从环境搭建到 CI/CD 全流程
  • vulnyx Diff3r3ntS3c writeup
  • CLONE:用于长距离任务的闭环全身人形机器人遥操作
  • C++之模板进阶