vite-plugin-husky-helper 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/assets/commit-msg +2 -2
- package/dist/esm/assets/commitlint.config.js +2 -2
- package/dist/esm/assets/czvinyl.config.ts +2 -2
- package/dist/esm/assets/eslint.config.ts +2 -2
- package/dist/esm/assets/oxfmtrc.json +2 -0
- package/dist/esm/assets/pre-commit +2 -2
- package/dist/esm/main.js +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
1fbd29d11e31cfda2e259ba5de64642f2f5ec7d5fe6e5d2961ed695e8f5cae8b8cd5a4a122ca46b9cc2904300c3993d3b4b5c82a6e0f7f09e65995fc8677e225666fca50b9b7d2336df0cf5235cd3b93
|
|
2
|
+
a4697d1e2558d84284c67fc3338a2221
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
c9e6f16e1f8482bfa323d7271ff84bc91802490ee0cf2b9e0afff2d73fbe69aa290f9cc5c67d6cd1011c1eaeda66ee3ee4bd94d308ef317417bd9df12582f31bf367913c992250919ad54edee01531ce
|
|
2
|
+
00bb3a89ca655f53e70ffc577ab281c0
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
c92f72244709100b3b52f83fa32a1809e11df09261a5cc384cf5c8a8bf94b1edf9f35be90de5124ef3b57ce8dd35165cce4125a684c2a155561137131c9627394b9160b88cf6fac1ce8959e5466aeb0b63eab5acc4ef462a8c47dbb8bd700a25a9a04fb5207941b0fbcb6696c4d6a409ff560751dbba3f4b2ff9a0f0b65c92b51ee813e63706bc875bc04aea63397e032a80454f141a5d543312de58bccb66d36903288b5ebde9ffce74b2e781c0457354c392eac83e3887392abc2673973ba2c18e0952cff385939cfab5962400a90c5209e0a8abad8bb224f6f1fda633b77a75888fc3f31611f13e3836e27e98a4360ac5ca6c97b413edb810db1d224010adf227341365ebd620d370a24a6a3eda8bcf99ed24f2550a81f9a78f0e3a0823261d6a2f863e922bcd527881d4b0b4fded4a112f66599ae3d1f3aad893c4620a48b4943ebc01aedb69684561f2305957f4c54eed7608894f3588ba0b74a672a3e60562dfa00c176ad8625a125fe9239885d53b87247aa3fe140c88ffd74d7dfb4c2c26805594875a7e1bcd81230436ba48a7cbaba163ec425d58e5b7d954a0145a85a4ebbd1f84805f790b921fb15952bf6edcef9d09474e07321377e362640be97d0d5078f32c729e85343369cebc89fa528209c15ab11e1d5726a7ef0521db0ddeeee196775952bc9669b783edbed85a9069714d6fe1c29379c362e4de50984a9cf9b4ec63fc5ae6cbbf279dfc9eefd82529935ba3109127bbe2203374067101b66eb5b8ef24346e75aa31cdbb836e301c30ca4dda31f8488bfb4f68eba96302be1321128ae4a10569ffc322b62146054eef8207fb3bb6f28ed93243b38d55a6266916e186553fe7847e3af1e3ddf4cbbd4d071b53a3bff79d8901f15aec69bbb596aa63ba88547f214eb8b4077a42bd002336d39fd724f3abbd29f56a0163f693d2376a312c9bfa32c8a176595195312753842f8274f2e0cc5b0136f9be1e67f1bbbbd37026a6fb299ed103b6723ff8408e63347bf794109d475d0ac40c613c62c5a7072647456b4f1cf2f16c7b14e9bd36e946827fdf2726b39925ee3979ee68feacbcc1fc82367a74fe90f5a2425fb566288c3dc10b2799843e08a283f179380c189ea507da67f0891c26df8978b8b48c80add720ba34aa1e612b67c9ad896c248b8eeca3e1254ce6c947906e04934dbf9cb1c60a90ba97b315562e48d330f2566def20dec46ea1fba4495713ef283308cc6943b15e9e36ae384da1507d1131d57cbbc19bd96d0aaa7ea31e8884fa0a6e031df076f710c7a587b60efe009bf5238948d536c0d5084dbabc77ec654ebded088cfd21a54ef2eda34960960c0fa516e5a73eb7c61b6063f1b463c6515a726b0795107c19e571f4c4dd8c92b7c7971e2f96455b3aa2e2a4872b09534616405c659e81e5205fc92b615d79e58596dbd213f8a534ac6854e617d8cba8d196208928e14060d73df38a976c266bb54e5b9ea846cc0f7771ab3f306f45a9744d06994ac9e975fa77e58d0a16146b4f2d830603bdf821239afb06f369b3d778a9b28bfe0865288aa20af131c8b70004c8dab1dd86b0a713bd78fe4e7777e088cee385a19e22191aae1701e3b85d7c2479eab024df747d53533f69de0bc3b252f2d2af26c7cad82134c050b657f5a8cb1cb322213b85494f3881709c9e398cd2d6ace5111eeffc86bb12ae83d6182054f0688f1349fbf6829d73f481a8d8f49a3bb7be18b390f9dc8224c256af5633c63acfcbd65744edcd5e8419a30f519d159322765d437d4e40331889fc1c34579a577ff4565599c0a49ade0579b7369e9ed2
|
|
2
|
+
425ec3f6b1d9cd32457a7301eb4224cf
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
f47a3f4576433bc37505238b6732383583f1ca718f069923440cf6aca5b9ad8d827468f191453ea1fc57a79a86cd99ac4509fcf1025fac4ab437cafa351cf29f9b2412d5d6349f88613d9f2daea903ca9c938f2ef38a50012f0b26fe263526469e105083850602eecf3ddfcf8c5b3fb9c87816ed6056a39c889ab15e7cef00ec4f24185abe466efa08bba57646c19ca0f5868265deefbc32a577c1e25fcb5d0bfde048ebf056eeb2adfcb51d325f40e61b0a9a7caadec4b5920199817eb018ba7cae9a6af2942de07c907a656ae658dc996b120bd91b10925acb3de595f2fee6d176a5f19546d1dd84baf6d23bbea76da70d175b8e948ad93e70ebab522082c0da859df4a4b5f4a3cc04e820ee307ca7e4fdd6e35cef3527a4fe1d0615eb02da2495af99424c7a5de1b0b1f63afac83dcc10856bb8b37a0917e287cecab3e8c14ed1fc620dee1131819e1b229355e17e5f6538b0c7b318e63e48060b1b7f9d249cbf766884f96cd1e48897a7b44d402947ba2aab976811b20771ab27cbd666343a27505796cd9d7b4e1c9c462d597c076e0c700bcb10e7e40f8e7cd42c14cb3751c9bd1011da599335d0ef31abae8349522a7916f75c6a77c14339b0370bbc9aea9daf6b22e35f8b63f9965e30a0ee34e389218b48b1c1430402da84ce6caeddde65bf37e664449828e6e543763c2582d5a8422a0b0a26616d6d71b006926b5a83cbaad0de6d3298ba8f8f6ce94f4f336605ccb4f7e0ed0abdd85fdb4b3bd6493794fd60d50391e506734e540ff786883d1783b2ab840f2ef80097bd8a905ce88e947eb0dec9e07bb84f13475ec7ba2c0a7d5cc8ebcd23f6120f51db6ec343991442f92ea8d3f80363a249423820aa779cba89173ab3de0a6e50d68bb70b4037fe270ea5f7a4c202140ccee35a256bc4a8a65f63632a6e61e49fb74d25192889bea7ea8512ba9ec14efbdb618ec2dfe33835a486f4538ea15b08dc9ec0aac9e0a657704de939b8eafbcead76e066af649343fccd5506878df346442a540778742f809e5a8bf47472cc6e32ec9494f9a1793ee422888f617db4b1b0628bee87624c05385e7e9a316d55e392415fb8a3a93b934e7265f9c81457a97cc804c9ab78855092e6518a075cc0555917fd4547c6417c11f61b456e304ed0422058499c008b93f0ba7ff3552952c15e3d7835f4eaa4ef33c0e63ed6b8815dd533f2c66e38718bcae9785f1a38ec334337e5566753a5c9eadaac520f0c1cad61b0074c2e420bab06580484173a3d22453539579980a9576854d86c8858317e236ca52428d7abe06b943cc017f4d2ee4cd2e0d288eb5597c00b8264a6cab303828840ea243671ad64c1e988eec45ffabf8a0815bf38423deeca4523605547864c2cd47ebc436b28dd09a9024edd24cc0995b44aa3306565916c1ede3ee01670ae59fc8a8884f6e60f4a7981a3186600da886bba609ee7cd16c98a4a6613a945b55e36a08cc6b84886335d1a580c9ed19fba1e834acdfa0bcb5673a347058a895eae9f39813da875da6b66f5f0315411a92c91df13440371dde43ed6235bbbfde0dc64e91bcfc7a69b2a21bee49e1d5777ae64c8ad4627e3a846c3b343429a13a77d3b24b78096a6407e9b1b8735de8906e195bcad5ec41f79af02133255191a1c6223fd55a1613841b81e90f190b0ed619cf29efa25fc4ff37f5d2ea24098c274740705777f
|
|
2
|
+
b0badcd49a52ea7bc2263f1d3e510494
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
831e471506ae0e7433ccfb1b8627d827821760f26bd863fb3a773024393bb3fc99dd95f2ec95a170e7e32389f53c7080866927c0b38fd79ec81fc0da0ba89797a47cc83d78068e294b088e8807ebaf0f9ec4bbd8f949ab343c123ee0f5c22ebc1ddedba934af19e4a878b9d0a65cdfee1563382d93426608b9c4029d3d8c497d
|
|
2
|
+
437099106a17cf20a44282f259001d90
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
b632c2c7f761b17d91fb96a25bf9ed56
|
|
2
|
+
9126fbee25672dcba1ba2fbedfe6dba2
|
package/dist/esm/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"node:path";import*as s from"node:os";import{spawn as i,execSync as t}from"node:child_process";import o from"node:fs";import*as n from"node:crypto";async function r(e){try{return await o.promises.access(e),!0}catch{return!1}}async function c(e,s){return await new Promise((s,i)=>{let t="";o.createReadStream(e,{highWaterMark:1048576,encoding:"utf8"}).on("error",e=>i(e)).on("data",e=>t+=e).on("end",()=>{s(t)})})}async function a(e,s,i){return await new Promise((i,t)=>{o.createWriteStream(e,{encoding:"utf8",highWaterMark:1048576}).on("error",e=>t(e)).on("finish",()=>i()).on("open",function(){this.write(s),this.end()})})}function l(e){const s=e.split(/\r\n|\n|\r/).filter(Boolean),i={data:s[0],iv:s[1]},{iv:t,data:o}=i,r=n.scryptSync("unique password","Just fuck me!",32),c=n.createDecipheriv("aes-256-cbc",r,Buffer.from(t,"hex"));let a=c.update(o,"hex","utf8");return a+=c.final("utf8"),a}function p(e){t(`echo ${e}`,{stdio:"inherit",cwd:process.cwd()})}function u(o="pnpm"){return{name:"vite-plugin-husky-helper",async configResolved(n){if("serve"!==n.command)return;if(!await r(e.resolve(process.cwd(),".git")))return void p("[vite-plugin-husky-helper]❌ git 仓库未初始化,退出插件~~~");if(await async function(){return await r(e.resolve(process.cwd(),"./.husky"))}())return void p("[vite-plugin-husky-helper]❌ husky 配置已存在,退出插件~~~");const u=["husky","lint-staged","commitizen","cz-vinyl","@commitlint/cli","@commitlint/config-conventional"];try{i(o,["install",...u,"-D"],{detached:!0,stdio:"inherit",cwd:process.cwd()}).on("close",async i=>{if(0===i){if(p("[vite-plugin-husky-helper]✅ 相关依赖库安装成功~~~"),!function(e,s){const i=e.map(e=>({key:e,regexp:new RegExp(`"devDependencies"\\s*:\\s*{\\s*([^}]*"(${e})"[^}]*)}`)}));for(const e of i){const{key:i,regexp:t}=e,o=t.exec(s);if(!o||o.length>=2&&o[2]!==i)return!1}return!0}(u,await c(e.resolve(process.cwd(),"./package.json"))))return void p("[vite-plugin-husky-helper] 安装依赖库异常,退出插件~~~");if(t("npx husky init",{stdio:"inherit",cwd:process.cwd()}),!await r(e.resolve(process.cwd(),"./.husky/pre-commit")))return void p("[vite-plugin-husky-helper] husky 初始化失败,退出插件~~~");const i=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/pre-commit")),o=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/commit-msg")),n=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/commitlint.config.js"));if(await a(e.resolve(process.cwd(),"./.husky/pre-commit"),l(i)),await a(e.resolve(process.cwd(),"./.husky/commit-msg"),l(o)),await a(e.resolve(process.cwd(),"./commitlint.config.js"),l(n)),await r(e.resolve(process.cwd(),"./eslint.config.ts"))){const s=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/eslint.config.ts"));await a(e.resolve(process.cwd(),"./eslint.config.ts"),l(s))}if(await r(e.resolve(process.cwd(),"./.oxfmtrc.json"))){const s=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets
|
|
1
|
+
import*as e from"node:path";import*as s from"node:os";import{spawn as i,execSync as t}from"node:child_process";import o from"node:fs";import*as n from"node:crypto";async function r(e){try{return await o.promises.access(e),!0}catch{return!1}}async function c(e,s){return await new Promise((s,i)=>{let t="";o.createReadStream(e,{highWaterMark:1048576,encoding:"utf8"}).on("error",e=>i(e)).on("data",e=>t+=e).on("end",()=>{s(t)})})}async function a(e,s,i){return await new Promise((i,t)=>{o.createWriteStream(e,{encoding:"utf8",highWaterMark:1048576}).on("error",e=>t(e)).on("finish",()=>i()).on("open",function(){this.write(s),this.end()})})}function l(e){const s=e.split(/\r\n|\n|\r/).filter(Boolean),i={data:s[0],iv:s[1]},{iv:t,data:o}=i,r=n.scryptSync("unique password","Just fuck me!",32),c=n.createDecipheriv("aes-256-cbc",r,Buffer.from(t,"hex"));let a=c.update(o,"hex","utf8");return a+=c.final("utf8"),a}function p(e){t(`echo ${e}`,{stdio:"inherit",cwd:process.cwd()})}function u(o="pnpm"){return{name:"vite-plugin-husky-helper",async configResolved(n){if("serve"!==n.command)return;if(!await r(e.resolve(process.cwd(),".git")))return void p(" ➜ [vite-plugin-husky-helper] ❌ git 仓库未初始化,退出插件~~~");if(await async function(){return await r(e.resolve(process.cwd(),"./.husky"))}())return void p(" ➜ [vite-plugin-husky-helper] ❌ husky 配置已存在,退出插件~~~");const u=["husky","lint-staged","commitizen","cz-vinyl","@commitlint/cli","@commitlint/config-conventional"];try{i(o,["install",...u,"-D"],{detached:!0,stdio:"inherit",cwd:process.cwd(),shell:!0}).on("close",async i=>{if(0===i){if(p(" ➜ [vite-plugin-husky-helper] ✅ 相关依赖库安装成功~~~"),!function(e,s){const i=e.map(e=>({key:e,regexp:new RegExp(`"devDependencies"\\s*:\\s*{\\s*([^}]*"(${e})"[^}]*)}`)}));for(const e of i){const{key:i,regexp:t}=e,o=t.exec(s);if(!o||o.length>=2&&o[2]!==i)return!1}return!0}(u,await c(e.resolve(process.cwd(),"./package.json"))))return void p(" ➜ [vite-plugin-husky-helper] ❌ 安装依赖库异常,退出插件~~~");if(t("npx husky init",{stdio:"inherit",cwd:process.cwd()}),!await r(e.resolve(process.cwd(),"./.husky/pre-commit")))return void p(" ➜ [vite-plugin-husky-helper] ❌ husky 初始化失败,退出插件~~~");const i=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/pre-commit")),o=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/commit-msg")),n=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/commitlint.config.js"));if(await a(e.resolve(process.cwd(),"./.husky/pre-commit"),l(i)),await a(e.resolve(process.cwd(),"./.husky/commit-msg"),l(o)),await a(e.resolve(process.cwd(),"./commitlint.config.js"),l(n)),await r(e.resolve(process.cwd(),"./eslint.config.ts"))){const s=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/eslint.config.ts"));await a(e.resolve(process.cwd(),"./eslint.config.ts"),l(s))}if(await r(e.resolve(process.cwd(),"./.oxfmtrc.json"))){const s=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/oxfmtrc.json"));await a(e.resolve(process.cwd(),"./.oxfmtrc.json"),l(s))}const d=await c(e.resolve(process.cwd(),"./package.json")),h=new RegExp(/\}\s*\}(?=\s*$)/),m='},\n "lint-staged": {\n "*.{js,ts,vue,jsx,tsx,cjs,mjs}": [\n "oxfmt",\n "oxlint --fix",\n "eslint --fix --cache"\n ]\n },\n "config": {\n "commitizen": {\n "path": "cz-vinyl"\n }\n }\n}';if(!h.exec(d))return void p(" ➜ [vite-plugin-husky-helper]❌ package.json 内容异常,退出插件~~~");await a(e.resolve(process.cwd(),"./.package.json"),d.replace(h,m));const w=await c(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/czvinyl.config.ts"));await a(e.resolve(process.cwd(),"./czvinyl.config.ts"),l(w));const f=process.ppid;p(" ➜ [vite-plugin-husky-helper]✅ executed successfully! The window will be closed soon."),"win32"===s.platform()?t(`taskkill /PID ${f} /F`,{stdio:"ignore"}):t(`kill -9 ${f}`,{stdio:"ignore"})}else p(" ➜ [vite-plugin-husky-helper]❌ 相关依赖库安装失败,退出插件~~~")})}catch(e){throw new Error(` ➜ [vite-plugin-husky-helper]❌ 调用操作系统命令失败!${e.message}`)}}}}export{u as huskyHelper};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-husky-helper",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "用于前端项目 git 规范配置的插件",
|
|
6
6
|
"keywords": [
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"main": "dist/esm/main.js",
|
|
18
18
|
"types": "dist/esm/types/main.d.ts",
|
|
19
19
|
"files": [
|
|
20
|
-
"dist
|
|
20
|
+
"dist"
|
|
21
21
|
],
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|