sitemills-cli 1.0.12 → 1.0.13

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/updater.js CHANGED
@@ -1 +1 @@
1
- const a0_0x5d28bb=a0_0x26f8;(function(_0x25af6b,_0x257a8d){const _0xc80c4b=a0_0x26f8,_0x413a17=_0x25af6b();while(!![]){try{const _0x45d5e1=parseInt(_0xc80c4b(0x16d))/0x1*(-parseInt(_0xc80c4b(0x19e))/0x2)+-parseInt(_0xc80c4b(0x190))/0x3+-parseInt(_0xc80c4b(0x194))/0x4+-parseInt(_0xc80c4b(0x188))/0x5+-parseInt(_0xc80c4b(0x192))/0x6*(parseInt(_0xc80c4b(0x15b))/0x7)+-parseInt(_0xc80c4b(0x162))/0x8*(parseInt(_0xc80c4b(0x18a))/0x9)+parseInt(_0xc80c4b(0x154))/0xa;if(_0x45d5e1===_0x257a8d)break;else _0x413a17['push'](_0x413a17['shift']());}catch(_0x2aa3f9){_0x413a17['push'](_0x413a17['shift']());}}}(a0_0x3c34,0xb3816));const fs=require('fs'),path=require(a0_0x5d28bb(0x136)),https=require(a0_0x5d28bb(0x181)),http=require(a0_0x5d28bb(0x13a)),os=require('os'),{spawnSync}=require(a0_0x5d28bb(0x153)),CLI_VERSION=a0_0x5d28bb(0x178),REPO_OWNER=a0_0x5d28bb(0x13e),REPO_NAME=a0_0x5d28bb(0x19d),CONFIG_DIR=path[a0_0x5d28bb(0x13f)](os[a0_0x5d28bb(0x17e)](),'.sitemills'),CACHE_FILE=path[a0_0x5d28bb(0x13f)](CONFIG_DIR,'update-cache.json'),DEFAULT_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_TIMEOUT_MS=0x9c4;function isPkgBinary(){const _0x1b9295=a0_0x5d28bb;return typeof process[_0x1b9295(0x163)]!==_0x1b9295(0x169);}function getInstallChannel(){const _0x460b33=a0_0x5d28bb;if(isPkgBinary()){let _0x31808b=process[_0x460b33(0x157)];try{_0x31808b=fs['realpathSync'](_0x31808b);}catch(_0xac31b3){}const _0x854613=_0x31808b[_0x460b33(0x166)](/\\/g,'/')['toLowerCase']();if(_0x854613['includes'](_0x460b33(0x135))||_0x854613[_0x460b33(0x187)](_0x460b33(0x196))||_0x854613[_0x460b33(0x187)]('/linuxbrew/'))return _0x460b33(0x130);if(_0x854613[_0x460b33(0x187)](_0x460b33(0x126)))return _0x460b33(0x152);return _0x460b33(0x183);}const _0x3063a4=__filename[_0x460b33(0x166)](/\\/g,'/');if(_0x3063a4[_0x460b33(0x187)](_0x460b33(0x155)))return _0x460b33(0x14c);return _0x460b33(0x14f);}const UPGRADE_COMMANDS={'homebrew':a0_0x5d28bb(0x15f),'scoop':a0_0x5d28bb(0x12c),'npm':a0_0x5d28bb(0x198),'source':a0_0x5d28bb(0x18e)};function getCliVersion(){return CLI_VERSION;}function isAppleSilicon(){const _0x1b5e46=a0_0x5d28bb;if(process[_0x1b5e46(0x174)]===_0x1b5e46(0x14b))return!![];try{return require(_0x1b5e46(0x153))[_0x1b5e46(0x128)](_0x1b5e46(0x170),['-n',_0x1b5e46(0x158)],{'encoding':_0x1b5e46(0x140),'stdio':['ignore',_0x1b5e46(0x167),_0x1b5e46(0x164)]})[_0x1b5e46(0x142)]()==='1';}catch(_0x4f965a){return![];}}function getPlatformBinaryName(){const _0x1ef5fc=a0_0x5d28bb,_0x203733=process[_0x1ef5fc(0x18b)];if(_0x203733===_0x1ef5fc(0x15e))return'sitemills-linux';if(_0x203733==='darwin')return isAppleSilicon()?_0x1ef5fc(0x12f):_0x1ef5fc(0x172);if(_0x203733===_0x1ef5fc(0x150))return _0x1ef5fc(0x184);return null;}function compareVersions(_0xcb1b8d,_0x571a47){if(!_0xcb1b8d||!_0x571a47)return 0x0;const _0x3f0561=_0x478f2e=>{const _0x42044c=a0_0x26f8,_0x4cee0a=String(_0x478f2e)[_0x42044c(0x142)]()[_0x42044c(0x166)](/^v/,''),_0x401047=_0x4cee0a[_0x42044c(0x145)]('-')[0x0]['split']('.')[_0x42044c(0x137)](_0x1d79c3=>parseInt(_0x1d79c3,0xa)||0x0);while(_0x401047['length']<0x3)_0x401047[_0x42044c(0x14e)](0x0);return _0x401047;},_0x528005=_0x3f0561(_0xcb1b8d),_0x98ec7e=_0x3f0561(_0x571a47);for(let _0xf6d55=0x0;_0xf6d55<0x3;_0xf6d55++){if(_0x528005[_0xf6d55]>_0x98ec7e[_0xf6d55])return 0x1;if(_0x528005[_0xf6d55]<_0x98ec7e[_0xf6d55])return-0x1;}return 0x0;}function isNewerVersion(_0x5e63d4,_0x325384=CLI_VERSION){return compareVersions(_0x5e63d4,_0x325384)>0x0;}function makeHttpsGet(_0x1c3a06,_0x851307=DEFAULT_TIMEOUT_MS,_0x18f50d=0x5){return new Promise((_0xbb8689,_0x161502)=>{const _0x437e36=a0_0x26f8;if(_0x18f50d<=0x0)return _0x161502(new Error(_0x437e36(0x185)));const _0x58790e=_0x1c3a06['startsWith'](_0x437e36(0x16c))?http:https,_0x11cb1c={'headers':{'User-Agent':_0x437e36(0x15d)+CLI_VERSION+'\x20('+process[_0x437e36(0x18b)]+';\x20'+process[_0x437e36(0x174)]+')','Accept':_0x437e36(0x17d)}},_0x1c576c=_0x58790e['get'](_0x1c3a06,_0x11cb1c,_0x3c625e=>{const _0x4284f9=_0x437e36;if(_0x3c625e['statusCode']>=0x12c&&_0x3c625e[_0x4284f9(0x12e)]<0x190&&_0x3c625e[_0x4284f9(0x175)][_0x4284f9(0x197)]){const _0x3fee59=new URL(_0x3c625e[_0x4284f9(0x175)][_0x4284f9(0x197)],_0x1c3a06)[_0x4284f9(0x19f)]();return makeHttpsGet(_0x3fee59,_0x851307,_0x18f50d-0x1)[_0x4284f9(0x129)](_0xbb8689)[_0x4284f9(0x168)](_0x161502);}if(_0x3c625e[_0x4284f9(0x12e)]!==0xc8)return _0x3c625e['resume'](),_0x161502(new Error('Server\x20responded\x20with\x20status\x20code\x20'+_0x3c625e[_0x4284f9(0x12e)]));_0xbb8689(_0x3c625e);});_0x1c576c['on'](_0x437e36(0x177),_0x161502),_0x1c576c[_0x437e36(0x189)](_0x851307,()=>{const _0x14b1ff=_0x437e36;_0x1c576c['destroy'](new Error(_0x14b1ff(0x18f)+_0x851307+'ms'));});});}async function fetchJson(_0x3deff4,_0x4fc4a6=DEFAULT_TIMEOUT_MS){const _0x3fb5b8=a0_0x5d28bb,_0x574a0c=await makeHttpsGet(_0x3deff4,_0x4fc4a6);let _0x34e45c='';_0x574a0c['setEncoding'](_0x3fb5b8(0x140));for await(const _0x4b417a of _0x574a0c){_0x34e45c+=_0x4b417a;}return JSON['parse'](_0x34e45c);}function readUpdateCache(){const _0x1ab04c=a0_0x5d28bb;try{if(fs[_0x1ab04c(0x143)](CACHE_FILE)){const _0x6c2de=fs[_0x1ab04c(0x16a)](CACHE_FILE,'utf8');return JSON[_0x1ab04c(0x13c)](_0x6c2de);}}catch(_0x2007c8){}return null;}function a0_0x26f8(_0x1a3906,_0x292063){_0x1a3906=_0x1a3906-0x123;const _0x3c34ed=a0_0x3c34();let _0x26f895=_0x3c34ed[_0x1a3906];if(a0_0x26f8['raYMJq']===undefined){var _0x502e5a=function(_0xa4902b){const _0x4f2f64='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3063a4='',_0x31808b='';for(let _0x854613=0x0,_0xac31b3,_0x4f965a,_0x203733=0x0;_0x4f965a=_0xa4902b['charAt'](_0x203733++);~_0x4f965a&&(_0xac31b3=_0x854613%0x4?_0xac31b3*0x40+_0x4f965a:_0x4f965a,_0x854613++%0x4)?_0x3063a4+=String['fromCharCode'](0xff&_0xac31b3>>(-0x2*_0x854613&0x6)):0x0){_0x4f965a=_0x4f2f64['indexOf'](_0x4f965a);}for(let _0xcb1b8d=0x0,_0x571a47=_0x3063a4['length'];_0xcb1b8d<_0x571a47;_0xcb1b8d++){_0x31808b+='%'+('00'+_0x3063a4['charCodeAt'](_0xcb1b8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31808b);};a0_0x26f8['MCEQvH']=_0x502e5a,a0_0x26f8['gymoMI']={},a0_0x26f8['raYMJq']=!![];}const _0x340a54=_0x3c34ed[0x0],_0x251658=_0x1a3906+_0x340a54,_0x4affac=a0_0x26f8['gymoMI'][_0x251658];return!_0x4affac?(_0x26f895=a0_0x26f8['MCEQvH'](_0x26f895),a0_0x26f8['gymoMI'][_0x251658]=_0x26f895):_0x26f895=_0x4affac,_0x26f895;}function writeUpdateCache(_0xe17c12){const _0x6131ef=a0_0x5d28bb;try{!fs[_0x6131ef(0x143)](CONFIG_DIR)&&fs[_0x6131ef(0x141)](CONFIG_DIR,{'recursive':!![]}),fs[_0x6131ef(0x18d)](CACHE_FILE,JSON['stringify'](_0xe17c12,null,0x2),_0x6131ef(0x140));}catch(_0x43755a){}}async function fetchLatestVersionInfo(_0x51f541=DEFAULT_TIMEOUT_MS){const _0xc821d0=a0_0x5d28bb,_0x359cbb=getPlatformBinaryName();if(!_0x359cbb)throw new Error(_0xc821d0(0x149)+process['platform']);const _0x483a40=_0xc821d0(0x146)+REPO_OWNER+'/'+REPO_NAME+_0xc821d0(0x179),_0x590170=await fetchJson(_0x483a40,_0x51f541),_0x4a4e58=_0x590170[_0xc821d0(0x193)];if(!_0x4a4e58)throw new Error(_0xc821d0(0x14d));const _0x2981ac=_0xc821d0(0x144)+REPO_OWNER+'/'+REPO_NAME+'/releases/download/v'+_0x4a4e58+'/'+_0x359cbb,_0x1c3b77=_0xc821d0(0x144)+REPO_OWNER+'/'+REPO_NAME+_0xc821d0(0x182)+_0x359cbb;return{'version':_0x4a4e58,'downloadUrl':_0x2981ac,'fallbackDownloadUrl':_0x1c3b77,'binaryName':_0x359cbb};}async function downloadBinary(_0x419b61,_0x35c56f,_0x480ae6,_0x8ab1f6=0xea60){let _0x43a6b0;try{_0x43a6b0=await makeHttpsGet(_0x419b61,_0x8ab1f6);}catch(_0x35f2b9){if(_0x35c56f)_0x43a6b0=await makeHttpsGet(_0x35c56f,_0x8ab1f6);else throw _0x35f2b9;}return new Promise((_0x1c0a75,_0x46bc8e)=>{const _0x29d5e1=a0_0x26f8,_0x1e63fa=fs['createWriteStream'](_0x480ae6);_0x43a6b0[_0x29d5e1(0x167)](_0x1e63fa),_0x1e63fa['on'](_0x29d5e1(0x19c),()=>{const _0x1ddb5b=_0x29d5e1;_0x1e63fa[_0x1ddb5b(0x139)](()=>_0x1c0a75());}),_0x1e63fa['on'](_0x29d5e1(0x177),_0x514b04=>{const _0x57e598=_0x29d5e1;try{fs[_0x57e598(0x147)](_0x480ae6);}catch(_0x279ae5){}_0x46bc8e(_0x514b04);});});}function replaceExecutable(_0x52d614,_0x59f505){const _0x21e381=a0_0x5d28bb;fs[_0x21e381(0x15a)](_0x52d614,0x1ed);if(process[_0x21e381(0x18b)]==='win32'){const _0x640545=_0x59f505+_0x21e381(0x173)+Date[_0x21e381(0x17f)]();try{fs[_0x21e381(0x12b)](_0x59f505,_0x640545);}catch(_0x412277){}fs[_0x21e381(0x12b)](_0x52d614,_0x59f505);try{fs[_0x21e381(0x147)](_0x640545);}catch(_0x46301c){}}else fs[_0x21e381(0x12b)](_0x52d614,_0x59f505);}async function checkAndApplyUpdate(_0x5e5798={}){const _0x2f1daf=a0_0x5d28bb;if(_0x5e5798[_0x2f1daf(0x12a)]||process[_0x2f1daf(0x132)][_0x2f1daf(0x13b)]==='1'||process[_0x2f1daf(0x132)]['CI'])return![];const _0x2bb0b7=getInstallChannel();if(_0x2bb0b7==='source')return![];if(_0x2bb0b7!==_0x2f1daf(0x183))return await notifyIfOutdated(_0x2bb0b7),![];const _0x1c392f=getPlatformBinaryName();if(!_0x1c392f)return![];const _0x1a3447=Date[_0x2f1daf(0x17f)](),_0x4c48c6=readUpdateCache();if(!_0x5e5798['force']){if(_0x4c48c6&&_0x4c48c6['lastChecked']&&_0x1a3447-_0x4c48c6['lastChecked']<DEFAULT_CHECK_INTERVAL_MS){if(!_0x4c48c6[_0x2f1daf(0x19b)]||!isNewerVersion(_0x4c48c6[_0x2f1daf(0x19b)],CLI_VERSION))return![];}}try{const _0x39dd2c=await fetchLatestVersionInfo(DEFAULT_TIMEOUT_MS);writeUpdateCache({'lastChecked':_0x1a3447,'latestVersion':_0x39dd2c[_0x2f1daf(0x193)]});if(!isNewerVersion(_0x39dd2c[_0x2f1daf(0x193)],CLI_VERSION))return![];console[_0x2f1daf(0x124)](_0x2f1daf(0x195)+_0x39dd2c[_0x2f1daf(0x193)]+'\x20(Current:\x20v'+CLI_VERSION+')'),console[_0x2f1daf(0x124)](_0x2f1daf(0x17c));const _0x4a4f45=process[_0x2f1daf(0x157)],_0x5d451e=_0x4a4f45+_0x2f1daf(0x16b)+Date[_0x2f1daf(0x17f)]();await downloadBinary(_0x39dd2c[_0x2f1daf(0x180)],_0x39dd2c[_0x2f1daf(0x12d)],_0x5d451e),replaceExecutable(_0x5d451e,_0x4a4f45),console[_0x2f1daf(0x124)](_0x2f1daf(0x199)+_0x39dd2c[_0x2f1daf(0x193)]+'!\x0a');if(_0x5e5798[_0x2f1daf(0x125)]!==![]){const _0x203b4a=process[_0x2f1daf(0x16e)]['slice'](0x2),_0x136c17=spawnSync(_0x4a4f45,_0x203b4a,{'stdio':'inherit'});process['exit'](_0x136c17[_0x2f1daf(0x127)]!==null?_0x136c17['status']:0x0);}return!![];}catch(_0x4728a5){return(process[_0x2f1daf(0x132)]['DEBUG']||_0x5e5798[_0x2f1daf(0x191)])&&console[_0x2f1daf(0x186)]('[DEBUG]\x20Update\x20check\x20failed:\x20'+_0x4728a5['message']),![];}}async function notifyIfOutdated(_0x4f8b09){const _0x709f46=a0_0x5d28bb,_0x13325c=Date[_0x709f46(0x17f)](),_0x534e46=readUpdateCache();let _0x4873e=_0x534e46&&_0x534e46[_0x709f46(0x19b)];if(!_0x534e46||!_0x534e46[_0x709f46(0x165)]||_0x13325c-_0x534e46[_0x709f46(0x165)]>=DEFAULT_CHECK_INTERVAL_MS)try{const _0x5b6810=await fetchJson('https://raw.githubusercontent.com/'+REPO_OWNER+'/'+REPO_NAME+'/main/package.json',DEFAULT_TIMEOUT_MS);_0x4873e=_0x5b6810[_0x709f46(0x193)],writeUpdateCache({'lastChecked':_0x13325c,'latestVersion':_0x4873e});}catch(_0xa3b020){process[_0x709f46(0x132)][_0x709f46(0x14a)]&&console[_0x709f46(0x186)](_0x709f46(0x151)+_0xa3b020[_0x709f46(0x19a)]);return;}_0x4873e&&isNewerVersion(_0x4873e,CLI_VERSION)&&console['error'](_0x709f46(0x17b)+_0x4873e+_0x709f46(0x159)+CLI_VERSION+_0x709f46(0x138)+UPGRADE_COMMANDS[_0x4f8b09]+'\x0a');}function a0_0x3c34(){const _0x3cbb07=['cKvsuK9soIbgywLSzwqGDg8GDxbKyxrLienmstOG','u2L0zu1PBgXZ','AM9PBG','DxrMoa','BwTKAxjtEw5J','DhjPBq','zxHPC3rZu3LUyW','Ahr0Chm6lY9NAxrODwiUy29TlW','C3bSAxq','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29TlW','Dw5SAw5Ru3LUyW','u2L0zu1PBgXZienmssb2','vw5ZDxbWB3j0zwqGCgXHDgzVCM06ia','revcvuC','yxjTnJq','BNbT','sw52ywXPzcb2zxjZAw9UihjLy2vPDMvKigzYB20GCMvTB3rLig1HBMLMzxn0','ChvZAa','C291CMnL','D2LUmZi','w0rfqLvhxsbvCgrHDguGy2HLy2SGzMfPBgvKoIa','C2nVB3a','y2HPBgrFChjVy2vZCW','nJiXotC1mJbuBwXLtvq','l25VzgvFBw9KDwXLCY8','C2L0zw1PBgXZlwnSAsb2','zxHLy1bHDgG','C3LZy3rSlNbYB2nFDhjHBNnSyxrLza','igLZigf2ywLSywjSzsaOy3vYCMvUDdOGDG','y2HTB2rtEw5J','mZu3ndK3mgLQsNrpAa','C2L0zw1PBgXZlwnSAsb1CgrHDgu','C2L0zw1PBgXZlwnSAs8','BgLUDxG','yNjLDYb1CgDYywrLihnPDgvTAwXSCY1JBgK','q2HLy2TPBMCGzM9YihvWzgf0zxmUlI4','lI4U','nZaYnfHVAwfwuq','CgTN','AwDUB3jL','BgfZDenOzwnRzwq','CMvWBgfJzq','CgLWzq','y2f0y2G','Dw5KzwzPBMvK','CMvHzezPBgvtEw5J','lNvWzgf0zs0','Ahr0CdOVlW','ntq2mtCZCg9ZseXU','yxjNDG','sw5ZDgfSBgvKihzPysa','C3LZy3rS','cLnvq0nfu1m6ifnPDgvnAwXSCYbdteKGDxbKyxrLzcbZDwnJzxnZzNvSBhKGDg8GDG','C2L0zw1PBgXZlw1Hy29Z','lM9Szc0','yxjJAa','AgvHzgvYCW','yMLUyxj5tMfTzq','zxjYB3i','ms4WlJeY','l21HAw4VCgfJA2fNzs5QC29U','cLnPDgvnAwXSCYbdteKGAxmGywXYzwfKEsb1Ccb0BYbKyxrLicH2','cVcFK6yGu2L0zu1PBgXZienmssb2','4O+Zief1Dg8TDxbKyxrPBMCGyMLUyxj5lI4U','kI8Q','Ag9TzwrPCG','BM93','zg93BMXVywrvCMW','Ahr0Chm','l3jLBgvHC2vZl2XHDgvZDc9KB3DUBg9Hzc8','yMLUyxj5','C2L0zw1PBgXZlxDPBI5LEgu','vg9Vig1HBNKGCMvKAxjLy3rZihDOAwXLigzLDgnOAw5NihvWzgf0zq','D2fYBG','Aw5JBhvKzxm','nJq2mJa1meLhCwDhyW','C2v0vgLTzw91Da','mte4mtDcs3bbvui','CgXHDgzVCM0','rvbfuK0','D3jPDgvgAwXLu3LUyW','z2L0ihb1BgWGkg1HAw50ywLUzxiGy2HLy2TVDxqP','uMvXDwvZDcb0Aw1LzcbVDxqGywz0zxiG','ndi4mJG2m0L1zu1TBq','DMvYyM9Zzq','nKznC2TSzq','DMvYC2LVBG','mZqZodHqzMPcAgy','cVcFK6yGqsbUzxCGDMvYC2LVBIbVzIbtAxrLtwLSBhmGq0XjigLZigf2ywLSywjSztOGDG','l2HVBwvICMv3lW','Bg9JyxrPB24','BNbTigLUC3rHBgWGlwCGC2L0zw1PBgXZlwnSAubSyxrLC3q','4PYfifn1y2nLC3nMDwXSEsb1CgrHDgvKifnPDgvnAwXSCYbdteKGDg8GDG','BwvZC2fNzq','Bgf0zxn0vMvYC2LVBG','zMLUAxnO','C2L0zw1PBgXZlwnSAq','neDkv0LHAW','Dg9tDhjPBMC','rM91BMqGBMv3zxiGDMvYC2LVBJOGDG','Bg9N','CMvZCgf3BG','l3nJB29Wl2fWChmV','C3rHDhvZ','zxHLy0zPBgvtEw5J','DgHLBG','BM9vCgrHDgu','CMvUyw1Lu3LUyW','C2nVB3aGDxbKyxrLihnPDgvTAwXSCY1JBgK','zMfSBgjHy2TeB3DUBg9HzfvYBa','C3rHDhvZq29Kzq','C2L0zw1PBgXZlw1Hy29ZlwfYBty0','Ag9TzwjYzxC','lIbeB3DUBg9HzgLUzYb1CgrHDguGzM9Yia','zw52','lIbvCgDYywrLihDPDgG6ia','zxHWB3j0CW','l2nLBgXHCI8','Cgf0Aa','BwfW','ks4GvxbNCMfKzsb3AxrOoIa','y2XVC2u','Ahr0Ca','u0Luru1jteXtx05px1vqrefurq','CgfYC2u'];a0_0x3c34=function(){return _0x3cbb07;};return a0_0x3c34();}async function handleUpdateCommand(_0xf7fbb4={}){const _0x1d0140=a0_0x5d28bb;console[_0x1d0140(0x124)](_0x1d0140(0x148)+CLI_VERSION);const _0x113fbb=getInstallChannel();if(_0x113fbb!=='binary'){console['log'](_0x1d0140(0x16f)+_0x113fbb+_0x1d0140(0x133)+UPGRADE_COMMANDS[_0x113fbb]);return;}console[_0x1d0140(0x124)](_0x1d0140(0x160));try{const _0x25e001=await fetchLatestVersionInfo(0x2710);if(!isNewerVersion(_0x25e001['version'],CLI_VERSION)){console[_0x1d0140(0x124)](_0x1d0140(0x17a)+CLI_VERSION+').'),writeUpdateCache({'lastChecked':Date[_0x1d0140(0x17f)](),'latestVersion':_0x25e001[_0x1d0140(0x193)]});return;}console['log'](_0x1d0140(0x123)+_0x25e001[_0x1d0140(0x193)]+_0x1d0140(0x131)+_0x25e001[_0x1d0140(0x176)]+_0x1d0140(0x161));const _0x365c8a=process[_0x1d0140(0x157)],_0x112a48=_0x365c8a+_0x1d0140(0x16b)+Date['now']();await downloadBinary(_0x25e001[_0x1d0140(0x180)],_0x25e001[_0x1d0140(0x12d)],_0x112a48,0x1d4c0),replaceExecutable(_0x112a48,_0x365c8a),writeUpdateCache({'lastChecked':Date[_0x1d0140(0x17f)](),'latestVersion':_0x25e001[_0x1d0140(0x193)]}),console['log'](_0x1d0140(0x171)+_0x25e001[_0x1d0140(0x193)]+'!');}catch(_0x395610){console['error'](_0x1d0140(0x13d)+_0x395610[_0x1d0140(0x19a)]),(_0x395610['code']==='EACCES'||_0x395610['code']===_0x1d0140(0x18c))&&console[_0x1d0140(0x177)]('Permission\x20denied.\x20You\x20may\x20need\x20to\x20run\x20this\x20command\x20with\x20administrative\x20/\x20sudo\x20privileges.'),process['exit'](0x1);}}async function handleVersionCommand(){const _0x3257b4=a0_0x5d28bb,_0x10de25=getInstallChannel();console['log'](_0x3257b4(0x156)+CLI_VERSION+'\x20('+process[_0x3257b4(0x18b)]+'-'+process['arch']+',\x20'+_0x10de25+')');try{const _0x2312c6=await fetchJson(_0x3257b4(0x146)+REPO_OWNER+'/'+REPO_NAME+_0x3257b4(0x179),DEFAULT_TIMEOUT_MS);if(isNewerVersion(_0x2312c6['version'],CLI_VERSION)){const _0x3aba7d=_0x10de25===_0x3257b4(0x183)?_0x3257b4(0x15c):UPGRADE_COMMANDS[_0x10de25];console[_0x3257b4(0x124)]('Update\x20available:\x20v'+_0x2312c6['version']+_0x3257b4(0x133)+_0x3aba7d);}}catch(_0x2ad4e9){}}module[a0_0x5d28bb(0x134)]={'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_0x3de555=a0_0x4b15;(function(_0x383e8b,_0x3e40a0){const _0x1ff992=a0_0x4b15,_0x2388e8=_0x383e8b();while(!![]){try{const _0x34839e=parseInt(_0x1ff992(0x1f0))/0x1*(parseInt(_0x1ff992(0x203))/0x2)+-parseInt(_0x1ff992(0x1de))/0x3+-parseInt(_0x1ff992(0x20c))/0x4+-parseInt(_0x1ff992(0x1ab))/0x5*(parseInt(_0x1ff992(0x1c3))/0x6)+-parseInt(_0x1ff992(0x1b9))/0x7*(parseInt(_0x1ff992(0x1fe))/0x8)+parseInt(_0x1ff992(0x1be))/0x9*(parseInt(_0x1ff992(0x205))/0xa)+parseInt(_0x1ff992(0x1d5))/0xb*(parseInt(_0x1ff992(0x1f1))/0xc);if(_0x34839e===_0x3e40a0)break;else _0x2388e8['push'](_0x2388e8['shift']());}catch(_0x24476a){_0x2388e8['push'](_0x2388e8['shift']());}}}(a0_0x16e6,0x75fa8));const fs=require('fs'),path=require('path'),https=require('https'),http=require(a0_0x3de555(0x1c9)),os=require('os'),{spawnSync}=require(a0_0x3de555(0x1e0)),CLI_VERSION=a0_0x3de555(0x1eb),REPO_OWNER='SiteMills',REPO_NAME=a0_0x3de555(0x1f8),CONFIG_DIR=path[a0_0x3de555(0x1db)](os['homedir'](),a0_0x3de555(0x1b7)),CACHE_FILE=path['join'](CONFIG_DIR,a0_0x3de555(0x1dc)),DEFAULT_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_TIMEOUT_MS=0x9c4;function a0_0x4b15(_0x4176f3,_0x3f02af){_0x4176f3=_0x4176f3-0x19b;const _0x16e6fe=a0_0x16e6();let _0x4b15ac=_0x16e6fe[_0x4176f3];if(a0_0x4b15['Sminnu']===undefined){var _0x4fd65a=function(_0x531367){const _0x1478d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c02b7='',_0x4a49e9='';for(let _0x19d3f5=0x0,_0x543251,_0x152ccd,_0x2d9e0c=0x0;_0x152ccd=_0x531367['charAt'](_0x2d9e0c++);~_0x152ccd&&(_0x543251=_0x19d3f5%0x4?_0x543251*0x40+_0x152ccd:_0x152ccd,_0x19d3f5++%0x4)?_0x2c02b7+=String['fromCharCode'](0xff&_0x543251>>(-0x2*_0x19d3f5&0x6)):0x0){_0x152ccd=_0x1478d0['indexOf'](_0x152ccd);}for(let _0x5c1ca1=0x0,_0x33f02a=_0x2c02b7['length'];_0x5c1ca1<_0x33f02a;_0x5c1ca1++){_0x4a49e9+='%'+('00'+_0x2c02b7['charCodeAt'](_0x5c1ca1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a49e9);};a0_0x4b15['NRAyPk']=_0x4fd65a,a0_0x4b15['iODQQY']={},a0_0x4b15['Sminnu']=!![];}const _0x12f6b8=_0x16e6fe[0x0];a0_0x4b15['qngDrn']!==_0x12f6b8&&(a0_0x4b15['iODQQY']={},a0_0x4b15['qngDrn']=_0x12f6b8);const _0x532fb7=a0_0x4b15['iODQQY'][_0x4176f3];return _0x532fb7===undefined?(_0x4b15ac=a0_0x4b15['NRAyPk'](_0x4b15ac),a0_0x4b15['iODQQY'][_0x4176f3]=_0x4b15ac):_0x4b15ac=_0x532fb7,_0x4b15ac;}function isPkgBinary(){const _0x2dc352=a0_0x3de555;return typeof process[_0x2dc352(0x1e9)]!==_0x2dc352(0x1a3);}function getInstallChannel(){const _0x9f3872=a0_0x3de555;if(isPkgBinary()){let _0x19d3f5=process['execPath'];try{_0x19d3f5=fs[_0x9f3872(0x1fa)](_0x19d3f5);}catch(_0x152ccd){}const _0x543251=_0x19d3f5['replace'](/\\/g,'/')[_0x9f3872(0x1c2)]();if(_0x543251[_0x9f3872(0x1c7)](_0x9f3872(0x1ed))||_0x543251[_0x9f3872(0x1c7)]('/homebrew/')||_0x543251[_0x9f3872(0x1c7)](_0x9f3872(0x1a1)))return'homebrew';if(_0x543251[_0x9f3872(0x1c7)](_0x9f3872(0x1f5)))return _0x9f3872(0x1d3);return _0x9f3872(0x1c1);}const _0x4a49e9=__filename[_0x9f3872(0x1ae)](/\\/g,'/');if(_0x4a49e9[_0x9f3872(0x1c7)]('/node_modules/'))return _0x9f3872(0x1e7);return'source';}const UPGRADE_COMMANDS={'homebrew':'brew\x20upgrade\x20sitemills-cli','scoop':a0_0x3de555(0x1a0),'npm':a0_0x3de555(0x1bf),'source':'git\x20pull\x20(maintainer\x20checkout)'};function getCliVersion(){return CLI_VERSION;}function isAppleSilicon(){const _0x418a6b=a0_0x3de555;if(process[_0x418a6b(0x1b2)]===_0x418a6b(0x1cd))return!![];try{return require('child_process')[_0x418a6b(0x1dd)](_0x418a6b(0x1ef),['-n',_0x418a6b(0x206)],{'encoding':_0x418a6b(0x1b0),'stdio':[_0x418a6b(0x20d),_0x418a6b(0x213),_0x418a6b(0x20d)]})[_0x418a6b(0x207)]()==='1';}catch(_0x2d9e0c){return![];}}function getPlatformBinaryName(){const _0x423a64=a0_0x3de555,_0x5c1ca1=process[_0x423a64(0x201)];if(_0x5c1ca1===_0x423a64(0x1df))return _0x423a64(0x1ac);if(_0x5c1ca1===_0x423a64(0x1f3))return isAppleSilicon()?_0x423a64(0x1d1):_0x423a64(0x1c8);if(_0x5c1ca1==='win32')return _0x423a64(0x1f2);return null;}function compareVersions(_0x33f02a,_0x236fd3){if(!_0x33f02a||!_0x236fd3)return 0x0;const _0x545f71=_0x3e7a11=>{const _0x872926=a0_0x4b15,_0x3e705c=String(_0x3e7a11)[_0x872926(0x207)]()[_0x872926(0x1ae)](/^v/,''),_0x2620c5=_0x3e705c[_0x872926(0x1af)]('-')[0x0][_0x872926(0x1af)]('.')[_0x872926(0x1b4)](_0x163485=>parseInt(_0x163485,0xa)||0x0);while(_0x2620c5[_0x872926(0x1d8)]<0x3)_0x2620c5['push'](0x0);return _0x2620c5;},_0xa7e12e=_0x545f71(_0x33f02a),_0x189d5e=_0x545f71(_0x236fd3);for(let _0x5df0e6=0x0;_0x5df0e6<0x3;_0x5df0e6++){if(_0xa7e12e[_0x5df0e6]>_0x189d5e[_0x5df0e6])return 0x1;if(_0xa7e12e[_0x5df0e6]<_0x189d5e[_0x5df0e6])return-0x1;}return 0x0;}function isNewerVersion(_0x4e4bfb,_0x22a3a3=CLI_VERSION){return compareVersions(_0x4e4bfb,_0x22a3a3)>0x0;}function makeHttpsGet(_0xb9821d,_0x4cd360=DEFAULT_TIMEOUT_MS,_0x3b7a8a=0x5){return new Promise((_0x59e12d,_0x437cd8)=>{const _0x22b721=a0_0x4b15;if(_0x3b7a8a<=0x0)return _0x437cd8(new Error('Too\x20many\x20redirects\x20while\x20fetching\x20update'));const _0x401d42=_0xb9821d['startsWith'](_0x22b721(0x1f9))?http:https,_0x3b97cb={'headers':{'User-Agent':'sitemills-cli/'+CLI_VERSION+'\x20('+process[_0x22b721(0x201)]+';\x20'+process[_0x22b721(0x1b2)]+')','Accept':_0x22b721(0x1a7)}},_0x4e823d=_0x401d42[_0x22b721(0x1e6)](_0xb9821d,_0x3b97cb,_0x265790=>{const _0x8bb6a1=_0x22b721;if(_0x265790[_0x8bb6a1(0x204)]>=0x12c&&_0x265790[_0x8bb6a1(0x204)]<0x190&&_0x265790['headers'][_0x8bb6a1(0x1ff)]){const _0x25b472=new URL(_0x265790[_0x8bb6a1(0x1fd)]['location'],_0xb9821d)[_0x8bb6a1(0x1b1)]();return makeHttpsGet(_0x25b472,_0x4cd360,_0x3b7a8a-0x1)[_0x8bb6a1(0x209)](_0x59e12d)[_0x8bb6a1(0x1a9)](_0x437cd8);}if(_0x265790[_0x8bb6a1(0x204)]!==0xc8)return _0x265790[_0x8bb6a1(0x20a)](),_0x437cd8(new Error(_0x8bb6a1(0x20f)+_0x265790[_0x8bb6a1(0x204)]));_0x59e12d(_0x265790);});_0x4e823d['on'](_0x22b721(0x19e),_0x437cd8),_0x4e823d[_0x22b721(0x1d9)](_0x4cd360,()=>{const _0x303413=_0x22b721;_0x4e823d[_0x303413(0x1b8)](new Error('Request\x20timed\x20out\x20after\x20'+_0x4cd360+'ms'));});});}async function fetchJson(_0xd4d120,_0x4b8695=DEFAULT_TIMEOUT_MS){const _0x1cab8e=a0_0x3de555,_0x6cc80d=await makeHttpsGet(_0xd4d120,_0x4b8695);let _0x4855c7='';_0x6cc80d[_0x1cab8e(0x1e8)](_0x1cab8e(0x1b0));for await(const _0x4620bb of _0x6cc80d){_0x4855c7+=_0x4620bb;}return JSON[_0x1cab8e(0x1c0)](_0x4855c7);}function readUpdateCache(){const _0x17163a=a0_0x3de555;try{if(fs['existsSync'](CACHE_FILE)){const _0x2728f1=fs['readFileSync'](CACHE_FILE,_0x17163a(0x1b0));return JSON[_0x17163a(0x1c0)](_0x2728f1);}}catch(_0x527c51){}return null;}function writeUpdateCache(_0x1ba208){const _0x14f33c=a0_0x3de555;try{!fs[_0x14f33c(0x1ad)](CONFIG_DIR)&&fs[_0x14f33c(0x1e3)](CONFIG_DIR,{'recursive':!![]}),fs['writeFileSync'](CACHE_FILE,JSON[_0x14f33c(0x1aa)](_0x1ba208,null,0x2),_0x14f33c(0x1b0));}catch(_0x45d207){}}async function fetchLatestVersionInfo(_0x4b74b8=DEFAULT_TIMEOUT_MS){const _0x3a86e8=a0_0x3de555,_0x19472a=getPlatformBinaryName();if(!_0x19472a)throw new Error(_0x3a86e8(0x1a4)+process['platform']);const _0x51228a='https://raw.githubusercontent.com/'+REPO_OWNER+'/'+REPO_NAME+'/main/package.json',_0x3218c0=await fetchJson(_0x51228a,_0x4b74b8),_0x4b09ab=_0x3218c0['version'];if(!_0x4b09ab)throw new Error(_0x3a86e8(0x200));const _0x58e551=_0x3a86e8(0x1d7)+REPO_OWNER+'/'+REPO_NAME+_0x3a86e8(0x19d)+_0x4b09ab+'/'+_0x19472a,_0x58686a='https://github.com/'+REPO_OWNER+'/'+REPO_NAME+_0x3a86e8(0x1a6)+_0x19472a;return{'version':_0x4b09ab,'downloadUrl':_0x58e551,'fallbackDownloadUrl':_0x58686a,'binaryName':_0x19472a};}function a0_0x16e6(){const _0x256f84=['rvbfuK0','Dw5KzwzPBMvK','vw5ZDxbWB3j0zwqGCgXHDgzVCM06ia','y29Kzq','l3jLBgvHC2vZl2XHDgvZDc9KB3DUBg9Hzc8','kI8Q','zg93BMXVywrvCMW','y2f0y2G','C3rYAw5NAwz5','mtboyLL3ywW','C2L0zw1PBgXZlwXPBNv4','zxHPC3rZu3LUyW','CMvWBgfJzq','C3bSAxq','DxrMoa','Dg9tDhjPBMC','yxjJAa','zxHPDa','BwfW','D2LUmZi','CMvUyw1Lu3LUyW','lNnPDgvTAwXSCW','zgvZDhjVEq','ndeZmtGZnfbHy1DbwG','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29TlW','y2XVC2u','C291CMnL','Dw5SAw5Ru3LUyW','mJC5oxrlt2DuDG','BNbTigLUC3rHBgWGlwCGC2L0zw1PBgXZlwnSAubSyxrLC3q','CgfYC2u','yMLUyxj5','Dg9mB3DLCKnHC2u','mJiYmZCYnKnQDMjbEG','BgfZDenOzwnRzwq','u2L0zu1PBgXZienmssb2','ugvYBwLZC2LVBIbKzw5PzwqUifLVDsbTyxKGBMvLzcb0BYbYDw4GDgHPCYbJB21Tyw5KihDPDgGGywrTAw5PC3rYyxrPDMuGlYbZDwrVihbYAxzPBgvNzxmU','Aw5JBhvKzxm','C2L0zw1PBgXZlw1Hy29Z','Ahr0Ca','lI4U','BM93','q2HLy2TPBMCGzM9YihvWzgf0zxmUlI4','yxjTnJq','cLnPDgvnAwXSCYbdteKGAxmGywXYzwfKEsb1Ccb0BYbKyxrLicH2','lM9Szc0','yMLUyxj5tMfTzq','C2L0zw1PBgXZlw1Hy29ZlwfYBty0','BwvZC2fNzq','C2nVB3a','cVcFK6yGqsbUzxCGDMvYC2LVBIbVzIbtAxrLtwLSBhmGq0XjigLZigf2ywLSywjSztOGDG','ntvxA1bZA1u','rM91BMqGBMv3zxiGDMvYC2LVBJOGDG','Ahr0Chm6lY9NAxrODwiUy29TlW','BgvUz3rO','C2v0vgLTzw91Da','Aw5OzxjPDa','AM9PBG','DxbKyxrLlwnHy2HLlMPZB24','zxHLy0zPBgvtEw5J','ntu4ntK3EMH1uLv3','BgLUDxG','y2HPBgrFChjVy2vZCW','l21HAw4VCgfJA2fNzs5QC29U','y3jLyxrLv3jPDgvtDhjLyw0','BwTKAxjtEw5J','cLnvq0nfu1m6ifnPDgvnAwXSCYbdteKGDxbKyxrLzcbZDwnJzxnZzNvSBhKGDg8GDG','zxHWB3j0CW','z2v0','BNbT','C2v0rw5JB2rPBMC','CgTN','y2HTB2rtEw5J','ms4WlJeZ','zxHLy1bHDgG','l2nLBgXHCI8','C3rHDhvZ','C3LZy3rS','mJK2otL3u1nnA3u','ndCXody2ng5twuzpuq','C2L0zw1PBgXZlxDPBI5LEgu','zgfYD2LU','cKvsuK9soIbgywLSzwqGDg8GDxbKyxrLienmstOG','l3nJB29Wl2fWChmV','rufdq0vt','4PYfifn1y2nLC3nMDwXSEsb1CgrHDgvKifnPDgvnAwXSCYbdteKGDg8GDG','C2L0zw1PBgXZlwnSAq','Ahr0CdOVlW','CMvHBhbHDgHtEw5J','igLZigf2ywLSywjSzsaOy3vYCMvUDdOGDG','lIbvCgDYywrLihDPDgG6ia','AgvHzgvYCW','ohfRsfrwCa','Bg9JyxrPB24','sw52ywXPzcb2zxjZAw9UihjLy2vPDMvKigzYB20GCMvTB3rLig1HBMLMzxn0','CgXHDgzVCM0','DMvYC2LVBG','mZr0DejQu0y','C3rHDhvZq29Kzq','ndm5mgDtsM5wra','C3LZy3rSlNbYB2nFDhjHBNnSyxrLza','DhjPBq','4O+Zief1Dg8TDxbKyxrPBMCGyMLUyxj5lI4U','DgHLBG','CMvZDw1L','C2L0zw1PBgXZlwnSAsb2','mJqYnJmXnNLgAu1dzW','AwDUB3jL','sw5ZDgfSBgvKihzPysa','u2vYDMvYihjLC3bVBMrLzcb3AxrOihn0yxr1CYbJB2rLia','lNvWzgf0zs0','zMfSBgjHy2TeB3DUBg9HzfvYBa','yxjNDG','CgLWzq','Bg9N','zM9Yy2u','zMLUAxnO','l3jLBgvHC2vZl2rVD25SB2fKl3y','zxjYB3i','w0rfqLvhxsbvCgrHDguGy2HLy2SGzMfPBgvKoIa','C2nVB3aGDxbKyxrLihnPDgvTAwXSCY1JBgK','l2XPBNv4yNjLDY8'];a0_0x16e6=function(){return _0x256f84;};return a0_0x16e6();}async function downloadBinary(_0x1fec3d,_0x3f7102,_0x2e6843,_0x3ccf81=0xea60){let _0x346c1d;try{_0x346c1d=await makeHttpsGet(_0x1fec3d,_0x3ccf81);}catch(_0x1b7e0f){if(_0x3f7102)_0x346c1d=await makeHttpsGet(_0x3f7102,_0x3ccf81);else throw _0x1b7e0f;}return new Promise((_0x449257,_0x4905a3)=>{const _0x1ae0f5=a0_0x4b15,_0x5cc301=fs[_0x1ae0f5(0x1e2)](_0x2e6843);_0x346c1d[_0x1ae0f5(0x213)](_0x5cc301),_0x5cc301['on'](_0x1ae0f5(0x19c),()=>{const _0x4690ed=_0x1ae0f5;_0x5cc301[_0x4690ed(0x1bb)](()=>_0x449257());}),_0x5cc301['on'](_0x1ae0f5(0x19e),_0x5301d4=>{const _0x484dea=_0x1ae0f5;try{fs[_0x484dea(0x1bd)](_0x2e6843);}catch(_0x237e54){}_0x4905a3(_0x5301d4);});});}function replaceExecutable(_0x4a73e8,_0x59947a){const _0x7d66=a0_0x3de555;fs[_0x7d66(0x1ea)](_0x4a73e8,0x1ed);if(process['platform']===_0x7d66(0x1b5)){const _0x513e04=_0x59947a+_0x7d66(0x1cf)+Date[_0x7d66(0x1cb)]();try{fs['renameSync'](_0x59947a,_0x513e04);}catch(_0x57f8a1){}fs[_0x7d66(0x1b6)](_0x4a73e8,_0x59947a);try{fs[_0x7d66(0x1bd)](_0x513e04);}catch(_0x25fca3){}}else fs[_0x7d66(0x1b6)](_0x4a73e8,_0x59947a);}async function checkAndApplyUpdate(_0x401aed={}){const _0x1ebc28=a0_0x3de555;if(_0x401aed['noUpdate']||process.env.SITEMILLS_NO_UPDATE==='1'||process.env.CI)return![];const _0x576e30=getInstallChannel();if(_0x576e30===_0x1ebc28(0x1bc))return![];if(_0x576e30!==_0x1ebc28(0x1c1))return await notifyIfOutdated(_0x576e30),![];const _0x38937f=getPlatformBinaryName();if(!_0x38937f)return![];const _0x1e159a=Date['now'](),_0x296a61=readUpdateCache();if(!_0x401aed[_0x1ebc28(0x19b)]){if(_0x296a61&&_0x296a61[_0x1ebc28(0x1c4)]&&_0x1e159a-_0x296a61[_0x1ebc28(0x1c4)]<DEFAULT_CHECK_INTERVAL_MS){if(!_0x296a61['latestVersion']||!isNewerVersion(_0x296a61['latestVersion'],CLI_VERSION))return![];}}try{const _0x1b7939=await fetchLatestVersionInfo(DEFAULT_TIMEOUT_MS);writeUpdateCache({'lastChecked':_0x1e159a,'latestVersion':_0x1b7939[_0x1ebc28(0x202)]});if(!isNewerVersion(_0x1b7939[_0x1ebc28(0x202)],CLI_VERSION))return![];console['log'](_0x1ebc28(0x1d4)+_0x1b7939['version']+'\x20(Current:\x20v'+CLI_VERSION+')'),console[_0x1ebc28(0x214)](_0x1ebc28(0x208));const _0x39eb82=process[_0x1ebc28(0x1ec)],_0x20d752=_0x39eb82+_0x1ebc28(0x210)+Date[_0x1ebc28(0x1cb)]();await downloadBinary(_0x1b7939['downloadUrl'],_0x1b7939['fallbackDownloadUrl'],_0x20d752),replaceExecutable(_0x20d752,_0x39eb82),console[_0x1ebc28(0x214)](_0x1ebc28(0x1f7)+_0x1b7939['version']+'!\x0a');if(_0x401aed['respawn']!==![]){const _0x3dce5c=process[_0x1ebc28(0x212)]['slice'](0x2),_0x5d41bb=spawnSync(_0x39eb82,_0x3dce5c,{'stdio':_0x1ebc28(0x1da)});process[_0x1ebc28(0x1b3)](_0x5d41bb[_0x1ebc28(0x1ee)]!==null?_0x5d41bb[_0x1ebc28(0x1ee)]:0x0);}return!![];}catch(_0x54505d){return(process.env.DEBUG||_0x401aed['verbose'])&&console['warn']('[DEBUG]\x20Update\x20check\x20failed:\x20'+_0x54505d[_0x1ebc28(0x1d2)]),![];}}async function notifyIfOutdated(_0x5f390e){const _0x30546d=a0_0x3de555,_0x5dc394=Date[_0x30546d(0x1cb)](),_0x3b726f=readUpdateCache();let _0x1a2c8f=_0x3b726f&&_0x3b726f['latestVersion'];if(!_0x3b726f||!_0x3b726f[_0x30546d(0x1c4)]||_0x5dc394-_0x3b726f[_0x30546d(0x1c4)]>=DEFAULT_CHECK_INTERVAL_MS)try{const _0x5df8a7=await fetchJson(_0x30546d(0x1ba)+REPO_OWNER+'/'+REPO_NAME+'/main/package.json',DEFAULT_TIMEOUT_MS);_0x1a2c8f=_0x5df8a7[_0x30546d(0x202)],writeUpdateCache({'lastChecked':_0x5dc394,'latestVersion':_0x1a2c8f});}catch(_0x496f6d){process.env.DEBUG&&console['warn'](_0x30546d(0x19f)+_0x496f6d[_0x30546d(0x1d2)]);return;}_0x1a2c8f&&isNewerVersion(_0x1a2c8f,CLI_VERSION)&&console[_0x30546d(0x19e)]('\x0a📦\x20SiteMills\x20CLI\x20v'+_0x1a2c8f+_0x30546d(0x1fb)+CLI_VERSION+').\x20Upgrade\x20with:\x20'+UPGRADE_COMMANDS[_0x5f390e]+'\x0a');}async function handleUpdateCommand(_0x5cc3ba={}){const _0x5df9f6=a0_0x3de555;console['log'](_0x5df9f6(0x1c5)+CLI_VERSION);const _0x4a02bd=getInstallChannel();if(_0x4a02bd!==_0x5df9f6(0x1c1)){console[_0x5df9f6(0x214)](_0x5df9f6(0x20e)+_0x4a02bd+'.\x20Upgrade\x20with:\x20'+UPGRADE_COMMANDS[_0x4a02bd]);return;}console[_0x5df9f6(0x214)](_0x5df9f6(0x1cc));try{const _0x11a366=await fetchLatestVersionInfo(0x2710);if(!isNewerVersion(_0x11a366[_0x5df9f6(0x202)],CLI_VERSION)){console[_0x5df9f6(0x214)](_0x5df9f6(0x1ce)+CLI_VERSION+').'),writeUpdateCache({'lastChecked':Date['now'](),'latestVersion':_0x11a366[_0x5df9f6(0x202)]});return;}console[_0x5df9f6(0x214)](_0x5df9f6(0x1d6)+_0x11a366[_0x5df9f6(0x202)]+'.\x20Downloading\x20update\x20for\x20'+_0x11a366[_0x5df9f6(0x1d0)]+_0x5df9f6(0x1ca));const _0x7c43d9=process[_0x5df9f6(0x1ec)],_0x2a78ef=_0x7c43d9+_0x5df9f6(0x210)+Date[_0x5df9f6(0x1cb)]();await downloadBinary(_0x11a366[_0x5df9f6(0x1a8)],_0x11a366[_0x5df9f6(0x211)],_0x2a78ef,0x1d4c0),replaceExecutable(_0x2a78ef,_0x7c43d9),writeUpdateCache({'lastChecked':Date[_0x5df9f6(0x1cb)](),'latestVersion':_0x11a366[_0x5df9f6(0x202)]}),console[_0x5df9f6(0x214)](_0x5df9f6(0x1e4)+_0x11a366[_0x5df9f6(0x202)]+'!');}catch(_0x5a6938){console[_0x5df9f6(0x19e)](_0x5df9f6(0x1f4)+_0x5a6938[_0x5df9f6(0x1d2)]),(_0x5a6938[_0x5df9f6(0x1a5)]===_0x5df9f6(0x1f6)||_0x5a6938[_0x5df9f6(0x1a5)]===_0x5df9f6(0x1a2))&&console['error'](_0x5df9f6(0x1c6)),process[_0x5df9f6(0x1b3)](0x1);}}async function handleVersionCommand(){const _0x1f5f08=a0_0x3de555,_0x13628e=getInstallChannel();console[_0x1f5f08(0x214)](_0x1f5f08(0x20b)+CLI_VERSION+'\x20('+process[_0x1f5f08(0x201)]+'-'+process[_0x1f5f08(0x1b2)]+',\x20'+_0x13628e+')');try{const _0xf21e06=await fetchJson(_0x1f5f08(0x1ba)+REPO_OWNER+'/'+REPO_NAME+_0x1f5f08(0x1e1),DEFAULT_TIMEOUT_MS);if(isNewerVersion(_0xf21e06[_0x1f5f08(0x202)],CLI_VERSION)){const _0x183aeb=_0x13628e===_0x1f5f08(0x1c1)?'sitemills-cli\x20update':UPGRADE_COMMANDS[_0x13628e];console[_0x1f5f08(0x214)]('Update\x20available:\x20v'+_0xf21e06[_0x1f5f08(0x202)]+_0x1f5f08(0x1fc)+_0x183aeb);}}catch(_0x537d81){}}module[a0_0x3de555(0x1e5)]={'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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sitemills-cli",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "SiteMills CLI Tool - Project Code Management on the SiteMills Platform",
5
5
  "keywords": [
6
6
  "sitemills",