vite-plugin-husky-helper 0.0.1 → 0.0.3

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.
@@ -1,2 +1,2 @@
1
- 608c2cf9b968d614a6dc0bc2d6c94fef526ce484f87d86d937f92e0fb31973d6b9c73dd66b838c24f22d728e5243446e8969cbfa2988f5553e194232f87564461add4ad2dd2860548db8f9380075a44f
2
- d51b242bc0b7d5321d0bdeff8cadc17e
1
+ d32e06b9f8d9c1f75e6b7847dd5327d6bd587501c2a899a6e5d09f50adc3b4bea5469d19dbc8da1492b691e087fb7d740d4c780090c9747d19e57ffebdbec4788c863151047de6f6887f961790764dda
2
+ a39e2fbac6480201df0e45d7faae6f6d
@@ -1,2 +1,2 @@
1
- 4fd2b59ac662636768f51a8ff531b84111af7e4ced6ebfe9e1846ba467590e058c232cd21bf2b89319bf00dcd194c51af50aeb8c950d976b282cf0b2341162886d75dfd065a07fd2a9a31bfeddade4f0
2
- 2a70474b58682bd88644ef9e3ae73b5d
1
+ 6e0ce4647078ca1d5f6e1c59ba8c79f787a1ff7f0c7fc240a9fb900e7c0db105a946a97144b2f6e4c9a80fea3e7d61f6d9e702cd64ccbe39a039e48a2dece4dd1e2c3082522927ac9358a211d80bdd10
2
+ 11af9905eb16a98eae6653a65d9d740b
@@ -1,2 +1,2 @@
1
- e24398655f95815c6fe308c0988fc4a34ed511527bb135cfe8997ee6b38801fa4927a3f03b722ed2afbc998dba0a6db6cbb43f143b9c5456632e4c5423263455cc62418b42fcb041d52041d7a0fb6c4001e1a966011beb71245e1f372cc365e068adf28b7e33aea014d8b9736e3ffc8a7c6bb35f772d593f7ec5564b0bada48406ac4d823b5d6fd38a170d316ac81484af42697831b243b6a23ccc9292c1b714a31770641565c2ba1274b51fcdcfba9d28b792bfc3f709fe5f5c728ced01acbaf98a2b191471499c2fef3df7e674978eed60bbf79e0063deed2c3ef0dde9c0f438f7ccf65355e201cca0d5d77e79e18a7d580f804de77007e7985dda9cb16fb2393bf20b67f7dad14f971d50155e341d05b045596a568ecec370bc58b9be44f64b237009bf497722f5b5e9ee1da10eb2c1e3036796c73645f12da83fe8cc244a75b71a98c1ea0a7b44e5f43139fda79709e3abe48317f6728498e85906e2b3c6f57bb775e5f89dc8e8e0d804bd554e0fd7031d53a4260990f9aff6660f77d8093c13178c13ac3723f99ccdca5276dec00a4fb4aeb695760ff6330519af154cebaa0e0a21bdefb5eac860b5ee820685cc4423e63b46461585cdb858e8fc7196ab5459dbdcda22c0ee539341fe38c4e884e9fc42d55b0fa16667ee11a1cd7cb976775e3806af0659a7c7f469d33cc7a82479b58dcbe29c6913bf4e697f419ea51739544605df0b1179099757741590b819582b785d8e88a27effe1b9c0d6b90dba24b529c1799e204017757a2e4aef2a4000de111eb749626fd8e9f28984f3ecda5213046ea7ac19bece01f3335541075e15974849ad78e92d9f3d49f648e8e2ae105075af0162a22b5ecf083eb4c9915761161a89b99824cd65b1f2e51f7642e33809e81c7105d6b988fed10574e65bb22e658f2a8c9c0c67ffe8496a4aaf97f80df6aa39802142bfddf27f89c73e81321c021b2cd20212b8b4829fc04a03060130285bf1d061dde98ad4f25fe79a380a892221741411399594cfb910ac5e8a4d444dd3594c8f31c47931a62fde0c64fa0872843e84d57156fbc4558c0773f1c1433fb003fd83e22272010a1c2a417e079839f29fbd525dfd6a6a0785712bfd0a692e656c8dfc030937342d4c4e9b687870d2fa1b8a53013f3df273846c3c217057b18044b7260b4af3ce5104f88012f2f8b1317426639f5ed33457f2cdd9fd51bf19daabbb0ef97117bf8f996939d487b6430d2e109660b30d41481f5ed527a0d482ff07a7e8e113dd45dc7821c950b5389576b18e2d3dcb15487410d21e6005b72b1ac9520d81260e50dd47b202512dbb80f7bc34b03e80ca6c80bb98417fe481440fe7b39c9df0f535ef23534dea3012e8a793330c37ba652b64fd14c47a71cac3d6d0452b5b20dc7478aee0304deddc4fa78bb500589b6460f35aecb307929e779ee2b491bd9c116bc5d14151df59c2e02210177ef9d8f43292a21bbea3391fda96ed99ac8f4d18341b7b827e1cff4dbd0f0cb863e758935a42029e7815083052312328d2ae6b8897a538c88b26dab9e43343ad26c5fb9a90570bb9c8fb5bf9bd5b28150f778a5d710e6d7159fcdecdff443d24185e5098ef5fca595b3d7c0d5e1f0123ee87df5a39d82ad40d292eb2c265b9a15dfd8d1fc0477df7a5d219f1d6e9e18bb37b6712970363f601458db6902de96e5f228240233fcf4b9a7385d31bc725d7bb3a3019c63e9e98cff49deb852f827287bb417b87b404b0b7f1f5d8376cea8415e9228b92f76de8491e86ec85af2db1682ccf1e8f0672b94617504364712f73def4cce705c8185352bdd4
2
- b7690c9e0a4055ad742949772184d610
1
+ ace23dea1e79747dca80d454b93951cca8bea75941042a32517cfaea657e06a05d344aa0d9fe9fc09e48666e6312c9d2e1bfd30ca0b6cfbdc89bf443bd830d091db6260d16af554b84df55474a6029e7c12a178e07025343a9f11f90c8bd6d6f5e07a93fbf4dd58c27d92dcb7f7421e7e8607ef809ed9cbf1393ffa6aace42379d39f28f0bb285693907daacc33bffb016735df090dafc0165b043eb50b25e67e32583c4ddbfd3fc08f25c0ff7c432b86e24cef86d2dacb7a0883be5c9c31b55f02283ed3795c438ef5bc1bcf98b624567829809dd642c4409376d7a2ef80a637d1199bcba5b051ca6c4347708649315de8b7c0708d565dd747cbfea2c544092f5a22851f0b46354e2923796ffce411977693db8e35187e0c894c44627c4790e303241fdf9d97070b731ff70a56e41a428889c3fcb679e26c18b5fc77c826a330443634719d05f17a10da721b9da0260a9b2600b61ccb3d9fe92bc6983f9cff64ccd6ffecd632d4f43901b04f3c941894b71f8a8a45d6aa00ae411a27e123eaa205624347c211705894ce159f429fb38cb000833314ab77fae0841316aead953238845b14de7e789544d71e36ee6e2a94c28eeb8efb437372866924c0d439cc7ea379178a0bceeeeef344d9dbd5edd9e26e9e29a2889f882857764ad9f5bff9e5a07c9a8afe5288a904c4897996b213af15fae93bf75cf57dcb433500bd94a581452f97eac67c49db9e50fe477036278943bfc76f89487b40d1bb2bb10967c4c0159ed190123fd21c413b8fff1e272331a2dc55e3611572223469d941269ffb5a2f6c23fb03d4686351097fc8c264dc2c64a3f72514bca64b907d3d432b4cf1c97b67cb61d9e733d5bbfd847b872db3ff47ed1dd5da32ee0a86ccc04cfd014d5869ce082d0318a06379dbd2ac9d44998c9c5014f4cc3891f0a0a87307a1350ae43637d75259b0f445509666f106eca92fee2b3e334aa87b2626ce0511a9612ff46c44dec3a1a1c15043dc675b8c1b0649271252e3a6cd970ae52731adbca758ba9b3c3fb42d29552a8b49e2eacaa509a9089bc0cca7dd486e11c6732631e8c865fcc11611e98fcc6157453e619c0d3d789ec1212492d40374d4ec0817a8e7493e28bb14aafc4d34019019e9b7efeeb7417cbe30e16f5409c76254c8bc854d43942b051557539e8a5d8f60ae7a42084cdd19bad2146747b1a0eb0c2cb8ec6280acbeb7974bb4d4d38addd85933649a447226bb9e0e1ff1e4cabc419ed0fe7af050e3c112e74773e38c59906dfd383db9ce185b00430861afcb46dd1928f2c7be790bf86f32c5ea6a6d272f3dabc5970ad149d6948152297a2f6f5f0ee8bc19e29ce0fcee204a3a46b5486380863eff7b15da1ad10e698a27dd99c5518161f9f4cb984b93e0ae8e8116255efeab35beafe642ef5c35766d5e64b972b32cc32653ab67f1fb2fcd08d59eecdec18872f067cc48f0f223b7967d0633b766ebab3ade7b5c7ad19898ba10a1eeead7f6dbeaf27bae219f733bb06b8c4b98e9e43eb5df995b176ce8b63a9ac0320ad07bc47e8daa07558561ee47b2a76f088bda20dd01b7593c4a5cf4f8cc1b88a67592252e143d6da095d4447532d37503543924004d8e70e90b6fc5ec3562323cd48731ffd9e24d0515786a9645f5e227befb78298a0ae37e237caecfa0b81b53507fff0539c95af93baef4ea67d938cb83f47631f83acf02d317eef3f02e7b0df244f3bcb0108c1809d27f003bcd50e9ce1d3bf83e061fda982a32f211a5504d51192b9c6cd4c6cd98da4b7610909404e66029878119bc174e43118635cd9866a892f723f43
2
+ 92cf07ceb917ad540294807365700003
@@ -1,2 +1,2 @@
1
- 18d05a85f564151911a07aa4380fe75b8139a75f2ffec4ee20f153261d57e5c27cdc7b4536fa026e1f30edfbd9d432d3b28d03c124e6f0c4919c02af806cce877fb335ef8f6b16b689d67ca24ab35c1d24cfa2c6ff5bd7f679c86df386b8412c5e51bab66fac9f41802ca15bf07d146e4c59d1cfe77bd305c0bd6d6cef76d70d5226e1b293f198a1a5a7c457c4affadbf752ab8c4aa63869bd27e70db4fd9886136be17adeb2965ddc42de651adf2b743c7ca9d55742c3dff639fe000ca89702eba2ef990d78e4694536c5d4a79dd13cd993be6691602c509a01880156c631b63135b00fbe42ac243ef6f1405120005afb6f2443386f61e623c070ad199dfe237e5bd2a942565fb78ba73334b8b2d537d239f8dc3747e7400764a8de7218f981139bf574c12fca76bf0bc07a24effb73718553b16e535f5229ab22b3246594b7692c20510f99cb355f7d45e9c9363fa00b04d60f59619f8f6860dc89f2c9ad912a59b7fd1f823263188bf9b5140c3a120b6fd93f69a10ccab01e79be97f9207324f3e74c81a4de3c2315ac88ad5de1ee8ba54b987497689726645d78fdd6a024ba19b95fae34fc76a4889920815817fb92832d5ab9baa83d5b92051ca35b214e5bd939adebdffd28a28d9c6b440ab34b2fc66ccb570b2d28636775d5687d251bdccb330ed5be69b25594f30e792010b377dad1a46effd3ee936f122cc4f03fbe9ff624a313194037ab221745b263956ae6d8a065b36996e4d3aa4796d1da41e7b20e8004ef1c095c9ecc34f1e99f164e8afa43f2fc8d4761bf349a6b19083528c08281684d0a2bc148a03ef1c5f44cdb06525a2a9903d68d036f1f02fa6f22c24e6953bf30030c9507c7c9b25087bec010f9de6bf4099a792ab1edb3af66f6fa66283a5efc2edaa750c2a7b49d8e0f926de7f865389a0c9ee0f776d2484069cbd0bdcab5c766099e7c06bada5eb5f73156e136d176ab805637933757471f124e9ed5c8e7f6346b161e39b4c5a0f9343d18d0ba06cc70e1c348ff4d3af107935e8c851720d9193dcd8b0f50c0a1760c8ed9784f2663ed290dbc295597daae7c8625682097e321c7e07fb9cbdc71611f30d0e951f5b79e311ae098c693b742b70b9c2410bd954bdf3dd943deca7f281cf4e764ee2d3ebff529935f0a5be9bc97bf02752e296ca6c53f93c5262eae2cc2698da8e71f3e9b54a46c6a465abaf5cdb5e632200572b111b77da0571f2e4b9e0ea9c9881ace9a4f4d99e8741928348062ddae99341ed75edb6875e766f88ad13050ba15eda2dfb09edd95a2678d3b4bc698d9b94a7757a9e58c06ad6df7da213b8fff786588ed6264ce84421b27897cd4ed2b6b97bed76a43d803b6f5b2d3b4d4ce13088c1974968d9c8dce2f6b58d05f826a587da415e37f5a4cc978c2ffd52185c7cf2ba27425032e4cbdbb7de338ea690c5b144ce9515e3b6fd2dd0c757590e05f4de686ec8730a60e6d24562c02754d687508e340ae954c805258dccfaf9e781e320bf3f1c1419a0cc88b60353e5ed59cf20ec7a73ce5d62b28a252c94e81842dce9ad9640d2a8288d7afad5751549ee40f0c74202e13c4211b9dfb4e46a1bb90ece8a75acda114751e29320d27edc84e48955953963fcef12dd16c0b731d22e190dd2d368fb44c31ea191f691222271565bf68dc976e47d8edb607f67044798ed20a20f2f7cb36d9fc105fdec01a
2
- 0205a55f9ce1d9e068cd99e38b4ff533
1
+ a856eb0ca27954117c7c02aa391dcfdf33a8e81196f95030194c160521902735d9df10c3a6113ef748352369538b0f1cb15dd86e0704027b2f6bb7d2c94cee465e08ab0c2dab6647ddfe6ef65457a9d7a8548bf35804697a01b9c501957d0d265c56b7b1a8272db1f4284c23a9372a04bcba70785d1980dc8f3fa6bc22bbd357ffb1b701f7ae443a034bd936e64b35e283362d4483db2baf3aa59a9e97ea687f9f25b0f7a44eeb073309b2bd1433083e4070f5d2d03048efaf70390fedbed9954d2e5f37593bca9ca196672872074f8129d9bd64899c23f1f6d9b0c2dc703351b733f23c861e891da56502f3b6ca7099d0f78fdf9286a46a12e5adc76fdb8270a348488814da62b386d519189449d365b246d3bebe3a325dc68cf2426738c08bb73d292c842802281c736c92ed09d6572d12819d17681881163398437f6d314a159e61100647bbc5e520e2390b240f86c7e04f19623753457015c4c6f1f2dd85f5bdb37a6afe41a330aa257a6149db2173020b781b553a592fa854873cc71cbbf5c30d2b803d86f16a396cf29bd37e4b03d3ca102f7454d581227423d360ca9060b97df405d7be63a6d92f7e33054a28ec3eb246a06ad861678fef30552bb97f35240c74c3fb5d369a41b8dd7733d23d157684ea08b8a6a75e7913c0dca8803cafc579030553f080d16f99a823541425b092d35ad2f6e2b7f518cabc4477bf621a3f291fee27e4d23422acbeef85a2f4d05763a857d7a08e72f8de4e693d6334484dd0fc7d31ab27b4a89145c74bf5aa3f70f91b3f3c5fd36ae0c6032983e68f7416396abf28582657eed93fba4c59a5377abcdc03753a9bee72fcaa9f27bd13f463369169750bbf2e4d5cb9ce7645e75486d3e838fc30f1a34d82fe19aff14d42b03f259c7c9559d03d7e3758b0532a9da4d374251e79a15f11f4dbf80042a25124a9e75fdaa02117b1cf66b86d9370ec41134e66946db5e24876845075ab5073dac707ae3d10bd41003d58cb65867503a721e761096551c493c745037e22cdceb08c70f6d164aeb1df619fb85808a053c5fa135df3f6a6fd86dd554c9d0ade947140654d6f2a5e3fbb3aa9ff6bceda2c4fb26a7b134d3aaadcf3c4c8ff9357eb7b5263b03bef3f06c540aa0c72bde28b036418099d09288059a1f02cbbc1e9833891a0cc7bb710aec5ca7afd2a3cffeef58eec52781cc2df42306866fee75b27dbd2780c86b02bc6d026eae57f672ba8392aa8f14ae5a26912c968b51a57bc9c2e88b70af00f6ad569e5fb62d350a02fbce5255fa5ae7c7d6c6f2a5df0ae7203ebbcc5cffcaf2141b79e8674119e7cd09eb934b2c92bab8f05941c7b0358ea448c7bbf785110832999b45743491d5c93f7b8a1addb88af101558734aebd1e8ed52fc77743f8e8bcb3d360264a08ac290998f8cc7a9468ab7dd0aed94dda6716e60df31750b19b985ae7891fd16a21cbb5c69645c11674759e5ac115fc37b5fa269d82edf91a6f96e66208f9f61b4e3c776a7015c0890881a2ff3333d99be9b14e569c2bc67a44762492676e283309df28747ddab8bbb3e286d6abff6998a3b454c7c4f2886f8ef15b6d2ee4ff0e5e46d594559335489b90428c4bdc3b9cd62b2e1873eef0d72c712bd75d08992831971d87f11c0dbe0fd234ffeeb9f3a5a1423cde2620668e4d43de514924e8c1e0fda804a1409a2e4d467b1e1260c04a858
2
+ 8732a0eb1a2ef27fb54643b62364ba53
@@ -1,2 +1,2 @@
1
- dbd941ad3fbb7c99386eee6217ff8519
2
- cabc7699d4aa52af089998a2661b1370
1
+ 48cfc8b9ec02788d4c0c0a1138eb2d53
2
+ ed3b04ed1ac183f56c87af01ef7abcbf
package/dist/esm/main.js CHANGED
@@ -1 +1 @@
1
- import*as e from"node:path";import*as s from"node:os";import{execSync as t}from"node:child_process";import o from"node:fs";import*as i from"node:crypto";async function n(e){try{return await o.promises.access(e),!0}catch{return!1}}async function r(e,s){return await new Promise((s,t)=>{let i="";o.createReadStream(e,{highWaterMark:1048576,encoding:"utf8"}).on("error",e=>t(e)).on("data",e=>i+=e).on("end",()=>{s(i)})})}async function c(e,s,t){return await new Promise((t,i)=>{o.createWriteStream(e,{encoding:"utf8",highWaterMark:1048576}).on("error",e=>i(e)).on("finish",()=>t()).on("open",function(){this.write(s),this.end()})})}function a(e){const s=e.split(/\r\n|\n|\r/).filter(Boolean),t={data:s[0],iv:s[1]},{iv:o,data:n}=t,r=i.scryptSync("unique password","Just fuck me!",32),c=i.createDecipheriv("aes-256-cbc",r,Buffer.from(o,"hex"));let a=c.update(n,"hex","utf8");return a+=c.final("utf8"),a}function l(o="pnpm"){return{name:"vite-plugin-husky-helper",async configResolved(i){if("serve"!==i.command)return;if(!await n(e.resolve(process.cwd(),".git")))return;if(await async function(){return await n(e.resolve(process.cwd(),"./.husky"))}())return;const l=await r(e.resolve(process.cwd(),"./package.json")),p=["husky","lint-staged","commitizen","cz-vinyl","@commitlint/cli","@commitlint/config-conventional"],d=`${o} install ${p.join(" ")} -D`;try{if(t(`${d}`,{stdio:"inherit",cwd:process.cwd()}),!function(e,s){const t=e.map(e=>({key:e,regexp:new RegExp(`"devDependencies"\\s*:\\s*{\\s*([^}]*"(${e})"[^}]*)}`)}));for(const e of t){const{key:t,regexp:o}=e,i=o.exec(s);if(!i||i.length>=2&&i[2]!==t)return!1}return!0}(p,l))return;if(t("npx husky init",{stdio:"inherit",cwd:process.cwd()}),!await n(e.resolve(process.cwd(),"./.husky/pre-commit")))return;const o=await r(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/pre-commit")),i=await r(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/commit-msg")),u=await r(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/commitlint.config.js"));if(await c(e.resolve(process.cwd(),"./.husky/pre-commit"),a(o)),await c(e.resolve(process.cwd(),"./.husky/commit-msg"),a(i)),await c(e.resolve(process.cwd(),"./commitlint.config.js"),a(u)),await n(e.resolve(process.cwd(),"./eslint.config.ts"))){const s=await r(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/eslint.config.ts"));await c(e.resolve(process.cwd(),"./eslint.config.ts"),a(s))}if(await n(e.resolve(process.cwd(),"./.oxfmtrc.json"))){const s=await r(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/.oxfmtrc.json"));await c(e.resolve(process.cwd(),"./.oxfmtrc.json"),a(s))}const m=await r(e.resolve(process.cwd(),"./package.json")),w=new RegExp(/\}\s*\}(?=\s*$)/),f='},\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(!w.exec(m))return;await c(e.resolve(process.cwd(),"./.package.json"),m.replace(w,f));const h=await r(e.resolve(process.cwd(),"node_modules/vite-plugin-husky-helper/dist/esm/assets/czvinyl.config.ts"));await c(e.resolve(process.cwd(),"./czvinyl.config.ts"),a(h));const v=process.ppid;t('echo "vite-plugin-husky-helper executed successfully! The window will be closed soon."',{stdio:"inherit"}),"win32"===s.platform()?t(`taskkill /PID ${v} /F`,{stdio:"ignore"}):t(`kill -9 ${v}`,{stdio:"ignore"})}catch(e){throw new Error("vite-plugin-husky-helper 调用操作系统命令失败!")}}}}export{l as huskyHelper};
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/.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] 调用操作系统命令失败!")}}}}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.1",
3
+ "version": "0.0.3",
4
4
  "private": false,
5
5
  "description": "用于前端项目 git 规范配置的插件",
6
6
  "keywords": [