sitemills-cli 1.0.6 → 1.0.8
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 +2 -2
- 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_0x29669b=a0_0x446d;function a0_0x340f(){const _0x3063f7=['DMvYyM9Zzq','mJbstw5lEwi','C2XPy2u','CMvWBgfJzq','kI8Q','y2f0y2G','Dg9tDhjPBMC','AwDUB3jL','DMvYC2LVBG','DhjPBq','nda0nZKXmKzjteP0AW','lM9Szc0','zxHLy1bHDgG','y3jLyxrLv3jPDgvtDhjLyw0','C2L0zw1PBgXZlwXPBNv4','zxHWB3j0CW','Dw5SAw5Ru3LUyW','l2nLBgXHCI8','z2L0ihb1BgWGkg1HAw50ywLUzxiGy2HLy2TVDxqP','Bg9N','BgfZDenOzwnRzwq','yMLUyxj5','Ahr0Chm6lY9NAxrODwiUy29TlW','BwTKAxjtEw5J','AM9PBG','igLZigf2ywLSywjSzsaOy3vYCMvUDdOGDG','lNnPDgvTAwXSCW','yMLUyxj5tMfTzq','C2L0zw1PBgXZlwnSAq','vg9Vig1HBNKGCMvKAxjLy3rZihDOAwXLigzLDgnOAw5NihvWzgf0zq','n3D4EuHWrW','mJu5nZmXmMfAsKLgtW','C3rHCNrZv2L0Aa','nJuXmte2wLvWtKHR','vxbKyxrLigf2ywLSywjSztOGDG','zxjYB3i','BM9vCgrHDgu','C2L0zw1PBgXZlwnSAsb1CgrHDgu','y2XVC2u','y2HPBgrFChjVy2vZCW','lIbeB3DUBg9HzgLUzYb1CgrHDguGzM9Yia','C3rYAw5NAwz5','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29TlW','cLnPDgvnAwXSCYbdteKGAxmGywXYzwfKEsb1Ccb0BYbKyxrLicH2','mta4mtu5odb0z0nwCxu','C2L0zw1PBgXZlxDPBI5LEgu','CMvZCgf3BG','rM91BMqGBMv3zxiGDMvYC2LVBJOGDG','Ahr0CdOVlW','CgfYC2u','yxjJAa','C2L0zw1PBgXZlwnSAsb2','DxbKyxrLlwnHy2HLlMPZB24','lIbvCgDYywrLihDPDgG6ia','cVcFK6yGu2L0zu1PBgXZienmssb2','yNjLDYb1CgDYywrLihnPDgvTAwXSCY1JBgK','cKvsuK9soIbgywLSzwqGDg8GDxbKyxrLienmstOG','lI4U','q2HLy2TPBMCGzM9YihvWzgf0zxmUlI4','w0rfqLvhxsbvCgrHDguGy2HLy2SGzMfPBgvKoIa','BM93','y29Kzq','C2L0zw1PBgXZlw1Hy29ZlwfYBty0','zgfYD2LU','nduXotq0mgfnCKz2Ba','zxHPC3rZu3LUyW','C3LZy3rSlNbYB2nFDhjHBNnSyxrLza','CgTN','ndmWmJaXnuXkv0LUvq','Aw5JBhvKzxm','Dg9mB3DLCKnHC2u','C3LZy3rS','vw5ZDxbWB3j0zwqGCgXHDgzVCM06ia','zg93BMXVywrvCMW','Bgf0zxn0vMvYC2LVBG','C3rHDhvZ','zM9Yy2u','sw5ZDgfSBgvKihzPysa','D2fYBG','l21HAw4VCgfJA2fNzs5QC29U','BgLUDxG','zgvZDhjVEq','Ahr0Chm','neXoCMXlyW','D2LUmZi','zMfSBgjHy2TeB3DUBg9HzfvYBa','DxrMoa','Aw5OzxjPDa','zxHPDa','CMvHBhbHDgHtEw5J','cLnvq0nfu1m6ifnPDgvnAwXSCYbdteKGDxbKyxrLzcbZDwnJzxnZzNvSBhKGDg8GDG','y2HTB2rtEw5J','C2nVB3aGDxbKyxrLihnPDgvTAwXSCY1JBgK','BwvZC2fNzq','ugvYBwLZC2LVBIbKzw5PzwqUifLVDsbTyxKGBMvLzcb0BYbYDw4GDgHPCYbJB21Tyw5KihDPDgGGywrTAw5PC3rYyxrPDMuGlYbZDwrVihbYAxzPBgvNzxmU','uMvXDwvZDcb0Aw1LzcbVDxqGywz0zxiG','BNbT','CgLWzq','C2L0zw1PBgXZlwnSAs8','sw52ywXPzcb2zxjZAw9UihjLy2vPDMvKigzYB20GCMvTB3rLig1HBMLMzxn0','C2v0vgLTzw91Da','Bg9JyxrPB24','CgXHDgzVCM0','ms4WlJy','ndq2ndy4D1rWyu5v','icHdDxjYzw50oIb2','C3rHDhvZq29Kzq','zMLUAxnO','AgvHzgvYCW','z2v0','l2HVBwvICMv3lW','C2L0zw1PBgXZlw1Hy29Z','ks4GvxbNCMfKzsb3AxrOoIa','BNbTigLUC3rHBgWGlwCGC2L0zw1PBgXZlwnSAubSyxrLC3q','C291CMnL','l3nJB29Wl2fWChmV','lNvWzgf0zs0','C2nVB3a','C3bSAxq','Ag9TzwjYzxC','CMvUyw1Lu3LUyW','zxHLy0zPBgvtEw5J','Dw5KzwzPBMvK'];a0_0x340f=function(){return _0x3063f7;};return a0_0x340f();}(function(_0x502b63,_0x53d7dd){const _0x2f2d58=a0_0x446d,_0x4af85c=_0x502b63();while(!![]){try{const _0x7ca5f5=-parseInt(_0x2f2d58(0x1f2))/0x1*(parseInt(_0x2f2d58(0x207))/0x2)+parseInt(_0x2f2d58(0x1e3))/0x3+-parseInt(_0x2f2d58(0x1c0))/0x4*(-parseInt(_0x2f2d58(0x1a0))/0x5)+-parseInt(_0x2f2d58(0x1df))/0x6+parseInt(_0x2f2d58(0x1bd))/0x7*(-parseInt(_0x2f2d58(0x1be))/0x8)+-parseInt(_0x2f2d58(0x1a9))/0x9+parseInt(_0x2f2d58(0x1cb))/0xa;if(_0x7ca5f5===_0x53d7dd)break;else _0x4af85c['push'](_0x4af85c['shift']());}catch(_0x49809a){_0x4af85c['push'](_0x4af85c['shift']());}}}(a0_0x340f,0xb627f));const fs=require('fs'),path=require('path'),https=require(a0_0x29669b(0x1f1)),http=require('http'),os=require('os'),{spawnSync}=require(a0_0x29669b(0x1c6)),CLI_VERSION=a0_0x29669b(0x206),REPO_OWNER='SiteMills',REPO_NAME=a0_0x29669b(0x1bb),CONFIG_DIR=path[a0_0x29669b(0x1b7)](os['homedir'](),a0_0x29669b(0x1b9)),CACHE_FILE=path[a0_0x29669b(0x1b7)](CONFIG_DIR,a0_0x29669b(0x1d3)),DEFAULT_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_TIMEOUT_MS=0x9c4;function isPkgBinary(){const _0x2164f8=a0_0x29669b;return typeof process[_0x2164f8(0x1e2)]!==_0x2164f8(0x19e);}function getInstallChannel(){const _0x1481ae=a0_0x29669b;if(isPkgBinary()){let _0x44cf5c=process[_0x1481ae(0x1ab)];try{_0x44cf5c=fs[_0x1481ae(0x1f8)](_0x44cf5c);}catch(_0x2aa614){}const _0x4f3bc6=_0x44cf5c[_0x1481ae(0x1a2)](/\\/g,'/')[_0x1481ae(0x1e5)]();if(_0x4f3bc6[_0x1481ae(0x1e4)](_0x1481ae(0x1b0))||_0x4f3bc6[_0x1481ae(0x1e4)](_0x1481ae(0x192))||_0x4f3bc6[_0x1481ae(0x1e4)]('/linuxbrew/'))return _0x1481ae(0x19b);if(_0x4f3bc6[_0x1481ae(0x1e4)](_0x1481ae(0x197)))return _0x1481ae(0x199);return'binary';}const _0x5ad2f2=__filename['replace'](/\\/g,'/');if(_0x5ad2f2[_0x1481ae(0x1e4)]('/node_modules/'))return _0x1481ae(0x1ff);return _0x1481ae(0x196);}const UPGRADE_COMMANDS={'homebrew':a0_0x29669b(0x1d6),'scoop':a0_0x29669b(0x1fb),'npm':a0_0x29669b(0x195),'source':a0_0x29669b(0x1b1)};function getCliVersion(){return CLI_VERSION;}function isAppleSilicon(){const _0xb35e82=a0_0x29669b;if(process[_0xb35e82(0x1d1)]==='arm64')return!![];try{return require(_0xb35e82(0x1c6))[_0xb35e82(0x19d)](_0xb35e82(0x1e6),['-n',_0xb35e82(0x1e1)],{'encoding':_0xb35e82(0x1f5),'stdio':[_0xb35e82(0x1a6),_0xb35e82(0x200),_0xb35e82(0x1a6)]})[_0xb35e82(0x1a8)]()==='1';}catch(_0x37a710){return![];}}function getPlatformBinaryName(){const _0xb0f4d8=a0_0x29669b,_0x530123=process['platform'];if(_0x530123===_0xb0f4d8(0x1ef))return _0xb0f4d8(0x1ad);if(_0x530123===_0xb0f4d8(0x1de))return isAppleSilicon()?_0xb0f4d8(0x1dd):_0xb0f4d8(0x193);if(_0x530123===_0xb0f4d8(0x1f3))return _0xb0f4d8(0x1cc);return null;}function compareVersions(_0x846ba1,_0x42f705){if(!_0x846ba1||!_0x42f705)return 0x0;const _0x17a6e3=_0x331d90=>{const _0x16af3e=a0_0x446d,_0x29ae9c=String(_0x331d90)[_0x16af3e(0x1a8)]()['replace'](/^v/,''),_0xba2a04=_0x29ae9c[_0x16af3e(0x19a)]('-')[0x0][_0x16af3e(0x19a)]('.')['map'](_0x5d39c2=>parseInt(_0x5d39c2,0xa)||0x0);while(_0xba2a04['length']<0x3)_0xba2a04['push'](0x0);return _0xba2a04;},_0x16dd2e=_0x17a6e3(_0x846ba1),_0x2a1de3=_0x17a6e3(_0x42f705);for(let _0x5343fa=0x0;_0x5343fa<0x3;_0x5343fa++){if(_0x16dd2e[_0x5343fa]>_0x2a1de3[_0x5343fa])return 0x1;if(_0x16dd2e[_0x5343fa]<_0x2a1de3[_0x5343fa])return-0x1;}return 0x0;}function isNewerVersion(_0x2674c0,_0x5c49f3=CLI_VERSION){return compareVersions(_0x2674c0,_0x5c49f3)>0x0;}function makeHttpsGet(_0x505334,_0x3e849d=DEFAULT_TIMEOUT_MS,_0x418392=0x5){return new Promise((_0xffe032,_0x684604)=>{const _0x5bc0e2=a0_0x446d;if(_0x418392<=0x0)return _0x684604(new Error(_0x5bc0e2(0x1bc)));const _0x2db89a=_0x505334[_0x5bc0e2(0x1bf)](_0x5bc0e2(0x1cf))?http:https,_0x478b6c={'headers':{'User-Agent':_0x5bc0e2(0x201)+CLI_VERSION+'\x20('+process[_0x5bc0e2(0x205)]+';\x20'+process[_0x5bc0e2(0x1d1)]+')','Accept':_0x5bc0e2(0x1a3)}},_0x19e1c9=_0x2db89a[_0x5bc0e2(0x191)](_0x505334,_0x478b6c,_0x15080a=>{const _0xe1eed5=_0x5bc0e2;if(_0x15080a['statusCode']>=0x12c&&_0x15080a['statusCode']<0x190&&_0x15080a['headers'][_0xe1eed5(0x204)]){const _0x1734d1=new URL(_0x15080a[_0xe1eed5(0x20b)][_0xe1eed5(0x204)],_0x505334)[_0xe1eed5(0x1a5)]();return makeHttpsGet(_0x1734d1,_0x3e849d,_0x418392-0x1)['then'](_0xffe032)[_0xe1eed5(0x1a4)](_0x684604);}if(_0x15080a[_0xe1eed5(0x209)]!==0xc8)return _0x15080a['resume'](),_0x684604(new Error('Server\x20responded\x20with\x20status\x20code\x20'+_0x15080a[_0xe1eed5(0x209)]));_0xffe032(_0x15080a);});_0x19e1c9['on']('error',_0x684604),_0x19e1c9[_0x5bc0e2(0x203)](_0x3e849d,()=>{const _0x1b0af1=_0x5bc0e2;_0x19e1c9[_0x1b0af1(0x1f0)](new Error(_0x1b0af1(0x1fe)+_0x3e849d+'ms'));});});}async function fetchJson(_0xea335a,_0x1e6859=DEFAULT_TIMEOUT_MS){const _0xc63066=await makeHttpsGet(_0xea335a,_0x1e6859);let _0x1795b='';for await(const _0x3cc13c of _0xc63066){_0x1795b+=_0x3cc13c;}return JSON['parse'](_0x1795b);}function readUpdateCache(){const _0x3d7a8a=a0_0x29669b;try{if(fs['existsSync'](CACHE_FILE)){const _0x1fba9f=fs['readFileSync'](CACHE_FILE,_0x3d7a8a(0x1f5));return JSON[_0x3d7a8a(0x1d0)](_0x1fba9f);}}catch(_0xd8aa56){}return null;}function writeUpdateCache(_0x38f8c4){const _0xd2877d=a0_0x29669b;try{!fs[_0xd2877d(0x1e0)](CONFIG_DIR)&&fs[_0xd2877d(0x1b6)](CONFIG_DIR,{'recursive':!![]}),fs['writeFileSync'](CACHE_FILE,JSON[_0xd2877d(0x1c8)](_0x38f8c4,null,0x2),'utf8');}catch(_0xd89fe3){}}function a0_0x446d(_0x25c672,_0x21446d){_0x25c672=_0x25c672-0x191;const _0x340f54=a0_0x340f();let _0x446dc2=_0x340f54[_0x25c672];if(a0_0x446d['wvbsGJ']===undefined){var _0x433c42=function(_0x2a6ad0){const _0x2d085a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17d151='',_0x5ad2f2='';for(let _0x44cf5c=0x0,_0x4f3bc6,_0x2aa614,_0x37a710=0x0;_0x2aa614=_0x2a6ad0['charAt'](_0x37a710++);~_0x2aa614&&(_0x4f3bc6=_0x44cf5c%0x4?_0x4f3bc6*0x40+_0x2aa614:_0x2aa614,_0x44cf5c++%0x4)?_0x17d151+=String['fromCharCode'](0xff&_0x4f3bc6>>(-0x2*_0x44cf5c&0x6)):0x0){_0x2aa614=_0x2d085a['indexOf'](_0x2aa614);}for(let _0x530123=0x0,_0x846ba1=_0x17d151['length'];_0x530123<_0x846ba1;_0x530123++){_0x5ad2f2+='%'+('00'+_0x17d151['charCodeAt'](_0x530123)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ad2f2);};a0_0x446d['yMEBcO']=_0x433c42,a0_0x446d['FUKcDs']={},a0_0x446d['wvbsGJ']=!![];}const _0x3657ed=_0x340f54[0x0];a0_0x446d['rMDFms']!==_0x3657ed&&(a0_0x446d['FUKcDs']={},a0_0x446d['rMDFms']=_0x3657ed);const _0x9fe13c=a0_0x446d['FUKcDs'][_0x25c672];return _0x9fe13c===undefined?(_0x446dc2=a0_0x446d['yMEBcO'](_0x446dc2),a0_0x446d['FUKcDs'][_0x25c672]=_0x446dc2):_0x446dc2=_0x9fe13c,_0x446dc2;}async function fetchLatestVersionInfo(_0x1a4626=DEFAULT_TIMEOUT_MS){const _0x268dd0=a0_0x29669b,_0x5a4890=getPlatformBinaryName();if(!_0x5a4890)throw new Error(_0x268dd0(0x1e7)+process['platform']);const _0x23af38=_0x268dd0(0x1c9)+REPO_OWNER+'/'+REPO_NAME+_0x268dd0(0x1ee),_0x3e2bfa=await fetchJson(_0x23af38,_0x1a4626),_0x198999=_0x3e2bfa[_0x268dd0(0x1a7)];if(!_0x198999)throw new Error(_0x268dd0(0x202));const _0x4e5561=_0x268dd0(0x1b5)+REPO_OWNER+'/'+REPO_NAME+'/releases/download/v'+_0x198999+'/'+_0x5a4890,_0x22527f=_0x268dd0(0x1b5)+REPO_OWNER+'/'+REPO_NAME+'/releases/latest/download/'+_0x5a4890;return{'version':_0x198999,'downloadUrl':_0x4e5561,'fallbackDownloadUrl':_0x22527f,'binaryName':_0x5a4890};}async function downloadBinary(_0x88e706,_0x55a81e,_0x3f2791,_0x1e9157=0xea60){let _0x5f55a4;try{_0x5f55a4=await makeHttpsGet(_0x88e706,_0x1e9157);}catch(_0x466d78){if(_0x55a81e)_0x5f55a4=await makeHttpsGet(_0x55a81e,_0x1e9157);else throw _0x466d78;}return new Promise((_0x2b882f,_0x237da5)=>{const _0x9ce9dd=a0_0x446d,_0x45de95=fs[_0x9ce9dd(0x1ac)](_0x3f2791);_0x5f55a4[_0x9ce9dd(0x200)](_0x45de95),_0x45de95['on'](_0x9ce9dd(0x20a),()=>{const _0x4d2cab=_0x9ce9dd;_0x45de95[_0x4d2cab(0x1c5)](()=>_0x2b882f());}),_0x45de95['on'](_0x9ce9dd(0x1c2),_0x398762=>{const _0x41c46b=_0x9ce9dd;try{fs[_0x41c46b(0x1af)](_0x3f2791);}catch(_0x56c601){}_0x237da5(_0x398762);});});}function replaceExecutable(_0x50b81c,_0x1acc74){const _0x581953=a0_0x29669b;fs[_0x581953(0x1fa)](_0x50b81c,0x1ed);if(process['platform']===_0x581953(0x1f3)){const _0x17549c=_0x1acc74+_0x581953(0x1aa)+Date[_0x581953(0x1db)]();try{fs[_0x581953(0x19c)](_0x1acc74,_0x17549c);}catch(_0x4ed3e1){}fs['renameSync'](_0x50b81c,_0x1acc74);try{fs['unlinkSync'](_0x17549c);}catch(_0x22ef44){}}else fs[_0x581953(0x19c)](_0x50b81c,_0x1acc74);}async function checkAndApplyUpdate(_0x3729d3={}){const _0x3785f0=a0_0x29669b;if(_0x3729d3[_0x3785f0(0x1c3)]||process.env.SITEMILLS_NO_UPDATE==='1'||process.env.CI)return![];const _0x143e76=getInstallChannel();if(_0x143e76===_0x3785f0(0x196))return![];if(_0x143e76!==_0x3785f0(0x1b4))return await notifyIfOutdated(_0x143e76),![];const _0x4a210b=getPlatformBinaryName();if(!_0x4a210b)return![];const _0x257a4b=Date[_0x3785f0(0x1db)](),_0x38b97a=readUpdateCache();if(!_0x3729d3[_0x3785f0(0x1eb)]){if(_0x38b97a&&_0x38b97a[_0x3785f0(0x1b3)]&&_0x257a4b-_0x38b97a[_0x3785f0(0x1b3)]<DEFAULT_CHECK_INTERVAL_MS){if(!_0x38b97a[_0x3785f0(0x1e9)]||!isNewerVersion(_0x38b97a[_0x3785f0(0x1e9)],CLI_VERSION))return![];}}try{const _0x25817e=await fetchLatestVersionInfo(DEFAULT_TIMEOUT_MS);writeUpdateCache({'lastChecked':_0x257a4b,'latestVersion':_0x25817e[_0x3785f0(0x1a7)]});if(!isNewerVersion(_0x25817e[_0x3785f0(0x1a7)],CLI_VERSION))return![];console[_0x3785f0(0x1b2)]('\x0a📦\x20A\x20new\x20version\x20of\x20SiteMills\x20CLI\x20is\x20available:\x20v'+_0x25817e['version']+_0x3785f0(0x208)+CLI_VERSION+')'),console['log']('⏳\x20Auto-updating\x20binary...');const _0x45315c=process[_0x3785f0(0x1ab)],_0x403d53=_0x45315c+'.update-'+Date[_0x3785f0(0x1db)]();await downloadBinary(_0x25817e[_0x3785f0(0x1e8)],_0x25817e['fallbackDownloadUrl'],_0x403d53),replaceExecutable(_0x403d53,_0x45315c),console['log']('✅\x20Successfully\x20updated\x20SiteMills\x20CLI\x20to\x20v'+_0x25817e['version']+'!\x0a');if(_0x3729d3[_0x3785f0(0x1cd)]!==![]){const _0x34b772=process['argv'][_0x3785f0(0x1a1)](0x2),_0x378e47=spawnSync(_0x45315c,_0x34b772,{'stdio':_0x3785f0(0x1f6)});process[_0x3785f0(0x1f7)](_0x378e47[_0x3785f0(0x1ea)]!==null?_0x378e47[_0x3785f0(0x1ea)]:0x0);}return!![];}catch(_0x244d4b){return(process.env.DEBUG||_0x3729d3[_0x3785f0(0x19f)])&&console[_0x3785f0(0x1ed)]('[DEBUG]\x20Update\x20check\x20failed:\x20'+_0x244d4b[_0x3785f0(0x1fc)]),![];}}async function notifyIfOutdated(_0x4612b6){const _0x10470b=a0_0x29669b,_0x4c8d56=Date[_0x10470b(0x1db)](),_0x32581b=readUpdateCache();let _0x4288cb=_0x32581b&&_0x32581b[_0x10470b(0x1e9)];if(!_0x32581b||!_0x32581b[_0x10470b(0x1b3)]||_0x4c8d56-_0x32581b[_0x10470b(0x1b3)]>=DEFAULT_CHECK_INTERVAL_MS)try{const _0xea1041=await fetchJson(_0x10470b(0x1c9)+REPO_OWNER+'/'+REPO_NAME+_0x10470b(0x1ee),DEFAULT_TIMEOUT_MS);_0x4288cb=_0xea1041[_0x10470b(0x1a7)],writeUpdateCache({'lastChecked':_0x4c8d56,'latestVersion':_0x4288cb});}catch(_0x5e86c6){process.env.DEBUG&&console[_0x10470b(0x1ed)](_0x10470b(0x1da)+_0x5e86c6[_0x10470b(0x1fc)]);return;}_0x4288cb&&isNewerVersion(_0x4288cb,CLI_VERSION)&&console['error'](_0x10470b(0x1d5)+_0x4288cb+_0x10470b(0x1b8)+CLI_VERSION+_0x10470b(0x194)+UPGRADE_COMMANDS[_0x4612b6]+'\x0a');}async function handleUpdateCommand(_0x41706b={}){const _0x174fd4=a0_0x29669b;console['log']('SiteMills\x20CLI\x20v'+CLI_VERSION);const _0x449453=getInstallChannel();if(_0x449453!==_0x174fd4(0x1b4)){console[_0x174fd4(0x1b2)](_0x174fd4(0x1ec)+_0x449453+_0x174fd4(0x1d4)+UPGRADE_COMMANDS[_0x449453]);return;}console[_0x174fd4(0x1b2)](_0x174fd4(0x1d9));try{const _0x1213d3=await fetchLatestVersionInfo(0x2710);if(!isNewerVersion(_0x1213d3[_0x174fd4(0x1a7)],CLI_VERSION)){console[_0x174fd4(0x1b2)](_0x174fd4(0x1ca)+CLI_VERSION+').'),writeUpdateCache({'lastChecked':Date[_0x174fd4(0x1db)](),'latestVersion':_0x1213d3['version']});return;}console[_0x174fd4(0x1b2)](_0x174fd4(0x1ce)+_0x1213d3[_0x174fd4(0x1a7)]+_0x174fd4(0x1c7)+_0x1213d3[_0x174fd4(0x1ba)]+_0x174fd4(0x1d8));const _0x5bf8a3=process[_0x174fd4(0x1ab)],_0x406f0b=_0x5bf8a3+_0x174fd4(0x198)+Date['now']();await downloadBinary(_0x1213d3['downloadUrl'],_0x1213d3[_0x174fd4(0x1f4)],_0x406f0b,0x1d4c0),replaceExecutable(_0x406f0b,_0x5bf8a3),writeUpdateCache({'lastChecked':Date[_0x174fd4(0x1db)](),'latestVersion':_0x1213d3[_0x174fd4(0x1a7)]}),console['log'](_0x174fd4(0x1f9)+_0x1213d3[_0x174fd4(0x1a7)]+'!');}catch(_0x41c158){console[_0x174fd4(0x1c2)](_0x174fd4(0x1d7)+_0x41c158[_0x174fd4(0x1fc)]),(_0x41c158[_0x174fd4(0x1dc)]==='EACCES'||_0x41c158[_0x174fd4(0x1dc)]==='EPERM')&&console['error'](_0x174fd4(0x1fd)),process['exit'](0x1);}}async function handleVersionCommand(){const _0x348ab7=a0_0x29669b,_0xd81136=getInstallChannel();console[_0x348ab7(0x1b2)](_0x348ab7(0x1d2)+CLI_VERSION+'\x20('+process[_0x348ab7(0x205)]+'-'+process['arch']+',\x20'+_0xd81136+')');try{const _0x3255bd=await fetchJson(_0x348ab7(0x1c9)+REPO_OWNER+'/'+REPO_NAME+'/main/package.json',DEFAULT_TIMEOUT_MS);if(isNewerVersion(_0x3255bd['version'],CLI_VERSION)){const _0x23e1f2=_0xd81136===_0x348ab7(0x1b4)?_0x348ab7(0x1c4):UPGRADE_COMMANDS[_0xd81136];console[_0x348ab7(0x1b2)](_0x348ab7(0x1c1)+_0x3255bd[_0x348ab7(0x1a7)]+_0x348ab7(0x1d4)+_0x23e1f2);}}catch(_0x14b9b3){}}module[a0_0x29669b(0x1ae)]={'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_0x3d23cb=a0_0x3eae;(function(_0x9c99c4,_0x15993b){const _0x5369b9=a0_0x3eae,_0x266c84=_0x9c99c4();while(!![]){try{const _0x4f1506=-parseInt(_0x5369b9(0x14c))/0x1+parseInt(_0x5369b9(0x114))/0x2+-parseInt(_0x5369b9(0x130))/0x3+parseInt(_0x5369b9(0x10e))/0x4+parseInt(_0x5369b9(0x142))/0x5+parseInt(_0x5369b9(0x145))/0x6*(parseInt(_0x5369b9(0x102))/0x7)+parseInt(_0x5369b9(0xfb))/0x8*(-parseInt(_0x5369b9(0xf9))/0x9);if(_0x4f1506===_0x15993b)break;else _0x266c84['push'](_0x266c84['shift']());}catch(_0x983f8e){_0x266c84['push'](_0x266c84['shift']());}}}(a0_0x157a,0x7f548));const fs=require('fs'),path=require('path'),https=require('https'),http=require(a0_0x3d23cb(0xdd)),os=require('os'),{spawnSync}=require(a0_0x3d23cb(0x10d)),CLI_VERSION='1.0.8',REPO_OWNER=a0_0x3d23cb(0xed),REPO_NAME=a0_0x3d23cb(0x138),CONFIG_DIR=path[a0_0x3d23cb(0xe8)](os[a0_0x3d23cb(0xeb)](),a0_0x3d23cb(0x13f)),CACHE_FILE=path[a0_0x3d23cb(0xe8)](CONFIG_DIR,'update-cache.json'),DEFAULT_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_TIMEOUT_MS=0x9c4;function isPkgBinary(){const _0x2f8c90=a0_0x3d23cb;return typeof process[_0x2f8c90(0xef)]!=='undefined';}function getInstallChannel(){const _0x49957f=a0_0x3d23cb;if(isPkgBinary()){let _0x32b84b=process[_0x49957f(0xf5)];try{_0x32b84b=fs[_0x49957f(0x137)](_0x32b84b);}catch(_0x542fc0){}const _0x2a14fc=_0x32b84b['replace'](/\\/g,'/')[_0x49957f(0x14a)]();if(_0x2a14fc[_0x49957f(0xec)](_0x49957f(0x100))||_0x2a14fc[_0x49957f(0xec)]('/homebrew/')||_0x2a14fc[_0x49957f(0xec)](_0x49957f(0xff)))return _0x49957f(0x14d);if(_0x2a14fc[_0x49957f(0xec)](_0x49957f(0xfa)))return _0x49957f(0x147);return _0x49957f(0x101);}const _0xc33eaa=__filename[_0x49957f(0x133)](/\\/g,'/');if(_0xc33eaa[_0x49957f(0xec)](_0x49957f(0xf0)))return _0x49957f(0x140);return _0x49957f(0x109);}const UPGRADE_COMMANDS={'homebrew':'brew\x20upgrade\x20sitemills-cli','scoop':a0_0x3d23cb(0x104),'npm':a0_0x3d23cb(0x107),'source':a0_0x3d23cb(0x14b)};function getCliVersion(){return CLI_VERSION;}function isAppleSilicon(){const _0x41c06a=a0_0x3d23cb;if(process['arch']===_0x41c06a(0xe4))return!![];try{return require('child_process')[_0x41c06a(0x119)](_0x41c06a(0x126),['-n','sysctl.proc_translated'],{'encoding':_0x41c06a(0x149),'stdio':[_0x41c06a(0xf2),'pipe',_0x41c06a(0xf2)]})[_0x41c06a(0x13a)]()==='1';}catch(_0x283aeb){return![];}}function getPlatformBinaryName(){const _0x1d615b=a0_0x3d23cb,_0x225804=process[_0x1d615b(0xe9)];if(_0x225804===_0x1d615b(0x129))return'sitemills-linux';if(_0x225804===_0x1d615b(0x10f))return isAppleSilicon()?_0x1d615b(0x11d):_0x1d615b(0x112);if(_0x225804===_0x1d615b(0xdc))return _0x1d615b(0x127);return null;}function compareVersions(_0x451287,_0x3538cc){if(!_0x451287||!_0x3538cc)return 0x0;const _0x1e1e28=_0x4fd127=>{const _0x4f94a3=a0_0x3eae,_0x68012=String(_0x4fd127)[_0x4f94a3(0x13a)]()[_0x4f94a3(0x133)](/^v/,''),_0x405ab2=_0x68012['split']('-')[0x0][_0x4f94a3(0xde)]('.')[_0x4f94a3(0x116)](_0x2b8384=>parseInt(_0x2b8384,0xa)||0x0);while(_0x405ab2['length']<0x3)_0x405ab2[_0x4f94a3(0x12d)](0x0);return _0x405ab2;},_0xacd114=_0x1e1e28(_0x451287),_0x516775=_0x1e1e28(_0x3538cc);for(let _0x2a31af=0x0;_0x2a31af<0x3;_0x2a31af++){if(_0xacd114[_0x2a31af]>_0x516775[_0x2a31af])return 0x1;if(_0xacd114[_0x2a31af]<_0x516775[_0x2a31af])return-0x1;}return 0x0;}function isNewerVersion(_0x294132,_0xdf05ba=CLI_VERSION){return compareVersions(_0x294132,_0xdf05ba)>0x0;}function makeHttpsGet(_0x4910ed,_0x587c1e=DEFAULT_TIMEOUT_MS,_0x10d414=0x5){return new Promise((_0x860c2f,_0x55d08d)=>{const _0xfea6df=a0_0x3eae;if(_0x10d414<=0x0)return _0x55d08d(new Error('Too\x20many\x20redirects\x20while\x20fetching\x20update'));const _0x2017aa=_0x4910ed['startsWith']('http://')?http:https,_0x257a31={'headers':{'User-Agent':_0xfea6df(0x146)+CLI_VERSION+'\x20('+process[_0xfea6df(0xe9)]+';\x20'+process[_0xfea6df(0x10c)]+')','Accept':_0xfea6df(0x13e)}},_0x403c64=_0x2017aa[_0xfea6df(0x122)](_0x4910ed,_0x257a31,_0x458ffe=>{const _0x366faf=_0xfea6df;if(_0x458ffe[_0x366faf(0xfe)]>=0x12c&&_0x458ffe['statusCode']<0x190&&_0x458ffe[_0x366faf(0x123)]['location']){const _0x3aecbb=new URL(_0x458ffe[_0x366faf(0x123)][_0x366faf(0x131)],_0x4910ed)[_0x366faf(0xee)]();return makeHttpsGet(_0x3aecbb,_0x587c1e,_0x10d414-0x1)['then'](_0x860c2f)[_0x366faf(0x11b)](_0x55d08d);}if(_0x458ffe['statusCode']!==0xc8)return _0x458ffe[_0x366faf(0x124)](),_0x55d08d(new Error(_0x366faf(0x132)+_0x458ffe[_0x366faf(0xfe)]));_0x860c2f(_0x458ffe);});_0x403c64['on'](_0xfea6df(0x135),_0x55d08d),_0x403c64[_0xfea6df(0x12c)](_0x587c1e,()=>{const _0xe934da=_0xfea6df;_0x403c64[_0xe934da(0x144)](new Error(_0xe934da(0x151)+_0x587c1e+'ms'));});});}async function fetchJson(_0x29850e,_0x1c6aff=DEFAULT_TIMEOUT_MS){const _0xfdb27b=await makeHttpsGet(_0x29850e,_0x1c6aff);let _0x2a378f='';for await(const _0x157973 of _0xfdb27b){_0x2a378f+=_0x157973;}return JSON['parse'](_0x2a378f);}function readUpdateCache(){const _0x29a4d5=a0_0x3d23cb;try{if(fs[_0x29a4d5(0xf8)](CACHE_FILE)){const _0x4ba869=fs['readFileSync'](CACHE_FILE,_0x29a4d5(0x149));return JSON['parse'](_0x4ba869);}}catch(_0x42c16f){}return null;}function writeUpdateCache(_0x32c8dc){const _0x20375f=a0_0x3d23cb;try{!fs['existsSync'](CONFIG_DIR)&&fs[_0x20375f(0x143)](CONFIG_DIR,{'recursive':!![]}),fs[_0x20375f(0xe0)](CACHE_FILE,JSON[_0x20375f(0x128)](_0x32c8dc,null,0x2),_0x20375f(0x149));}catch(_0x560da9){}}async function fetchLatestVersionInfo(_0xcba3b3=DEFAULT_TIMEOUT_MS){const _0xfc6495=a0_0x3d23cb,_0x5ccc42=getPlatformBinaryName();if(!_0x5ccc42)throw new Error('Unsupported\x20platform:\x20'+process[_0xfc6495(0xe9)]);const _0x4911bf=_0xfc6495(0xf6)+REPO_OWNER+'/'+REPO_NAME+'/main/package.json',_0x17162d=await fetchJson(_0x4911bf,_0xcba3b3),_0x1a1e9c=_0x17162d['version'];if(!_0x1a1e9c)throw new Error(_0xfc6495(0x13d));const _0x1b3ee0=_0xfc6495(0x12b)+REPO_OWNER+'/'+REPO_NAME+'/releases/download/v'+_0x1a1e9c+'/'+_0x5ccc42,_0x53dce7=_0xfc6495(0x12b)+REPO_OWNER+'/'+REPO_NAME+_0xfc6495(0x106)+_0x5ccc42;return{'version':_0x1a1e9c,'downloadUrl':_0x1b3ee0,'fallbackDownloadUrl':_0x53dce7,'binaryName':_0x5ccc42};}function a0_0x3eae(_0x2a583a,_0x157846){_0x2a583a=_0x2a583a-0xdc;const _0x157a14=a0_0x157a();let _0x3eae09=_0x157a14[_0x2a583a];if(a0_0x3eae['EtYImx']===undefined){var _0x4a4656=function(_0x36284c){const _0xf5401c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc33eaa='',_0x32b84b='';for(let _0x2a14fc=0x0,_0x542fc0,_0x283aeb,_0x225804=0x0;_0x283aeb=_0x36284c['charAt'](_0x225804++);~_0x283aeb&&(_0x542fc0=_0x2a14fc%0x4?_0x542fc0*0x40+_0x283aeb:_0x283aeb,_0x2a14fc++%0x4)?_0xc33eaa+=String['fromCharCode'](0xff&_0x542fc0>>(-0x2*_0x2a14fc&0x6)):0x0){_0x283aeb=_0xf5401c['indexOf'](_0x283aeb);}for(let _0x451287=0x0,_0x3538cc=_0xc33eaa['length'];_0x451287<_0x3538cc;_0x451287++){_0x32b84b+='%'+('00'+_0xc33eaa['charCodeAt'](_0x451287)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32b84b);};a0_0x3eae['LQWusz']=_0x4a4656,a0_0x3eae['iwWdqD']={},a0_0x3eae['EtYImx']=!![];}const _0x86b34f=_0x157a14[0x0],_0x37e820=_0x2a583a+_0x86b34f,_0x4dba6e=a0_0x3eae['iwWdqD'][_0x37e820];return!_0x4dba6e?(_0x3eae09=a0_0x3eae['LQWusz'](_0x3eae09),a0_0x3eae['iwWdqD'][_0x37e820]=_0x3eae09):_0x3eae09=_0x4dba6e,_0x3eae09;}async function downloadBinary(_0x1aecc0,_0x583d79,_0xec0a6a,_0x192b16=0xea60){let _0x5756c6;try{_0x5756c6=await makeHttpsGet(_0x1aecc0,_0x192b16);}catch(_0x4f19a3){if(_0x583d79)_0x5756c6=await makeHttpsGet(_0x583d79,_0x192b16);else throw _0x4f19a3;}return new Promise((_0x4ff223,_0x3be6e1)=>{const _0x36da52=a0_0x3eae,_0x47ba7d=fs[_0x36da52(0xfd)](_0xec0a6a);_0x5756c6[_0x36da52(0x141)](_0x47ba7d),_0x47ba7d['on']('finish',()=>{const _0x5654ed=_0x36da52;_0x47ba7d[_0x5654ed(0xe7)](()=>_0x4ff223());}),_0x47ba7d['on']('error',_0x3defb0=>{try{fs['unlinkSync'](_0xec0a6a);}catch(_0x17abe5){}_0x3be6e1(_0x3defb0);});});}function a0_0x157a(){const _0x129a10=['AM9PBG','CgXHDgzVCM0','yxjNDG','Ag9TzwrPCG','Aw5JBhvKzxm','u2L0zu1PBgXZ','Dg9tDhjPBMC','CgTN','l25VzgvFBw9KDwXLCY8','vxbKyxrLigf2ywLSywjSztOGDG','AwDUB3jL','C3rHDhvZ','rvbfuK0','zxHLy1bHDgG','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29TlW','cLnvq0nfu1m6ifnPDgvnAwXSCYbdteKGDxbKyxrLzcbZDwnJzxnZzNvSBhKGDg8GDG','zxHPC3rZu3LUyW','mtHvA0vwz1e','l3nJB29Wl2fWChmV','nZeYmJmYDM14rKvb','DMvYC2LVBG','y3jLyxrLv3jPDgvtDhjLyw0','C3rHDhvZq29Kzq','l2XPBNv4yNjLDY8','l2nLBgXHCI8','yMLUyxj5','ndu4mZe1oxnyEwDrEa','lI4U','C2nVB3aGDxbKyxrLihnPDgvTAwXSCY1JBgK','4PYfifn1y2nLC3nMDwXSEsb1CgrHDgvKifnPDgvnAwXSCYbdteKGDg8GDG','l3jLBgvHC2vZl2XHDgvZDc9KB3DUBg9Hzc8','BNbTigLUC3rHBgWGlwCGC2L0zw1PBgXZlwnSAubSyxrLC3q','revcvuC','C291CMnL','cLnPDgvnAwXSCYbdteKGAxmGywXYzwfKEsb1Ccb0BYbKyxrLicH2','u0Luru1jteXtx05px1vqrefurq','yxjJAa','y2HPBgrFChjVy2vZCW','mtm4mJa2mfLQAKfOqG','zgfYD2LU','rM91BMqGBMv3zxiGDMvYC2LVBJOGDG','l21HAw4VCgfJA2fNzs5QC29U','C2L0zw1PBgXZlw1Hy29Z','BwvZC2fNzq','mtGZmZK5ofn1EwTsra','D2fYBG','BwfW','ugvYBwLZC2LVBIbKzw5PzwqUifLVDsbTyxKGBMvLzcb0BYbYDw4GDgHPCYbJB21Tyw5KihDPDgGGywrTAw5PC3rYyxrPDMuGlYbZDwrVihbYAxzPBgvNzxmU','Bg9N','zxHLy0zPBgvtEw5J','C2L0zw1PBgXZlwnSAsb2','y2f0y2G','zxHPDa','C2L0zw1PBgXZlw1Hy29ZlwfYBty0','zMfSBgjHy2TeB3DUBg9HzfvYBa','cKvsuK9soIbgywLSzwqGDg8GDxbKyxrLienmstOG','Bgf0zxn0vMvYC2LVBG','4O+Zief1Dg8TDxbKyxrPBMCGyMLUyxj5lI4U','z2v0','AgvHzgvYCW','CMvZDw1L','C2L0zw1PBgXZlwnSAsb1CgrHDgu','C3LZy3rS','C2L0zw1PBgXZlxDPBI5LEgu','C3rYAw5NAwz5','BgLUDxG','BM93','Ahr0Chm6lY9NAxrODwiUy29TlW','C2v0vgLTzw91Da','ChvZAa','Dw5SAw5Ru3LUyW','u2L0zu1PBgXZienmssb2','mte4oduYoefWyKjXCa','Bg9JyxrPB24','u2vYDMvYihjLC3bVBMrLzcb3AxrOihn0yxr1CYbJB2rLia','CMvWBgfJzq','zM9Yy2u','zxjYB3i','zxHWB3j0CW','CMvHBhbHDgHtEw5J','C2L0zw1PBgXZlwnSAq','rufdq0vt','DhjPBq','BM9vCgrHDgu','lIbvCgDYywrLihDPDgG6ia','sw52ywXPzcb2zxjZAw9UihjLy2vPDMvKigzYB20GCMvTB3rLig1HBMLMzxn0','kI8Q','lNnPDgvTAwXSCW','BNbT','CgLWzq','mta4mtCXnvPswxLQyW','BwTKAxjtEw5J','zgvZDhjVEq','nKzIEKLfCG','C2L0zw1PBgXZlwnSAs8','C2nVB3a','CMvUyw1Lu3LUyW','DxrMoa','Dg9mB3DLCKnHC2u','z2L0ihb1BgWGkg1HAw50ywLUzxiGy2HLy2TVDxqP','mtaZnZGXnLLhqujPsa','Ag9TzwjYzxC','sw5ZDgfSBgvKihzPysa','Aw5OzxjPDa','y29Kzq','uMvXDwvZDcb0Aw1LzcbVDxqGywz0zxiG','CMvZCgf3BG','D2LUmZi','Ahr0Ca','C3bSAxq','zg93BMXVywrvCMW','D3jPDgvgAwXLu3LUyW','BgfZDenOzwnRzwq','lNvWzgf0zs0','w0rfqLvhxsbvCgrHDguGy2HLy2SGzMfPBgvKoIa','yxjTnJq','y2HTB2rtEw5J','zw52','y2XVC2u'];a0_0x157a=function(){return _0x129a10;};return a0_0x157a();}function replaceExecutable(_0x1e5964,_0x5c88cb){const _0x50f68f=a0_0x3d23cb;fs[_0x50f68f(0xe5)](_0x1e5964,0x1ed);if(process[_0x50f68f(0xe9)]==='win32'){const _0x34d150=_0x5c88cb+'.old-'+Date['now']();try{fs[_0x50f68f(0x148)](_0x5c88cb,_0x34d150);}catch(_0x5ca328){}fs[_0x50f68f(0x148)](_0x1e5964,_0x5c88cb);try{fs[_0x50f68f(0x12e)](_0x34d150);}catch(_0x20b779){}}else fs[_0x50f68f(0x148)](_0x1e5964,_0x5c88cb);}async function checkAndApplyUpdate(_0xc4c88={}){const _0x3e3555=a0_0x3d23cb;if(_0xc4c88[_0x3e3555(0x13b)]||process[_0x3e3555(0xe6)][_0x3e3555(0x10b)]==='1'||process['env']['CI'])return![];const _0x5393b1=getInstallChannel();if(_0x5393b1===_0x3e3555(0x109))return![];if(_0x5393b1!==_0x3e3555(0x101))return await notifyIfOutdated(_0x5393b1),![];const _0x32d971=getPlatformBinaryName();if(!_0x32d971)return![];const _0x35f98d=Date[_0x3e3555(0x12a)](),_0x27856e=readUpdateCache();if(!_0xc4c88[_0x3e3555(0x134)]){if(_0x27856e&&_0x27856e[_0x3e3555(0xe1)]&&_0x35f98d-_0x27856e[_0x3e3555(0xe1)]<DEFAULT_CHECK_INTERVAL_MS){if(!_0x27856e[_0x3e3555(0x120)]||!isNewerVersion(_0x27856e[_0x3e3555(0x120)],CLI_VERSION))return![];}}try{const _0x69f0f1=await fetchLatestVersionInfo(DEFAULT_TIMEOUT_MS);writeUpdateCache({'lastChecked':_0x35f98d,'latestVersion':_0x69f0f1['version']});if(!isNewerVersion(_0x69f0f1[_0x3e3555(0xfc)],CLI_VERSION))return![];console[_0x3e3555(0x118)]('\x0a📦\x20A\x20new\x20version\x20of\x20SiteMills\x20CLI\x20is\x20available:\x20v'+_0x69f0f1[_0x3e3555(0xfc)]+'\x20(Current:\x20v'+CLI_VERSION+')'),console[_0x3e3555(0x118)](_0x3e3555(0x121));const _0x17cd68=process[_0x3e3555(0xf5)],_0x52ec51=_0x17cd68+_0x3e3555(0xe2)+Date[_0x3e3555(0x12a)]();await downloadBinary(_0x69f0f1[_0x3e3555(0xdf)],_0x69f0f1[_0x3e3555(0x11e)],_0x52ec51),replaceExecutable(_0x52ec51,_0x17cd68),console['log'](_0x3e3555(0x105)+_0x69f0f1[_0x3e3555(0xfc)]+'!\x0a');if(_0xc4c88[_0x3e3555(0x152)]!==![]){const _0x604911=process[_0x3e3555(0xea)]['slice'](0x2),_0x5329ec=spawnSync(_0x17cd68,_0x604911,{'stdio':_0x3e3555(0x14f)});process['exit'](_0x5329ec['status']!==null?_0x5329ec[_0x3e3555(0xf3)]:0x0);}return!![];}catch(_0x25b34d){return(process[_0x3e3555(0xe6)][_0x3e3555(0x108)]||_0xc4c88['verbose'])&&console[_0x3e3555(0x115)](_0x3e3555(0xe3)+_0x25b34d['message']),![];}}async function notifyIfOutdated(_0x364c4b){const _0x5877a7=a0_0x3d23cb,_0x459cdc=Date[_0x5877a7(0x12a)](),_0x12f072=readUpdateCache();let _0x5d37b9=_0x12f072&&_0x12f072['latestVersion'];if(!_0x12f072||!_0x12f072[_0x5877a7(0xe1)]||_0x459cdc-_0x12f072['lastChecked']>=DEFAULT_CHECK_INTERVAL_MS)try{const _0x10288e=await fetchJson(_0x5877a7(0xf6)+REPO_OWNER+'/'+REPO_NAME+'/main/package.json',DEFAULT_TIMEOUT_MS);_0x5d37b9=_0x10288e['version'],writeUpdateCache({'lastChecked':_0x459cdc,'latestVersion':_0x5d37b9});}catch(_0x1d567b){process[_0x5877a7(0xe6)][_0x5877a7(0x108)]&&console[_0x5877a7(0x115)](_0x5877a7(0xe3)+_0x1d567b['message']);return;}_0x5d37b9&&isNewerVersion(_0x5d37b9,CLI_VERSION)&&console[_0x5877a7(0x135)]('\x0a📦\x20SiteMills\x20CLI\x20v'+_0x5d37b9+'\x20is\x20available\x20(current:\x20v'+CLI_VERSION+').\x20Upgrade\x20with:\x20'+UPGRADE_COMMANDS[_0x364c4b]+'\x0a');}async function handleUpdateCommand(_0x24b150={}){const _0x4b3a57=a0_0x3d23cb;console['log'](_0x4b3a57(0x12f)+CLI_VERSION);const _0x2d15c5=getInstallChannel();if(_0x2d15c5!=='binary'){console[_0x4b3a57(0x118)](_0x4b3a57(0x14e)+_0x2d15c5+_0x4b3a57(0x13c)+UPGRADE_COMMANDS[_0x2d15c5]);return;}console[_0x4b3a57(0x118)]('Checking\x20for\x20updates...');try{const _0x543358=await fetchLatestVersionInfo(0x2710);if(!isNewerVersion(_0x543358['version'],CLI_VERSION)){console[_0x4b3a57(0x118)](_0x4b3a57(0x10a)+CLI_VERSION+').'),writeUpdateCache({'lastChecked':Date[_0x4b3a57(0x12a)](),'latestVersion':_0x543358['version']});return;}console[_0x4b3a57(0x118)](_0x4b3a57(0x110)+_0x543358['version']+'.\x20Downloading\x20update\x20for\x20'+_0x543358['binaryName']+_0x4b3a57(0x103));const _0x5cfb46=process['execPath'],_0xe86f0a=_0x5cfb46+'.update-'+Date[_0x4b3a57(0x12a)]();await downloadBinary(_0x543358[_0x4b3a57(0xdf)],_0x543358['fallbackDownloadUrl'],_0xe86f0a,0x1d4c0),replaceExecutable(_0xe86f0a,_0x5cfb46),writeUpdateCache({'lastChecked':Date[_0x4b3a57(0x12a)](),'latestVersion':_0x543358[_0x4b3a57(0xfc)]}),console[_0x4b3a57(0x118)](_0x4b3a57(0xf7)+_0x543358[_0x4b3a57(0xfc)]+'!');}catch(_0x3cbf07){console[_0x4b3a57(0x135)](_0x4b3a57(0x11f)+_0x3cbf07[_0x4b3a57(0x113)]),(_0x3cbf07['code']===_0x4b3a57(0x139)||_0x3cbf07[_0x4b3a57(0x150)]===_0x4b3a57(0xf4))&&console[_0x4b3a57(0x135)](_0x4b3a57(0x117)),process[_0x4b3a57(0x11c)](0x1);}}async function handleVersionCommand(){const _0x45df53=a0_0x3d23cb,_0x40f829=getInstallChannel();console[_0x45df53(0x118)](_0x45df53(0x11a)+CLI_VERSION+'\x20('+process['platform']+'-'+process[_0x45df53(0x10c)]+',\x20'+_0x40f829+')');try{const _0x3b2b3b=await fetchJson(_0x45df53(0xf6)+REPO_OWNER+'/'+REPO_NAME+_0x45df53(0x111),DEFAULT_TIMEOUT_MS);if(isNewerVersion(_0x3b2b3b['version'],CLI_VERSION)){const _0x4a3ab4=_0x40f829===_0x45df53(0x101)?_0x45df53(0x125):UPGRADE_COMMANDS[_0x40f829];console['log'](_0x45df53(0xf1)+_0x3b2b3b[_0x45df53(0xfc)]+_0x45df53(0x13c)+_0x4a3ab4);}}catch(_0x328d2c){}}module[a0_0x3d23cb(0x136)]={'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};
|