sitemills-cli 1.0.4 → 1.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/README.md +31 -37
- package/dist/sitemills.js +1 -1
- package/dist/updater.js +1 -1
- package/package.json +1 -1
package/dist/updater.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x330105=a0_0x32b7;(function(_0x5ab0ea,_0xf4f6b7){const _0x11f85a=a0_0x32b7,_0x223c17=_0x5ab0ea();while(!![]){try{const _0xbdaa55=-parseInt(_0x11f85a(0x14b))/0x1+parseInt(_0x11f85a(0x15b))/0x2+parseInt(_0x11f85a(0x148))/0x3+-parseInt(_0x11f85a(0x15f))/0x4*(parseInt(_0x11f85a(0x16a))/0x5)+parseInt(_0x11f85a(0x13f))/0x6*(-parseInt(_0x11f85a(0x169))/0x7)+-parseInt(_0x11f85a(0x171))/0x8*(-parseInt(_0x11f85a(0x177))/0x9)+-parseInt(_0x11f85a(0x164))/0xa*(-parseInt(_0x11f85a(0x173))/0xb);if(_0xbdaa55===_0xf4f6b7)break;else _0x223c17['push'](_0x223c17['shift']());}catch(_0x12f138){_0x223c17['push'](_0x223c17['shift']());}}}(a0_0x5216,0xd4fd4));const fs=require('fs'),path=require(a0_0x330105(0x136)),https=require(a0_0x330105(0x147)),http=require(a0_0x330105(0x152)),os=require('os'),{spawnSync}=require('child_process'),CLI_VERSION=a0_0x330105(0x1a1),REPO_OWNER=a0_0x330105(0x19e),REPO_NAME=a0_0x330105(0x140),CONFIG_DIR=path[a0_0x330105(0x14d)](os[a0_0x330105(0x159)](),a0_0x330105(0x182)),CACHE_FILE=path[a0_0x330105(0x14d)](CONFIG_DIR,a0_0x330105(0x176)),DEFAULT_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_TIMEOUT_MS=0x9c4;function isPkgBinary(){const _0x4f34fb=a0_0x330105;return typeof process[_0x4f34fb(0x135)]!=='undefined';}function getInstallChannel(){const _0xc397ff=a0_0x330105;if(isPkgBinary()){let _0x1f15a9=process[_0xc397ff(0x129)];try{_0x1f15a9=fs['realpathSync'](_0x1f15a9);}catch(_0x2707c5){}const _0x111882=_0x1f15a9['replace'](/\\/g,'/')[_0xc397ff(0x165)]();if(_0x111882[_0xc397ff(0x131)]('/cellar/')||_0x111882[_0xc397ff(0x131)](_0xc397ff(0x17f))||_0x111882[_0xc397ff(0x131)]('/linuxbrew/'))return _0xc397ff(0x178);if(_0x111882[_0xc397ff(0x131)](_0xc397ff(0x15d)))return _0xc397ff(0x174);return _0xc397ff(0x145);}const _0x5e5a2e=__filename[_0xc397ff(0x194)](/\\/g,'/');if(_0x5e5a2e['includes'](_0xc397ff(0x198)))return _0xc397ff(0x167);return _0xc397ff(0x181);}const UPGRADE_COMMANDS={'homebrew':a0_0x330105(0x134),'scoop':'scoop\x20update\x20sitemills-cli','npm':'npm\x20install\x20-g\x20sitemills-cli@latest','source':'git\x20pull\x20(maintainer\x20checkout)'};function getCliVersion(){return CLI_VERSION;}function isAppleSilicon(){const _0x218e0a=a0_0x330105;if(process[_0x218e0a(0x18f)]===_0x218e0a(0x150))return!![];try{return require('child_process')[_0x218e0a(0x180)]('sysctl',['-n',_0x218e0a(0x13d)],{'encoding':_0x218e0a(0x18a),'stdio':['ignore',_0x218e0a(0x1a0),'ignore']})[_0x218e0a(0x18e)]()==='1';}catch(_0x3e818e){return![];}}function getPlatformBinaryName(){const _0x3a4a61=a0_0x330105,_0x150b82=process[_0x3a4a61(0x15e)];if(_0x150b82==='linux')return _0x3a4a61(0x193);if(_0x150b82===_0x3a4a61(0x19f))return isAppleSilicon()?'sitemills-macos-arm64':_0x3a4a61(0x137);if(_0x150b82==='win32')return _0x3a4a61(0x179);return null;}function compareVersions(_0x510fbb,_0x9c5dfd){if(!_0x510fbb||!_0x9c5dfd)return 0x0;const _0x246778=_0x239b25=>{const _0x5ad781=a0_0x32b7,_0x460877=String(_0x239b25)[_0x5ad781(0x18e)]()[_0x5ad781(0x194)](/^v/,''),_0x45504a=_0x460877[_0x5ad781(0x155)]('-')[0x0]['split']('.')[_0x5ad781(0x12b)](_0xe8eefd=>parseInt(_0xe8eefd,0xa)||0x0);while(_0x45504a[_0x5ad781(0x168)]<0x3)_0x45504a[_0x5ad781(0x153)](0x0);return _0x45504a;},_0x92870b=_0x246778(_0x510fbb),_0x2292fc=_0x246778(_0x9c5dfd);for(let _0x28ed48=0x0;_0x28ed48<0x3;_0x28ed48++){if(_0x92870b[_0x28ed48]>_0x2292fc[_0x28ed48])return 0x1;if(_0x92870b[_0x28ed48]<_0x2292fc[_0x28ed48])return-0x1;}return 0x0;}function isNewerVersion(_0x5177f0,_0x150912=CLI_VERSION){return compareVersions(_0x5177f0,_0x150912)>0x0;}function makeHttpsGet(_0x4f31cb,_0x1f5667=DEFAULT_TIMEOUT_MS,_0x40ae31=0x5){return new Promise((_0x1a59ee,_0x2a7c89)=>{const _0x13e900=a0_0x32b7;if(_0x40ae31<=0x0)return _0x2a7c89(new Error(_0x13e900(0x195)));const _0x48ed70=_0x4f31cb['startsWith'](_0x13e900(0x14a))?http:https,_0x3f6ff4={'headers':{'User-Agent':_0x13e900(0x192)+CLI_VERSION+'\x20('+process['platform']+';\x20'+process[_0x13e900(0x18f)]+')','Accept':_0x13e900(0x185)}},_0x5976b6=_0x48ed70[_0x13e900(0x12e)](_0x4f31cb,_0x3f6ff4,_0x2b7485=>{const _0x1c5663=_0x13e900;if(_0x2b7485['statusCode']>=0x12c&&_0x2b7485[_0x1c5663(0x12c)]<0x190&&_0x2b7485[_0x1c5663(0x17d)]['location']){const _0x5f4cda=new URL(_0x2b7485[_0x1c5663(0x17d)]['location'],_0x4f31cb)[_0x1c5663(0x199)]();return makeHttpsGet(_0x5f4cda,_0x1f5667,_0x40ae31-0x1)['then'](_0x1a59ee)['catch'](_0x2a7c89);}if(_0x2b7485[_0x1c5663(0x12c)]!==0xc8)return _0x2b7485[_0x1c5663(0x141)](),_0x2a7c89(new Error(_0x1c5663(0x162)+_0x2b7485[_0x1c5663(0x12c)]));_0x1a59ee(_0x2b7485);});_0x5976b6['on']('error',_0x2a7c89),_0x5976b6[_0x13e900(0x142)](_0x1f5667,()=>{const _0x2d3d08=_0x13e900;_0x5976b6[_0x2d3d08(0x14f)](new Error(_0x2d3d08(0x183)+_0x1f5667+'ms'));});});}async function fetchJson(_0x3a0eb5,_0x430292=DEFAULT_TIMEOUT_MS){const _0x1fe351=a0_0x330105,_0x4bef8c=await makeHttpsGet(_0x3a0eb5,_0x430292);let _0x158f13='';for await(const _0xc58696 of _0x4bef8c){_0x158f13+=_0xc58696;}return JSON[_0x1fe351(0x16e)](_0x158f13);}function readUpdateCache(){const _0x230480=a0_0x330105;try{if(fs['existsSync'](CACHE_FILE)){const _0x5f1806=fs['readFileSync'](CACHE_FILE,_0x230480(0x18a));return JSON['parse'](_0x5f1806);}}catch(_0x2482c2){}return null;}function writeUpdateCache(_0x459e94){const _0x558c23=a0_0x330105;try{!fs[_0x558c23(0x184)](CONFIG_DIR)&&fs[_0x558c23(0x16f)](CONFIG_DIR,{'recursive':!![]}),fs[_0x558c23(0x189)](CACHE_FILE,JSON[_0x558c23(0x13e)](_0x459e94,null,0x2),_0x558c23(0x18a));}catch(_0x27a567){}}async function fetchLatestVersionInfo(_0x46a152=DEFAULT_TIMEOUT_MS){const _0x2b9d60=a0_0x330105,_0xeccab4=getPlatformBinaryName();if(!_0xeccab4)throw new Error(_0x2b9d60(0x132)+process['platform']);const _0x404634=_0x2b9d60(0x19c)+REPO_OWNER+'/'+REPO_NAME+_0x2b9d60(0x170),_0x14ad73=await fetchJson(_0x404634,_0x46a152),_0x438f88=_0x14ad73[_0x2b9d60(0x16b)];if(!_0x438f88)throw new Error(_0x2b9d60(0x196));const _0x4b28ee=_0x2b9d60(0x13b)+REPO_OWNER+'/'+REPO_NAME+'/releases/download/v'+_0x438f88+'/'+_0xeccab4,_0x413e52='https://github.com/'+REPO_OWNER+'/'+REPO_NAME+_0x2b9d60(0x17e)+_0xeccab4;return{'version':_0x438f88,'downloadUrl':_0x4b28ee,'fallbackDownloadUrl':_0x413e52,'binaryName':_0xeccab4};}function a0_0x32b7(_0x4492f9,_0x221026){_0x4492f9=_0x4492f9-0x129;const _0x521642=a0_0x5216();let _0x32b740=_0x521642[_0x4492f9];if(a0_0x32b7['wntxwl']===undefined){var _0x12e426=function(_0x490b61){const _0x1d4d35='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14c465='',_0x5e5a2e='';for(let _0x1f15a9=0x0,_0x111882,_0x2707c5,_0x3e818e=0x0;_0x2707c5=_0x490b61['charAt'](_0x3e818e++);~_0x2707c5&&(_0x111882=_0x1f15a9%0x4?_0x111882*0x40+_0x2707c5:_0x2707c5,_0x1f15a9++%0x4)?_0x14c465+=String['fromCharCode'](0xff&_0x111882>>(-0x2*_0x1f15a9&0x6)):0x0){_0x2707c5=_0x1d4d35['indexOf'](_0x2707c5);}for(let _0x150b82=0x0,_0x510fbb=_0x14c465['length'];_0x150b82<_0x510fbb;_0x150b82++){_0x5e5a2e+='%'+('00'+_0x14c465['charCodeAt'](_0x150b82)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e5a2e);};a0_0x32b7['gLgsEd']=_0x12e426,a0_0x32b7['TQSUek']={},a0_0x32b7['wntxwl']=!![];}const _0x271149=_0x521642[0x0];a0_0x32b7['lmSWZm']!==_0x271149&&(a0_0x32b7['TQSUek']={},a0_0x32b7['lmSWZm']=_0x271149);const _0x53189b=a0_0x32b7['TQSUek'][_0x4492f9];return _0x53189b===undefined?(_0x32b740=a0_0x32b7['gLgsEd'](_0x32b740),a0_0x32b7['TQSUek'][_0x4492f9]=_0x32b740):_0x32b740=_0x53189b,_0x32b740;}function a0_0x5216(){const _0x441814=['DMvYC2LVBG','Bgf0zxn0vMvYC2LVBG','4O+Zief1Dg8TDxbKyxrPBMCGyMLUyxj5lI4U','CgfYC2u','BwTKAxjtEw5J','l21HAw4VCgfJA2fNzs5QC29U','mtiYndCXmKXAr0HXCG','Aw5OzxjPDa','nZiYmZGXqvPYr1fm','C2nVB3a','zxHPDa','DxbKyxrLlwnHy2HLlMPZB24','ouztr0jIuq','Ag9TzwjYzxC','C2L0zw1PBgXZlxDPBI5LEgu','ugvYBwLZC2LVBIbKzw5PzwqUifLVDsbTyxKGBMvLzcb0BYbYDw4GDgHPCYbJB21Tyw5KihDPDgGGywrTAw5PC3rYyxrPDMuGlYbZDwrVihbYAxzPBgvNzxmU','CMvUyw1Lu3LUyW','lNvWzgf0zs0','AgvHzgvYCW','l3jLBgvHC2vZl2XHDgvZDc9KB3DUBg9Hzc8','l2HVBwvICMv3lW','zxHLy0zPBgvtEw5J','C291CMnL','lNnPDgvTAwXSCW','uMvXDwvZDcb0Aw1LzcbVDxqGywz0zxiG','zxHPC3rZu3LUyW','kI8Q','Dw5SAw5Ru3LUyW','y2XVC2u','w0rfqLvhxsbvCgrHDguGy2HLy2SGzMfPBgvKoIa','D3jPDgvgAwXLu3LUyW','DxrMoa','vxbKyxrLigf2ywLSywjSztOGDG','cVcFK6yGu2L0zu1PBgXZienmssb2','lM9Szc0','DhjPBq','yxjJAa','icHdDxjYzw50oIb2','yMLUyxj5tMfTzq','C2L0zw1PBgXZlwnSAs8','C2L0zw1PBgXZlwXPBNv4','CMvWBgfJzq','vg9Vig1HBNKGCMvKAxjLy3rZihDOAwXLigzLDgnOAw5NihvWzgf0zq','sw52ywXPzcb2zxjZAw9UihjLy2vPDMvKigzYB20GCMvTB3rLig1HBMLMzxn0','lIbeB3DUBg9HzgLUzYb1CgrHDguGzM9Yia','l25VzgvFBw9KDwXLCY8','Dg9tDhjPBMC','D2fYBG','ks4GvxbNCMfKzsb3AxrOoIa','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29TlW','BM93','u2L0zu1PBgXZ','zgfYD2LU','CgLWzq','ms4WlJq','q2HLy2TPBMCGzM9YihvWzgf0zxmUlI4','zxHLy1bHDgG','BgfZDenOzwnRzwq','BwfW','C3rHDhvZq29Kzq','y3jLyxrLv3jPDgvtDhjLyw0','z2v0','zxjYB3i','CMvZCgf3BG','Aw5JBhvKzxm','vw5ZDxbWB3j0zwqGCgXHDgzVCM06ia','zMLUAxnO','yNjLDYb1CgDYywrLihnPDgvTAwXSCY1JBgK','CgTN','Cgf0Aa','C2L0zw1PBgXZlw1Hy29Z','C3rHDhvZ','igLZigf2ywLSywjSzsaOy3vYCMvUDdOGDG','D2LUmZi','Ahr0Chm6lY9NAxrODwiUy29TlW','rvbfuK0','C3LZy3rSlNbYB2nFDhjHBNnSyxrLza','C3rYAw5NAwz5','nZi2BeHMueTv','C2L0zw1PBgXZlwnSAq','CMvZDw1L','C2v0vgLTzw91Da','C2XPy2u','BM9vCgrHDgu','yMLUyxj5','zg93BMXVywrvCMW','Ahr0Chm','mZaXnJKYt1ntAg1s','Bg9N','Ahr0CdOVlW','mtCYmtCYouHwBvHzyW','zM9Yy2u','AM9PBG','cLnvq0nfu1m6ifnPDgvnAwXSCYbdteKGDxbKyxrLzcbZDwnJzxnZzNvSBhKGDg8GDG','zgvZDhjVEq','yxjTnJq','yxjNDG','Ahr0Ca','ChvZAa','y29Kzq','C3bSAxq','lIbvCgDYywrLihDPDgG6ia','cVcFK6yGqsbUzxCGDMvYC2LVBIbVzIbtAxrLtwLSBhmGq0XjigLZigf2ywLSywjSztOGDG','y2HTB2rtEw5J','Ag9TzwrPCG','4PYfifn1y2nLC3nMDwXSEsb1CgrHDgvKifnPDgvnAwXSCYbdteKGDg8GDG','mZaXnZG2ognkuNvxuW','zMfSBgjHy2TeB3DUBg9HzfvYBa','l3nJB29Wl2fWChmV','CgXHDgzVCM0','ng93vhjPCq','C2L0zw1PBgXZlwnSAsb1CgrHDgu','BwvZC2fNzq','u2vYDMvYihjLC3bVBMrLzcb3AxrOihn0yxr1CYbJB2rLia','DMvYyM9Zzq','mZGWweLNtMLI','Dg9mB3DLCKnHC2u','u2L0zu1PBgXZienmssb2','BNbT','BgvUz3rO','mtq5mtDSuxPrD2C','nZaZmduWnwD3B1nVAq'];a0_0x5216=function(){return _0x441814;};return a0_0x5216();}async function downloadBinary(_0x3e2775,_0x431017,_0x5186c6,_0x2906f7=0xea60){let _0x52b96a;try{_0x52b96a=await makeHttpsGet(_0x3e2775,_0x2906f7);}catch(_0x56ddc0){if(_0x431017)_0x52b96a=await makeHttpsGet(_0x431017,_0x2906f7);else throw _0x56ddc0;}return new Promise((_0x20892d,_0x123c65)=>{const _0x10c473=a0_0x32b7,_0x136e4b=fs[_0x10c473(0x12d)](_0x5186c6);_0x52b96a[_0x10c473(0x1a0)](_0x136e4b),_0x136e4b['on'](_0x10c473(0x133),()=>{const _0xf8761e=_0x10c473;_0x136e4b[_0xf8761e(0x187)](()=>_0x20892d());}),_0x136e4b['on'](_0x10c473(0x12f),_0x453dfb=>{try{fs['unlinkSync'](_0x5186c6);}catch(_0x2c9d5b){}_0x123c65(_0x453dfb);});});}function replaceExecutable(_0x50de2f,_0x1c3c67){const _0x2d1beb=a0_0x330105;fs[_0x2d1beb(0x158)](_0x50de2f,0x1ed);if(process['platform']===_0x2d1beb(0x13a)){const _0x849783=_0x1c3c67+_0x2d1beb(0x18d)+Date[_0x2d1beb(0x19d)]();try{fs[_0x2d1beb(0x17b)](_0x1c3c67,_0x849783);}catch(_0x9fad12){}fs[_0x2d1beb(0x17b)](_0x50de2f,_0x1c3c67);try{fs[_0x2d1beb(0x186)](_0x849783);}catch(_0xc11fb4){}}else fs[_0x2d1beb(0x17b)](_0x50de2f,_0x1c3c67);}async function checkAndApplyUpdate(_0x10d86a={}){const _0x3622cf=a0_0x330105;if(_0x10d86a[_0x3622cf(0x144)]||process.env.SITEMILLS_NO_UPDATE==='1'||process.env.CI)return![];const _0x5078e1=getInstallChannel();if(_0x5078e1===_0x3622cf(0x181))return![];if(_0x5078e1!=='binary')return await notifyIfOutdated(_0x5078e1),![];const _0x2aa339=getPlatformBinaryName();if(!_0x2aa339)return![];const _0x333f24=Date[_0x3622cf(0x19d)](),_0x5c4699=readUpdateCache();if(!_0x10d86a[_0x3622cf(0x14c)]){if(_0x5c4699&&_0x5c4699['lastChecked']&&_0x333f24-_0x5c4699['lastChecked']<DEFAULT_CHECK_INTERVAL_MS){if(!_0x5c4699['latestVersion']||!isNewerVersion(_0x5c4699[_0x3622cf(0x16c)],CLI_VERSION))return![];}}try{const _0x411880=await fetchLatestVersionInfo(DEFAULT_TIMEOUT_MS);writeUpdateCache({'lastChecked':_0x333f24,'latestVersion':_0x411880['version']});if(!isNewerVersion(_0x411880['version'],CLI_VERSION))return![];console['log'](_0x3622cf(0x157)+_0x411880[_0x3622cf(0x16b)]+_0x3622cf(0x190)+CLI_VERSION+')'),console['log'](_0x3622cf(0x16d));const _0x3668a4=process[_0x3622cf(0x129)],_0x201547=_0x3668a4+_0x3622cf(0x17c)+Date[_0x3622cf(0x19d)]();await downloadBinary(_0x411880[_0x3622cf(0x146)],_0x411880['fallbackDownloadUrl'],_0x201547),replaceExecutable(_0x201547,_0x3668a4),console[_0x3622cf(0x149)](_0x3622cf(0x15a)+_0x411880[_0x3622cf(0x16b)]+'!\x0a');if(_0x10d86a[_0x3622cf(0x130)]!==![]){const _0x28575d=process[_0x3622cf(0x151)][_0x3622cf(0x143)](0x2),_0x3e5882=spawnSync(_0x3668a4,_0x28575d,{'stdio':_0x3622cf(0x172)});process['exit'](_0x3e5882[_0x3622cf(0x138)]!==null?_0x3e5882[_0x3622cf(0x138)]:0x0);}return!![];}catch(_0x4495aa){return(process.env.DEBUG||_0x10d86a[_0x3622cf(0x163)])&&console[_0x3622cf(0x19a)](_0x3622cf(0x188)+_0x4495aa['message']),![];}}async function notifyIfOutdated(_0x11c7dc){const _0x6b1427=a0_0x330105,_0x35ec10=Date[_0x6b1427(0x19d)](),_0x1a7873=readUpdateCache();let _0x49ac0a=_0x1a7873&&_0x1a7873[_0x6b1427(0x16c)];if(!_0x1a7873||!_0x1a7873['lastChecked']||_0x35ec10-_0x1a7873[_0x6b1427(0x12a)]>=DEFAULT_CHECK_INTERVAL_MS)try{const _0xe8533a=await fetchJson(_0x6b1427(0x19c)+REPO_OWNER+'/'+REPO_NAME+_0x6b1427(0x170),DEFAULT_TIMEOUT_MS);_0x49ac0a=_0xe8533a[_0x6b1427(0x16b)],writeUpdateCache({'lastChecked':_0x35ec10,'latestVersion':_0x49ac0a});}catch(_0x3ad180){process.env.DEBUG&&console[_0x6b1427(0x19a)](_0x6b1427(0x188)+_0x3ad180[_0x6b1427(0x161)]);return;}_0x49ac0a&&isNewerVersion(_0x49ac0a,CLI_VERSION)&&console[_0x6b1427(0x12f)](_0x6b1427(0x18c)+_0x49ac0a+_0x6b1427(0x139)+CLI_VERSION+_0x6b1427(0x19b)+UPGRADE_COMMANDS[_0x11c7dc]+'\x0a');}async function handleUpdateCommand(_0x58af54={}){const _0x5e2a0b=a0_0x330105;console[_0x5e2a0b(0x149)](_0x5e2a0b(0x166)+CLI_VERSION);const _0x35e182=getInstallChannel();if(_0x35e182!==_0x5e2a0b(0x145)){console[_0x5e2a0b(0x149)]('Installed\x20via\x20'+_0x35e182+_0x5e2a0b(0x156)+UPGRADE_COMMANDS[_0x35e182]);return;}console[_0x5e2a0b(0x149)](_0x5e2a0b(0x1a2));try{const _0x35a685=await fetchLatestVersionInfo(0x2710);if(!isNewerVersion(_0x35a685[_0x5e2a0b(0x16b)],CLI_VERSION)){console[_0x5e2a0b(0x149)]('\x0aSiteMills\x20CLI\x20is\x20already\x20up\x20to\x20date\x20(v'+CLI_VERSION+').'),writeUpdateCache({'lastChecked':Date[_0x5e2a0b(0x19d)](),'latestVersion':_0x35a685['version']});return;}console[_0x5e2a0b(0x149)]('Found\x20newer\x20version:\x20v'+_0x35a685['version']+_0x5e2a0b(0x197)+_0x35a685[_0x5e2a0b(0x191)]+'...');const _0x522ed9=process[_0x5e2a0b(0x129)],_0x5dc156=_0x522ed9+'.update-'+Date[_0x5e2a0b(0x19d)]();await downloadBinary(_0x35a685['downloadUrl'],_0x35a685[_0x5e2a0b(0x15c)],_0x5dc156,0x1d4c0),replaceExecutable(_0x5dc156,_0x522ed9),writeUpdateCache({'lastChecked':Date[_0x5e2a0b(0x19d)](),'latestVersion':_0x35a685[_0x5e2a0b(0x16b)]}),console['log'](_0x5e2a0b(0x14e)+_0x35a685[_0x5e2a0b(0x16b)]+'!');}catch(_0x4d4db4){console[_0x5e2a0b(0x12f)]('\x0aERROR:\x20Failed\x20to\x20update\x20CLI:\x20'+_0x4d4db4[_0x5e2a0b(0x161)]),(_0x4d4db4['code']==='EACCES'||_0x4d4db4[_0x5e2a0b(0x154)]===_0x5e2a0b(0x13c))&&console[_0x5e2a0b(0x12f)](_0x5e2a0b(0x17a)),process[_0x5e2a0b(0x175)](0x1);}}async function handleVersionCommand(){const _0x523454=a0_0x330105,_0x21687b=getInstallChannel();console[_0x523454(0x149)]('sitemills-cli\x20v'+CLI_VERSION+'\x20('+process[_0x523454(0x15e)]+'-'+process[_0x523454(0x18f)]+',\x20'+_0x21687b+')');try{const _0x208655=await fetchJson('https://raw.githubusercontent.com/'+REPO_OWNER+'/'+REPO_NAME+_0x523454(0x170),DEFAULT_TIMEOUT_MS);if(isNewerVersion(_0x208655[_0x523454(0x16b)],CLI_VERSION)){const _0x544267=_0x21687b===_0x523454(0x145)?_0x523454(0x160):UPGRADE_COMMANDS[_0x21687b];console['log'](_0x523454(0x18b)+_0x208655[_0x523454(0x16b)]+_0x523454(0x156)+_0x544267);}}catch(_0x40e7c2){}}module['exports']={'CLI_VERSION':CLI_VERSION,'isPkgBinary':isPkgBinary,'getInstallChannel':getInstallChannel,'getCliVersion':getCliVersion,'getPlatformBinaryName':getPlatformBinaryName,'compareVersions':compareVersions,'isNewerVersion':isNewerVersion,'fetchLatestVersionInfo':fetchLatestVersionInfo,'downloadBinary':downloadBinary,'replaceExecutable':replaceExecutable,'checkAndApplyUpdate':checkAndApplyUpdate,'handleUpdateCommand':handleUpdateCommand,'handleVersionCommand':handleVersionCommand};
|
|
1
|
+
const a0_0x3e888a=a0_0x2928;(function(_0x4f2a37,_0x10bd28){const _0x59bb72=a0_0x2928,_0x57cb6d=_0x4f2a37();while(!![]){try{const _0x705aea=-parseInt(_0x59bb72(0x111))/0x1+-parseInt(_0x59bb72(0x141))/0x2+parseInt(_0x59bb72(0x155))/0x3+parseInt(_0x59bb72(0x15e))/0x4*(parseInt(_0x59bb72(0xfb))/0x5)+-parseInt(_0x59bb72(0x156))/0x6*(parseInt(_0x59bb72(0x147))/0x7)+-parseInt(_0x59bb72(0x10c))/0x8+parseInt(_0x59bb72(0x157))/0x9*(parseInt(_0x59bb72(0x12f))/0xa);if(_0x705aea===_0x10bd28)break;else _0x57cb6d['push'](_0x57cb6d['shift']());}catch(_0x53a679){_0x57cb6d['push'](_0x57cb6d['shift']());}}}(a0_0x2402,0xe1849));const fs=require('fs'),path=require(a0_0x3e888a(0x10d)),https=require(a0_0x3e888a(0xfd)),http=require(a0_0x3e888a(0x135)),os=require('os'),{spawnSync}=require(a0_0x3e888a(0xfe)),CLI_VERSION='1.0.5',REPO_OWNER='SiteMills',REPO_NAME='sitemills-cli',CONFIG_DIR=path[a0_0x3e888a(0x151)](os[a0_0x3e888a(0x123)](),a0_0x3e888a(0x165)),CACHE_FILE=path[a0_0x3e888a(0x151)](CONFIG_DIR,a0_0x3e888a(0x13c)),DEFAULT_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_TIMEOUT_MS=0x9c4;function isPkgBinary(){const _0x53d2c8=a0_0x3e888a;return typeof process['pkg']!==_0x53d2c8(0x121);}function getInstallChannel(){const _0x380081=a0_0x3e888a;if(isPkgBinary()){let _0x297e4f=process[_0x380081(0x108)];try{_0x297e4f=fs[_0x380081(0x139)](_0x297e4f);}catch(_0x36a9f7){}const _0x208963=_0x297e4f[_0x380081(0x11a)](/\\/g,'/')[_0x380081(0x15b)]();if(_0x208963[_0x380081(0x131)](_0x380081(0x100))||_0x208963[_0x380081(0x131)]('/homebrew/')||_0x208963[_0x380081(0x131)]('/linuxbrew/'))return _0x380081(0x145);if(_0x208963[_0x380081(0x131)]('/scoop/apps/'))return'scoop';return _0x380081(0xff);}const _0x1f952a=__filename[_0x380081(0x11a)](/\\/g,'/');if(_0x1f952a['includes'](_0x380081(0x132)))return'npm';return _0x380081(0x138);}function a0_0x2928(_0x1d98b7,_0x1d59fc){_0x1d98b7=_0x1d98b7-0xf4;const _0x2402a3=a0_0x2402();let _0x29281f=_0x2402a3[_0x1d98b7];if(a0_0x2928['KfEcrx']===undefined){var _0x5a1f0b=function(_0x1770f8){const _0x56d87b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x316118='',_0x1f952a='';for(let _0x297e4f=0x0,_0x208963,_0x36a9f7,_0x34f716=0x0;_0x36a9f7=_0x1770f8['charAt'](_0x34f716++);~_0x36a9f7&&(_0x208963=_0x297e4f%0x4?_0x208963*0x40+_0x36a9f7:_0x36a9f7,_0x297e4f++%0x4)?_0x316118+=String['fromCharCode'](0xff&_0x208963>>(-0x2*_0x297e4f&0x6)):0x0){_0x36a9f7=_0x56d87b['indexOf'](_0x36a9f7);}for(let _0x556720=0x0,_0x1e3b88=_0x316118['length'];_0x556720<_0x1e3b88;_0x556720++){_0x1f952a+='%'+('00'+_0x316118['charCodeAt'](_0x556720)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f952a);};a0_0x2928['EeUyrm']=_0x5a1f0b,a0_0x2928['IrbWMw']={},a0_0x2928['KfEcrx']=!![];}const _0x580cfb=_0x2402a3[0x0];a0_0x2928['LBkJje']!==_0x580cfb&&(a0_0x2928['IrbWMw']={},a0_0x2928['LBkJje']=_0x580cfb);const _0x50af96=a0_0x2928['IrbWMw'][_0x1d98b7];return _0x50af96===undefined?(_0x29281f=a0_0x2928['EeUyrm'](_0x29281f),a0_0x2928['IrbWMw'][_0x1d98b7]=_0x29281f):_0x29281f=_0x50af96,_0x29281f;}const UPGRADE_COMMANDS={'homebrew':a0_0x3e888a(0xfc),'scoop':'scoop\x20update\x20sitemills-cli','npm':a0_0x3e888a(0x163),'source':'git\x20pull\x20(maintainer\x20checkout)'};function getCliVersion(){return CLI_VERSION;}function isAppleSilicon(){const _0x48c7f6=a0_0x3e888a;if(process[_0x48c7f6(0x102)]==='arm64')return!![];try{return require(_0x48c7f6(0xfe))['execFileSync'](_0x48c7f6(0x12d),['-n',_0x48c7f6(0x113)],{'encoding':_0x48c7f6(0x11e),'stdio':[_0x48c7f6(0x13e),_0x48c7f6(0x119),_0x48c7f6(0x13e)]})[_0x48c7f6(0x112)]()==='1';}catch(_0x34f716){return![];}}function getPlatformBinaryName(){const _0x4977fe=a0_0x3e888a,_0x556720=process[_0x4977fe(0x104)];if(_0x556720===_0x4977fe(0x115))return _0x4977fe(0x158);if(_0x556720===_0x4977fe(0x117))return isAppleSilicon()?_0x4977fe(0xf9):_0x4977fe(0x152);if(_0x556720===_0x4977fe(0x137))return _0x4977fe(0x124);return null;}function compareVersions(_0x1e3b88,_0x4b5d35){if(!_0x1e3b88||!_0x4b5d35)return 0x0;const _0x4d7097=_0x4f68c5=>{const _0x2688b1=a0_0x2928,_0x319b7a=String(_0x4f68c5)[_0x2688b1(0x112)]()[_0x2688b1(0x11a)](/^v/,''),_0x10b88d=_0x319b7a['split']('-')[0x0][_0x2688b1(0x14b)]('.')[_0x2688b1(0x13f)](_0x142fb6=>parseInt(_0x142fb6,0xa)||0x0);while(_0x10b88d['length']<0x3)_0x10b88d[_0x2688b1(0x10a)](0x0);return _0x10b88d;},_0x119687=_0x4d7097(_0x1e3b88),_0x5ec6c1=_0x4d7097(_0x4b5d35);for(let _0x21e0b0=0x0;_0x21e0b0<0x3;_0x21e0b0++){if(_0x119687[_0x21e0b0]>_0x5ec6c1[_0x21e0b0])return 0x1;if(_0x119687[_0x21e0b0]<_0x5ec6c1[_0x21e0b0])return-0x1;}return 0x0;}function isNewerVersion(_0x4219de,_0xfb1868=CLI_VERSION){return compareVersions(_0x4219de,_0xfb1868)>0x0;}function makeHttpsGet(_0x27f568,_0x3d8310=DEFAULT_TIMEOUT_MS,_0x29cff4=0x5){return new Promise((_0x4af156,_0x37d522)=>{const _0x5d1c45=a0_0x2928;if(_0x29cff4<=0x0)return _0x37d522(new Error(_0x5d1c45(0x11d)));const _0x4617b6=_0x27f568[_0x5d1c45(0x110)](_0x5d1c45(0x127))?http:https,_0x4a3215={'headers':{'User-Agent':_0x5d1c45(0x144)+CLI_VERSION+'\x20('+process['platform']+';\x20'+process[_0x5d1c45(0x102)]+')','Accept':_0x5d1c45(0x15f)}},_0x22858c=_0x4617b6[_0x5d1c45(0x12a)](_0x27f568,_0x4a3215,_0x1d8134=>{const _0x4cfad9=_0x5d1c45;if(_0x1d8134[_0x4cfad9(0x136)]>=0x12c&&_0x1d8134[_0x4cfad9(0x136)]<0x190&&_0x1d8134[_0x4cfad9(0x15d)][_0x4cfad9(0x10e)]){const _0x5ee5b5=new URL(_0x1d8134[_0x4cfad9(0x15d)][_0x4cfad9(0x10e)],_0x27f568)[_0x4cfad9(0x154)]();return makeHttpsGet(_0x5ee5b5,_0x3d8310,_0x29cff4-0x1)['then'](_0x4af156)[_0x4cfad9(0x142)](_0x37d522);}if(_0x1d8134[_0x4cfad9(0x136)]!==0xc8)return _0x1d8134[_0x4cfad9(0x153)](),_0x37d522(new Error('Server\x20responded\x20with\x20status\x20code\x20'+_0x1d8134[_0x4cfad9(0x136)]));_0x4af156(_0x1d8134);});_0x22858c['on'](_0x5d1c45(0x143),_0x37d522),_0x22858c[_0x5d1c45(0x125)](_0x3d8310,()=>{_0x22858c['destroy'](new Error('Request\x20timed\x20out\x20after\x20'+_0x3d8310+'ms'));});});}async function fetchJson(_0x21258e,_0x4fc852=DEFAULT_TIMEOUT_MS){const _0x4022c0=a0_0x3e888a,_0x11f2d0=await makeHttpsGet(_0x21258e,_0x4fc852);let _0x562517='';for await(const _0x22a7c5 of _0x11f2d0){_0x562517+=_0x22a7c5;}return JSON[_0x4022c0(0x10f)](_0x562517);}function readUpdateCache(){const _0x4e9a2f=a0_0x3e888a;try{if(fs[_0x4e9a2f(0x13a)](CACHE_FILE)){const _0x281226=fs[_0x4e9a2f(0xf4)](CACHE_FILE,_0x4e9a2f(0x11e));return JSON[_0x4e9a2f(0x10f)](_0x281226);}}catch(_0x537fd6){}return null;}function writeUpdateCache(_0x27d9bf){const _0x48b753=a0_0x3e888a;try{!fs[_0x48b753(0x13a)](CONFIG_DIR)&&fs['mkdirSync'](CONFIG_DIR,{'recursive':!![]}),fs[_0x48b753(0x13b)](CACHE_FILE,JSON[_0x48b753(0x15a)](_0x27d9bf,null,0x2),_0x48b753(0x11e));}catch(_0x4d871d){}}async function fetchLatestVersionInfo(_0x591df4=DEFAULT_TIMEOUT_MS){const _0x4561c6=a0_0x3e888a,_0x255989=getPlatformBinaryName();if(!_0x255989)throw new Error(_0x4561c6(0x126)+process[_0x4561c6(0x104)]);const _0x28dce1='https://raw.githubusercontent.com/'+REPO_OWNER+'/'+REPO_NAME+_0x4561c6(0x109),_0x4561ed=await fetchJson(_0x28dce1,_0x591df4),_0x3e1ef3=_0x4561ed[_0x4561c6(0x14f)];if(!_0x3e1ef3)throw new Error('Invalid\x20version\x20received\x20from\x20remote\x20manifest');const _0x432c31=_0x4561c6(0x134)+REPO_OWNER+'/'+REPO_NAME+'/releases/download/v'+_0x3e1ef3+'/'+_0x255989,_0x40ca05=_0x4561c6(0x134)+REPO_OWNER+'/'+REPO_NAME+_0x4561c6(0x14a)+_0x255989;return{'version':_0x3e1ef3,'downloadUrl':_0x432c31,'fallbackDownloadUrl':_0x40ca05,'binaryName':_0x255989};}function a0_0x2402(){const _0x3f876b=['C2L0zw1PBgXZlw1Hy29Z','CMvZDw1L','Dg9tDhjPBMC','mZyWmZaXnvjVBezita','nNLQDfHivq','mJe1mZDdELrSEuW','C2L0zw1PBgXZlwXPBNv4','vxbKyxrLigf2ywLSywjSztOGDG','C3rYAw5NAwz5','Dg9mB3DLCKnHC2u','DMvYyM9Zzq','AgvHzgvYCW','mJq4odC2seDoEfft','kI8Q','zxHWB3j0CW','lNvWzgf0zs0','C2XPy2u','BNbTigLUC3rHBgWGlwCGC2L0zw1PBgXZlwnSAubSyxrLC3q','lIbeB3DUBg9HzgLUzYb1CgrHDguGzM9Yia','lNnPDgvTAwXSCW','CMvHzezPBgvtEw5J','Dw5SAw5Ru3LUyW','zxHPDa','BM93','C3rHDhvZ','C2L0zw1PBgXZlw1Hy29ZlwfYBty0','igLZigf2ywLSywjSzsaOy3vYCMvUDdOGDG','mte1DMryC2XZ','yNjLDYb1CgDYywrLihnPDgvTAwXSCY1JBgK','Ahr0Chm','y2HPBgrFChjVy2vZCW','yMLUyxj5','l2nLBgXHCI8','BgfZDenOzwnRzwq','yxjJAa','CMvUyw1Lu3LUyW','CgXHDgzVCM0','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29TlW','ks4GvxbNCMfKzsb3AxrOoIa','icHdDxjYzw50oIb2','zxHLy1bHDgG','l21HAw4VCgfJA2fNzs5QC29U','ChvZAa','Aw5OzxjPDa','ntCXnJmYmfzZzgzYrW','Cgf0Aa','Bg9JyxrPB24','CgfYC2u','C3rHCNrZv2L0Aa','mty0ndCZm0DdEKXssW','DhjPBq','C3LZy3rSlNbYB2nFDhjHBNnSyxrLza','cLnPDgvnAwXSCYbdteKGAxmGywXYzwfKEsb1Ccb0BYbKyxrLicH2','BgLUDxG','cVcFK6yGu2L0zu1PBgXZienmssb2','zgfYD2LU','y3jLyxrLv3jPDgvtDhjLyw0','CgLWzq','CMvWBgfJzq','zM9Yy2u','ugvYBwLZC2LVBIbKzw5PzwqUifLVDsbTyxKGBMvLzcb0BYbYDw4GDgHPCYbJB21Tyw5KihDPDgGGywrTAw5PC3rYyxrPDMuGlYbZDwrVihbYAxzPBgvNzxmU','vg9Vig1HBNKGCMvKAxjLy3rZihDOAwXLigzLDgnOAw5NihvWzgf0zq','DxrMoa','sw5ZDgfSBgvKihzPysa','rufdq0vt','Dw5KzwzPBMvK','y29Kzq','Ag9TzwrPCG','C2L0zw1PBgXZlxDPBI5LEgu','C2v0vgLTzw91Da','vw5ZDxbWB3j0zwqGCgXHDgzVCM06ia','Ahr0CdOVlW','BwvZC2fNzq','Bgf0zxn0vMvYC2LVBG','z2v0','Bg9N','4O+Zief1Dg8TDxbKyxrPBMCGyMLUyxj5lI4U','C3LZy3rS','cVcFK6yGqsbUzxCGDMvYC2LVBIbVzIbtAxrLtwLSBhmGq0XjigLZigf2ywLSywjSztOGDG','ote1meHctNfOBq','BM9vCgrHDgu','Aw5JBhvKzxm','l25VzgvFBw9KDwXLCY8','lIbvCgDYywrLihDPDgG6ia','Ahr0Chm6lY9NAxrODwiUy29TlW','Ahr0Ca','C3rHDhvZq29Kzq','D2LUmZi','C291CMnL','CMvHBhbHDgHtEw5J','zxHPC3rZu3LUyW','D3jPDgvgAwXLu3LUyW','DxbKyxrLlwnHy2HLlMPZB24','D2fYBG','AwDUB3jL','BwfW','lI4U','mtG5mtC2oeXLAg9RBG','y2f0y2G','zxjYB3i','C2L0zw1PBgXZlwnSAs8','Ag9TzwjYzxC','zg93BMXVywrvCMW','nde0otmXm0P1Dxz5sW','yxjNDG','q2HLy2TPBMCGzM9YihvWzgf0zxmUlI4','l3jLBgvHC2vZl2XHDgvZDc9KB3DUBg9Hzc8','C3bSAxq','zMfSBgjHy2TeB3DUBg9HzfvYBa','rvbfuK0','w0rfqLvhxsbvCgrHDguGy2HLy2SGzMfPBgvKoIa','DMvYC2LVBG','C2L0zw1PBgXZlwnSAsb1CgrHDgu','AM9PBG'];a0_0x2402=function(){return _0x3f876b;};return a0_0x2402();}async function downloadBinary(_0x2c17e4,_0xc45c59,_0x3c3d11,_0x1dfcea=0xea60){let _0x2ee3c2;try{_0x2ee3c2=await makeHttpsGet(_0x2c17e4,_0x1dfcea);}catch(_0x2c5667){if(_0xc45c59)_0x2ee3c2=await makeHttpsGet(_0xc45c59,_0x1dfcea);else throw _0x2c5667;}return new Promise((_0x5673d6,_0x244fd9)=>{const _0x5b507d=a0_0x2928,_0x2ea853=fs[_0x5b507d(0x118)](_0x3c3d11);_0x2ee3c2['pipe'](_0x2ea853),_0x2ea853['on']('finish',()=>{_0x2ea853['close'](()=>_0x5673d6());}),_0x2ea853['on']('error',_0x4f5e9c=>{const _0x1c1fee=_0x5b507d;try{fs[_0x1c1fee(0xf5)](_0x3c3d11);}catch(_0x3a1c9f){}_0x244fd9(_0x4f5e9c);});});}function replaceExecutable(_0x413902,_0x53b4cc){const _0x1a6953=a0_0x3e888a;fs['chmodSync'](_0x413902,0x1ed);if(process[_0x1a6953(0x104)]==='win32'){const _0x54d9b7=_0x53b4cc+'.old-'+Date[_0x1a6953(0xf7)]();try{fs[_0x1a6953(0x103)](_0x53b4cc,_0x54d9b7);}catch(_0x3f71e0){}fs[_0x1a6953(0x103)](_0x413902,_0x53b4cc);try{fs[_0x1a6953(0xf5)](_0x54d9b7);}catch(_0x295ef6){}}else fs[_0x1a6953(0x103)](_0x413902,_0x53b4cc);}async function checkAndApplyUpdate(_0x3b0af8={}){const _0x272320=a0_0x3e888a;if(_0x3b0af8[_0x272320(0x130)]||process.env.SITEMILLS_NO_UPDATE==='1'||process.env.CI)return![];const _0x5d8846=getInstallChannel();if(_0x5d8846===_0x272320(0x138))return![];if(_0x5d8846!==_0x272320(0xff))return await notifyIfOutdated(_0x5d8846),![];const _0x42d574=getPlatformBinaryName();if(!_0x42d574)return![];const _0x186168=Date[_0x272320(0xf7)](),_0x3be455=readUpdateCache();if(!_0x3b0af8[_0x272320(0x11b)]){if(_0x3be455&&_0x3be455['lastChecked']&&_0x186168-_0x3be455[_0x272320(0x101)]<DEFAULT_CHECK_INTERVAL_MS){if(!_0x3be455[_0x272320(0x129)]||!isNewerVersion(_0x3be455[_0x272320(0x129)],CLI_VERSION))return![];}}try{const _0x20e4e6=await fetchLatestVersionInfo(DEFAULT_TIMEOUT_MS);writeUpdateCache({'lastChecked':_0x186168,'latestVersion':_0x20e4e6[_0x272320(0x14f)]});if(!isNewerVersion(_0x20e4e6[_0x272320(0x14f)],CLI_VERSION))return![];console[_0x272320(0x12b)](_0x272320(0x12e)+_0x20e4e6[_0x272320(0x14f)]+_0x272320(0x107)+CLI_VERSION+')'),console[_0x272320(0x12b)](_0x272320(0x12c));const _0x29f1dd=process[_0x272320(0x108)],_0x4514a4=_0x29f1dd+_0x272320(0x161)+Date[_0x272320(0xf7)]();await downloadBinary(_0x20e4e6[_0x272320(0x146)],_0x20e4e6['fallbackDownloadUrl'],_0x4514a4),replaceExecutable(_0x4514a4,_0x29f1dd),console['log']('✅\x20Successfully\x20updated\x20SiteMills\x20CLI\x20to\x20v'+_0x20e4e6[_0x272320(0x14f)]+'!\x0a');if(_0x3b0af8['respawn']!==![]){const _0x1d8b94=process[_0x272320(0x148)][_0x272320(0x162)](0x2),_0xb52937=spawnSync(_0x29f1dd,_0x1d8b94,{'stdio':_0x272320(0x10b)});process[_0x272320(0xf6)](_0xb52937['status']!==null?_0xb52937[_0x272320(0xf8)]:0x0);}return!![];}catch(_0x2566b9){return(process.env.DEBUG||_0x3b0af8[_0x272320(0x15c)])&&console[_0x272320(0x13d)](_0x272320(0x14e)+_0x2566b9[_0x272320(0x128)]),![];}}async function notifyIfOutdated(_0x413d49){const _0x45c1d2=a0_0x3e888a,_0x46bb3a=Date['now'](),_0x1e9b46=readUpdateCache();let _0x51bcbe=_0x1e9b46&&_0x1e9b46[_0x45c1d2(0x129)];if(!_0x1e9b46||!_0x1e9b46[_0x45c1d2(0x101)]||_0x46bb3a-_0x1e9b46[_0x45c1d2(0x101)]>=DEFAULT_CHECK_INTERVAL_MS)try{const _0x4b0b59=await fetchJson(_0x45c1d2(0x105)+REPO_OWNER+'/'+REPO_NAME+'/main/package.json',DEFAULT_TIMEOUT_MS);_0x51bcbe=_0x4b0b59[_0x45c1d2(0x14f)],writeUpdateCache({'lastChecked':_0x46bb3a,'latestVersion':_0x51bcbe});}catch(_0x34f0f7){process.env.DEBUG&&console[_0x45c1d2(0x13d)](_0x45c1d2(0x14e)+_0x34f0f7[_0x45c1d2(0x128)]);return;}_0x51bcbe&&isNewerVersion(_0x51bcbe,CLI_VERSION)&&console[_0x45c1d2(0x143)](_0x45c1d2(0x116)+_0x51bcbe+_0x45c1d2(0xfa)+CLI_VERSION+_0x45c1d2(0x106)+UPGRADE_COMMANDS[_0x413d49]+'\x0a');}async function handleUpdateCommand(_0x3fa8c7={}){const _0x54544f=a0_0x3e888a;console[_0x54544f(0x12b)]('SiteMills\x20CLI\x20v'+CLI_VERSION);const _0x234941=getInstallChannel();if(_0x234941!==_0x54544f(0xff)){console['log'](_0x54544f(0x11f)+_0x234941+_0x54544f(0x133)+UPGRADE_COMMANDS[_0x234941]);return;}console['log'](_0x54544f(0x149));try{const _0x443d9d=await fetchLatestVersionInfo(0x2710);if(!isNewerVersion(_0x443d9d['version'],CLI_VERSION)){console[_0x54544f(0x12b)](_0x54544f(0x114)+CLI_VERSION+').'),writeUpdateCache({'lastChecked':Date[_0x54544f(0xf7)](),'latestVersion':_0x443d9d[_0x54544f(0x14f)]});return;}console[_0x54544f(0x12b)]('Found\x20newer\x20version:\x20v'+_0x443d9d[_0x54544f(0x14f)]+_0x54544f(0x164)+_0x443d9d['binaryName']+_0x54544f(0x140));const _0x3bc8d8=process[_0x54544f(0x108)],_0x3ec461=_0x3bc8d8+_0x54544f(0x161)+Date[_0x54544f(0xf7)]();await downloadBinary(_0x443d9d[_0x54544f(0x146)],_0x443d9d[_0x54544f(0x14c)],_0x3ec461,0x1d4c0),replaceExecutable(_0x3ec461,_0x3bc8d8),writeUpdateCache({'lastChecked':Date[_0x54544f(0xf7)](),'latestVersion':_0x443d9d['version']}),console[_0x54544f(0x12b)]('\x0aSUCCESS:\x20SiteMills\x20CLI\x20updated\x20successfully\x20to\x20v'+_0x443d9d[_0x54544f(0x14f)]+'!');}catch(_0x11ec5a){console['error']('\x0aERROR:\x20Failed\x20to\x20update\x20CLI:\x20'+_0x11ec5a[_0x54544f(0x128)]),(_0x11ec5a[_0x54544f(0x122)]===_0x54544f(0x120)||_0x11ec5a['code']===_0x54544f(0x14d))&&console[_0x54544f(0x143)](_0x54544f(0x11c)),process[_0x54544f(0xf6)](0x1);}}async function handleVersionCommand(){const _0x217950=a0_0x3e888a,_0x397ac4=getInstallChannel();console[_0x217950(0x12b)]('sitemills-cli\x20v'+CLI_VERSION+'\x20('+process[_0x217950(0x104)]+'-'+process[_0x217950(0x102)]+',\x20'+_0x397ac4+')');try{const _0x22c38f=await fetchJson('https://raw.githubusercontent.com/'+REPO_OWNER+'/'+REPO_NAME+_0x217950(0x109),DEFAULT_TIMEOUT_MS);if(isNewerVersion(_0x22c38f['version'],CLI_VERSION)){const _0x238147=_0x397ac4===_0x217950(0xff)?_0x217950(0x150):UPGRADE_COMMANDS[_0x397ac4];console[_0x217950(0x12b)](_0x217950(0x159)+_0x22c38f['version']+_0x217950(0x133)+_0x238147);}}catch(_0x2994bb){}}module[a0_0x3e888a(0x160)]={'CLI_VERSION':CLI_VERSION,'isPkgBinary':isPkgBinary,'getInstallChannel':getInstallChannel,'getCliVersion':getCliVersion,'getPlatformBinaryName':getPlatformBinaryName,'compareVersions':compareVersions,'isNewerVersion':isNewerVersion,'fetchLatestVersionInfo':fetchLatestVersionInfo,'downloadBinary':downloadBinary,'replaceExecutable':replaceExecutable,'checkAndApplyUpdate':checkAndApplyUpdate,'handleUpdateCommand':handleUpdateCommand,'handleVersionCommand':handleVersionCommand};
|