使用脚本整合指定文件/文件夹,执行定制化 ESLint 命令

背景

最近面对一个庞大的项目,但是只需要修改某个模块,每次都手搓命令太麻烦了,于是就想着能不能写个脚本来辅助处理这些事情。

解决方案

定制化一键 ESLint,执行文件下载地址:

https://github.com/mazeyqian/go-gin-gee/releases/tag/v1.4.0

基础使用

以下案例以 macOS 为例,其他系统自行替换对应的文件。

案例 1:指定文件 file1.jsfile2.js,使用默认的配置。

bash 复制代码
#!/bin/bash
./eslint-files-mac-darwin-amd64 -files="file1.js,file2.js"

案例 2:指定文件夹 src/viewssrc/components

bash 复制代码
#!/bin/bash
./eslint-files-mac-darwin-amd64 -folders="/root/app/src/views,/root/app/src/components"

配合根目录 root 使用指定文件夹:

bash 复制代码
#!/bin/bash
./eslint-files-mac-darwin-amd64 \
  -folders="src/views,src/components" \
  -root="/root/app/"

案例 3:指定 ESLint 配置文件 custom.eslintrc.js 和命令 --fix

bash 复制代码
#!/bin/bash
./eslint-files-mac-darwin-amd64 \
  -folders="/root/app/src/views" \
  -esConf="custom.eslintrc.js" \
  -esCom="--fix"

复杂场景

  1. 指定 ESLint 配置文件 custom.eslintrc.js
  2. 指定附带命令 --fix
  3. 指定文件和文件夹;
  4. 指定文件后缀;
  5. 添加前置和后置执行命令。
bash 复制代码
#!/bin/bash
./eslint-files-mac-darwin-amd64 \
  -files="file1.js,file2.js" \
  -folders="src/views,src/components" \
  -root="/root/app/" \
  -esConf="custom.eslintrc.js" \
  -esCom="--fix" \
  -ext=".js,.ts,.jsx,.vue,.tsx" \
  -befCom="echo 'Starting format';" \
  -aftCom="echo 'Format completed';"

参数说明

参数 说明 默认 示例 是否必须
files 指定文件,多个文件用 , 分隔。 - file1.js,file2.js 可选
folders 指定文件夹,多个文件夹用 , 分隔。 - src/views,src/components 可选
esConf 指定 ESLint 配置文件。 - custom.eslintrc.js 可选
esCom 指定附带命令。 - --fix 可选
root 指定根目录,配合 folders 使用。 - /root/app/ 可选
ext 指定文件后缀。 .js .js,.ts,.jsx,.vue 可选
befCom 指定前置执行命令。 - echo 'Starting format'; 可选
aftCom 指定后置执行命令。 - echo 'Format completed'; 可选
filesRang 指定文件范围,统计处理过和未处理的文件。 - /root/app/ 可选

演示效果

项目地址

该脚本使用 Go 语言开发,访问地址:

https://github.com/mazeyqian/go-gin-gee/tree/main/scripts/eslint-files

版权声明

本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者后除和本文原始地址:https://blog.mazey.net/4207.html

(完)

相关推荐
别拿曾经看以后~1 小时前
【el-form】记一例好用的el-input输入框回车调接口和el-button按钮防重点击
javascript·vue.js·elementui
川石课堂软件测试1 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
JerryXZR1 小时前
前端开发中ES6的技术细节二
前端·javascript·es6
stewie61 小时前
在IDEA中使用Git
java·git
problc2 小时前
Flutter中文字体设置指南:打造个性化的应用体验
android·javascript·flutter
Gavin_9152 小时前
【JavaScript】模块化开发
前端·javascript·vue.js
懒大王爱吃狼3 小时前
Python教程:python枚举类定义和使用
开发语言·前端·javascript·python·python基础·python编程·python书籍
小牛itbull4 小时前
ReactPress:重塑内容管理的未来
react.js·github·reactpress
待磨的钝刨4 小时前
【格式化查看JSON文件】coco的json文件内容都在一行如何按照json格式查看
开发语言·javascript·json
前端青山9 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js