diff --git a/README.md b/README.md
index 2ffd4d7..c81a6e9 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,10 @@
一个将多个命令简化成一个命令的项目 😆
-
-
-
-
+
+
+
+
## 全局安装
@@ -50,6 +50,15 @@ git commit -m [描述]
git push
```
+### 简化手动更改版本号命令
+
+```sh
+# 版本号自增
+auto version++
+# 或者指定具体的版本号
+auto version@1.0.0
+```
+
### 技术栈
- `Vite` + `TypeScript` + `Node`
diff --git a/package-lock.json b/package-lock.json
index 06ab06e..44b4d89 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,29 +1,29 @@
{
"name": "mine-auto-cli",
- "version": "2.0.4",
+ "version": "2.1.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "mine-auto-cli",
- "version": "2.0.4",
+ "version": "2.1.0",
"license": "ISC",
"dependencies": {
"chalk": "^5.3.0",
"commander": "^11.1.0",
"log-symbols": "^6.0.0",
- "ora": "^7.0.1",
+ "ora": "^8.0.1",
"update-notifier": "^7.0.0"
},
"bin": {
"auto": "bin/mine-auto-cli.js"
},
"devDependencies": {
- "@types/node": "^20.10.4",
+ "@types/node": "^20.11.13",
"@types/update-notifier": "^6.0.8",
- "prettier": "^3.1.1",
+ "prettier": "^3.2.4",
"typescript": "^5.3.3",
- "vite": "^5.0.9"
+ "vite": "^5.0.12"
},
"engines": {
"node": ">=20"
@@ -675,9 +675,9 @@
"integrity": "sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw=="
},
"node_modules/@types/node": {
- "version": "20.10.4",
- "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.10.4.tgz",
- "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==",
+ "version": "20.11.13",
+ "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.13.tgz",
+ "integrity": "sha512-5G4zQwdiQBSWYTDAH1ctw2eidqdhMJaNsiIDKHFr55ihz5Trl2qqR8fdrT732yPBho5gkNxXm67OxWFBqX9aPg==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
@@ -723,11 +723,6 @@
"node": ">=8"
}
},
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
- },
"node_modules/boxen": {
"version": "7.1.1",
"resolved": "https://registry.npmmirror.com/boxen/-/boxen-7.1.1.tgz",
@@ -853,9 +848,9 @@
}
},
"node_modules/cli-spinners": {
- "version": "2.9.0",
- "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.0.tgz",
- "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==",
+ "version": "2.9.2",
+ "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz",
+ "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
"engines": {
"node": ">=6"
}
@@ -1015,6 +1010,14 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
+ "node_modules/get-east-asian-width": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz",
+ "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/global-dirs": {
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-3.0.1.tgz",
@@ -1051,11 +1054,6 @@
"node": ">=10.19.0"
}
},
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
- },
"node_modules/import-lazy": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/import-lazy/-/import-lazy-4.0.0.tgz",
@@ -1072,11 +1070,6 @@
"node": ">=0.8.19"
}
},
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
"node_modules/ini": {
"version": "1.3.8",
"resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz",
@@ -1229,22 +1222,22 @@
}
},
"node_modules/ora": {
- "version": "7.0.1",
- "resolved": "https://registry.npmmirror.com/ora/-/ora-7.0.1.tgz",
- "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmmirror.com/ora/-/ora-8.0.1.tgz",
+ "integrity": "sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==",
"dependencies": {
"chalk": "^5.3.0",
"cli-cursor": "^4.0.0",
- "cli-spinners": "^2.9.0",
+ "cli-spinners": "^2.9.2",
"is-interactive": "^2.0.0",
- "is-unicode-supported": "^1.3.0",
- "log-symbols": "^5.1.0",
- "stdin-discarder": "^0.1.0",
- "string-width": "^6.1.0",
+ "is-unicode-supported": "^2.0.0",
+ "log-symbols": "^6.0.0",
+ "stdin-discarder": "^0.2.1",
+ "string-width": "^7.0.0",
"strip-ansi": "^7.1.0"
},
"engines": {
- "node": ">=16"
+ "node": ">=18"
}
},
"node_modules/ora/node_modules/ansi-regex": {
@@ -1267,20 +1260,16 @@
}
},
"node_modules/ora/node_modules/emoji-regex": {
- "version": "10.2.1",
- "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.2.1.tgz",
- "integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.3.0.tgz",
+ "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw=="
},
- "node_modules/ora/node_modules/log-symbols": {
- "version": "5.1.0",
- "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-5.1.0.tgz",
- "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==",
- "dependencies": {
- "chalk": "^5.0.0",
- "is-unicode-supported": "^1.1.0"
- },
+ "node_modules/ora/node_modules/is-unicode-supported": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz",
+ "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==",
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/ora/node_modules/restore-cursor": {
@@ -1296,16 +1285,16 @@
}
},
"node_modules/ora/node_modules/string-width": {
- "version": "6.1.0",
- "resolved": "https://registry.npmmirror.com/string-width/-/string-width-6.1.0.tgz",
- "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmmirror.com/string-width/-/string-width-7.1.0.tgz",
+ "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==",
"dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^10.2.1",
- "strip-ansi": "^7.0.1"
+ "emoji-regex": "^10.3.0",
+ "get-east-asian-width": "^1.0.0",
+ "strip-ansi": "^7.1.0"
},
"engines": {
- "node": ">=16"
+ "node": ">=18"
}
},
"node_modules/ora/node_modules/strip-ansi": {
@@ -1488,9 +1477,9 @@
}
},
"node_modules/prettier": {
- "version": "3.1.1",
- "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.1.1.tgz",
- "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.2.4.tgz",
+ "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==",
"dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
@@ -1656,61 +1645,13 @@
}
},
"node_modules/stdin-discarder": {
- "version": "0.1.0",
- "resolved": "https://registry.npmmirror.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz",
- "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==",
- "dependencies": {
- "bl": "^5.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- }
- },
- "node_modules/stdin-discarder/node_modules/bl": {
- "version": "5.1.0",
- "resolved": "https://registry.npmmirror.com/bl/-/bl-5.1.0.tgz",
- "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==",
- "dependencies": {
- "buffer": "^6.0.3",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/stdin-discarder/node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/stdin-discarder/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
+ "version": "0.2.2",
+ "resolved": "https://registry.npmmirror.com/stdin-discarder/-/stdin-discarder-0.2.2.tgz",
+ "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==",
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "node": ">=18"
}
},
- "node_modules/string_decoder/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
@@ -1831,15 +1772,10 @@
"node": ">=18"
}
},
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
"node_modules/vite": {
- "version": "5.0.9",
- "resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.9.tgz",
- "integrity": "sha512-wVqMd5kp28QWGgfYPDfrj771VyHTJ4UDlCteLH7bJDGDEamaz5hV8IX6h1brSGgnnyf9lI2RnzXq/JmD0c2wwg==",
+ "version": "5.0.12",
+ "resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.12.tgz",
+ "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
"dev": true,
"dependencies": {
"esbuild": "^0.19.3",
@@ -2311,9 +2247,9 @@
"integrity": "sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw=="
},
"@types/node": {
- "version": "20.10.4",
- "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.10.4.tgz",
- "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==",
+ "version": "20.11.13",
+ "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.13.tgz",
+ "integrity": "sha512-5G4zQwdiQBSWYTDAH1ctw2eidqdhMJaNsiIDKHFr55ihz5Trl2qqR8fdrT732yPBho5gkNxXm67OxWFBqX9aPg==",
"dev": true,
"requires": {
"undici-types": "~5.26.4"
@@ -2350,11 +2286,6 @@
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
- },
"boxen": {
"version": "7.1.1",
"resolved": "https://registry.npmmirror.com/boxen/-/boxen-7.1.1.tgz",
@@ -2449,9 +2380,9 @@
"integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="
},
"cli-spinners": {
- "version": "2.9.0",
- "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.0.tgz",
- "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g=="
+ "version": "2.9.2",
+ "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz",
+ "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="
},
"commander": {
"version": "11.1.0",
@@ -2569,6 +2500,11 @@
"dev": true,
"optional": true
},
+ "get-east-asian-width": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz",
+ "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA=="
+ },
"global-dirs": {
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-3.0.1.tgz",
@@ -2598,11 +2534,6 @@
"resolve-alpn": "^1.2.0"
}
},
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
- },
"import-lazy": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/import-lazy/-/import-lazy-4.0.0.tgz",
@@ -2613,11 +2544,6 @@
"resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
},
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
"ini": {
"version": "1.3.8",
"resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz",
@@ -2722,18 +2648,18 @@
}
},
"ora": {
- "version": "7.0.1",
- "resolved": "https://registry.npmmirror.com/ora/-/ora-7.0.1.tgz",
- "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmmirror.com/ora/-/ora-8.0.1.tgz",
+ "integrity": "sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==",
"requires": {
"chalk": "^5.3.0",
"cli-cursor": "^4.0.0",
- "cli-spinners": "^2.9.0",
+ "cli-spinners": "^2.9.2",
"is-interactive": "^2.0.0",
- "is-unicode-supported": "^1.3.0",
- "log-symbols": "^5.1.0",
- "stdin-discarder": "^0.1.0",
- "string-width": "^6.1.0",
+ "is-unicode-supported": "^2.0.0",
+ "log-symbols": "^6.0.0",
+ "stdin-discarder": "^0.2.1",
+ "string-width": "^7.0.0",
"strip-ansi": "^7.1.0"
},
"dependencies": {
@@ -2751,18 +2677,14 @@
}
},
"emoji-regex": {
- "version": "10.2.1",
- "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.2.1.tgz",
- "integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.3.0.tgz",
+ "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw=="
},
- "log-symbols": {
- "version": "5.1.0",
- "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-5.1.0.tgz",
- "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==",
- "requires": {
- "chalk": "^5.0.0",
- "is-unicode-supported": "^1.1.0"
- }
+ "is-unicode-supported": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz",
+ "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q=="
},
"restore-cursor": {
"version": "4.0.0",
@@ -2774,13 +2696,13 @@
}
},
"string-width": {
- "version": "6.1.0",
- "resolved": "https://registry.npmmirror.com/string-width/-/string-width-6.1.0.tgz",
- "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmmirror.com/string-width/-/string-width-7.1.0.tgz",
+ "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==",
"requires": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^10.2.1",
- "strip-ansi": "^7.0.1"
+ "emoji-regex": "^10.3.0",
+ "get-east-asian-width": "^1.0.0",
+ "strip-ansi": "^7.1.0"
}
},
"strip-ansi": {
@@ -2927,9 +2849,9 @@
}
},
"prettier": {
- "version": "3.1.1",
- "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.1.1.tgz",
- "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.2.4.tgz",
+ "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==",
"dev": true
},
"proto-list": {
@@ -3052,58 +2974,9 @@
}
},
"stdin-discarder": {
- "version": "0.1.0",
- "resolved": "https://registry.npmmirror.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz",
- "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==",
- "requires": {
- "bl": "^5.0.0"
- },
- "dependencies": {
- "bl": {
- "version": "5.1.0",
- "resolved": "https://registry.npmmirror.com/bl/-/bl-5.1.0.tgz",
- "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==",
- "requires": {
- "buffer": "^6.0.3",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "~5.1.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- }
- }
+ "version": "0.2.2",
+ "resolved": "https://registry.npmmirror.com/stdin-discarder/-/stdin-discarder-0.2.2.tgz",
+ "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ=="
},
"string-width": {
"version": "4.2.3",
@@ -3199,15 +3072,10 @@
"xdg-basedir": "^5.1.0"
}
},
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
"vite": {
- "version": "5.0.9",
- "resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.9.tgz",
- "integrity": "sha512-wVqMd5kp28QWGgfYPDfrj771VyHTJ4UDlCteLH7bJDGDEamaz5hV8IX6h1brSGgnnyf9lI2RnzXq/JmD0c2wwg==",
+ "version": "5.0.12",
+ "resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.12.tgz",
+ "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
"dev": true,
"requires": {
"esbuild": "^0.19.3",
diff --git a/package.json b/package.json
index 9efdca1..8db600a 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "mine-auto-cli",
"private": false,
- "version": "2.0.4",
+ "version": "2.1.0",
"exports": "./dist/index.js",
"main": "./dist/index.js",
"type": "module",
@@ -52,14 +52,14 @@
"chalk": "^5.3.0",
"commander": "^11.1.0",
"log-symbols": "^6.0.0",
- "ora": "^7.0.1",
+ "ora": "^8.0.1",
"update-notifier": "^7.0.0"
},
"devDependencies": {
- "@types/node": "^20.10.4",
+ "@types/node": "^20.11.13",
"@types/update-notifier": "^6.0.8",
- "prettier": "^3.1.1",
+ "prettier": "^3.2.4",
"typescript": "^5.3.3",
- "vite": "^5.0.9"
+ "vite": "^5.0.12"
}
}
diff --git a/src/commander/actions.ts b/src/commander/actions.ts
index 95ebb89..1c1545d 100644
--- a/src/commander/actions.ts
+++ b/src/commander/actions.ts
@@ -2,6 +2,8 @@ import { program } from 'commander'
import chalk from 'chalk'
import ora from 'ora'
import { execSync } from 'child_process'
+import { readFileSync, writeFileSync } from 'fs'
+import { join } from 'path'
import log from '@/utils/log'
import { gitCmds, buildCmds } from './cmds'
@@ -44,6 +46,64 @@ export const simplifyBuild = async (cmd: string, desc = '打包') => {
info()
}
+const errorTips = (cmd: string) => {
+ info()
+ error(`\`${cmd}\` 命令错误,请检查你的命令`)
+ info()
+ program.help()
+}
+
+/**
+ * 更新版本号
+ */
+const updateVersion = (customVersion: string) => {
+ const fileList: Record[] = ['package.json', 'README.md'].map(name => {
+ const path = join(process.cwd(), name)
+ const content = readFileSync(path).toString()
+ return { path, content }
+ })
+ const [packageJsonItem, readmeItem] = fileList
+ const packageJson = JSON.parse(packageJsonItem.content)
+
+ // 修改 package.json
+ if (customVersion) {
+ packageJson.version = customVersion
+ } else {
+ const newVersion = packageJson.version.split('.').reduce((prev: string, item: string, i: number, arr: string[]) => prev + (i === arr.length - 1 ? +item + 1 : `${item}.`), '')
+ packageJson.version = newVersion
+ }
+ writeFileSync(packageJsonItem.path, JSON.stringify(packageJson, null, 2))
+
+ // 修改 README.md
+ readmeItem.content = readmeItem.content.replace(/version\-v.+\-blue/, () => `version-v${packageJson.version}-blue`)
+ writeFileSync(readmeItem.path, readmeItem.content)
+}
+
+/**
+ * 简化手动修改版本号命令
+ */
+export const simplifyVersion = async (cmd: string) => {
+ const arg = cmd.split('version')[1]
+ if (!arg) return errorTips(cmd)
+
+ const packageJson = JSON.parse(readFileSync(join(process.cwd(), 'package.json'), 'utf-8'))
+ if (arg === '++') {
+ const newVersion = packageJson.version.split('.').reduce((prev: string, item: string, i: number, arr: string[]) => prev + (i === arr.length - 1 ? +item + 1 : `${item}.`), '')
+ updateVersion(newVersion)
+ info()
+ success('命令执行完成')
+ return
+ }
+ const customVersion = arg.split('@')[1]
+ if (customVersion) {
+ updateVersion(customVersion)
+ info()
+ success('命令执行完成')
+ } else {
+ errorTips(cmd)
+ }
+}
+
/**
* 定义顶级命令的 action
*/
@@ -53,6 +113,11 @@ export const handleArguments = (cmd: string, env?: string) => {
*/
if (cmd.includes('build')) return simplifyBuild(cmd, env)
+ /**
+ * 处理 version[++][@<版本> 命令
+ */
+ if (cmd.includes('version')) return simplifyVersion(cmd)
+
/**
* 输出错误
*/
diff --git a/src/commander/index.ts b/src/commander/index.ts
index 6760969..3558171 100644
--- a/src/commander/index.ts
+++ b/src/commander/index.ts
@@ -8,6 +8,7 @@ import { simplifyGit, handleArguments } from './actions'
program.usage('[commands] [options]').version(version, '-v, --version', '输出版本号').helpOption('-h, --help', '输出所有命令')
program.command('git [描述]').description('简化 Git 提交命令').action(simplifyGit)
program.command('build[:环境] [描述]').description('简化打包提交命令')
+program.command('version<[++]|[@<版本号>]>').description('例如:version++ 或者 version@1.0.0;自动更新 package.json 版本号,自动更新 `README.md` 中的 `version-v-blue` 图标版本')
/**
* 定义顶级命令的参数语法
diff --git a/vite.config.ts b/vite.config.ts
index 30cce9c..165552d 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -9,7 +9,7 @@ const config: UserConfig = {
}
},
build: {
- target: 'node16',
+ target: 'node20',
outDir: resolve(__dirname, './dist/dist'),
lib: {
entry: resolve(__dirname, './src/index.ts'),