From ea0762c3ea2a452bf4b091f634d4fd22e255784a Mon Sep 17 00:00:00 2001 From: Neeraj Date: Fri, 20 Sep 2024 15:43:25 -0500 Subject: [PATCH] ref(fetch) replace request in _common/brew.js --- .DS_Store | Bin 0 -> 16388 bytes _common/brew.js | 39 +++++++++++++++------------------------ 2 files changed, 15 insertions(+), 24 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..41470fa90ba2195b713ab6c5e07ada9d1d7b3d64 GIT binary patch literal 16388 zcmeHOO>bMr6&-$)5-F?sD7tANpt~Y*WhF2Y6bMw=Mq!|JfyiwaZKIMREit0_7?HFr z8xFiH&;t1h`3dQ^t1S8hvh317!TWB~o^yxfyZ65LoOIJgObXd*;r}ojXq< zgwnyhe?BLDo z{^I&9US;aQ2g7&%oguuu@Eu{g+}l}P_ZQb^@hVhsgoVnRDQdhxje{_@wUvJCIB%{v6EG6g zHVi$yXK3{VrO<*)X+htW^fy;hTKfc+_K-6ege%8EmciJXDnw;w%Ni|2xu8`L`MwwK9 z>~k&5%{a!4euSTHcp!aqZtD=mbRAWcJz%>njyi38sC23W#}-_L6W?y?V6ZHceyKA* z%p}3X431?A4!!IB0a_SrYn7=QK)GSI#k9;YHdYMg#&UC8V&#|0%2>-0T2)XB6*sjs zrItdxXp^lW=Ie6XBr0h}dr^b3BHRe?gR!eJ@=%pEH@51Nd4Slqbqtvxdyzv{QUCQIC$CZbpG}A&+ zQS&$t#1?XFXXaDUPvg^iq6baE?mkR)nl|T=iI}f*}e&ES;lybmb!jT6a}9v1?fkTb&k0(vxbU( z8c)R|z98Ze-7JIcV2{#&9^vhkre>N^Mau__{hYScN8_$7aj^M2&2WZY0ekAbnfi3@ zDSg-$pu!E?7V46V+p{>TVQ_UQK;LE*?pF-xV6ZL0%DMy#kI{-8MGT_?2F}=Q8#vw! zstnX)ixIoOQg)Z&4WBv;ZPu6yb^;l{6pJ;g5mDiKoUv?~oNr8-OEl;9-1yU=>nJ;c zHABwowq&tdw42V?nO3 z1r~5VG`t#kx$CU>!xzdQnkbV|IwK{Y)I+0KDo_#?J%si?CZ{eM z-vNFmKFpmHBd7~mnR9bHhFJ&pl6?xi+h>R>x|Ry!4%Cw!A*C&)NE@hh@AwYN&5e!e zHHKFOk5T@mEuX$(aBKzk-wp*u45|hl@*@fOh(WeRXJ(tYpYEd#L-CD!} z(PUb6E!+yf3HQSN@KLxM4#IEo?Jj=*CE}6u;4_KTP1i)5SWC~xOQMuUvQ2Yfsg<{% zO1)4@HDNQy(y7=1f3P-)UK+pU@rVXr5`CMxYAdd{l}hPa8Y?89({j5F<`xW^<#IQO z{gZ9ID5J}*3UcgsO7x%d$4Zqta0$v|e#1quRK#FA8Vfb3I`?uJkEZV!Cas)9_cL5` zb1w$HVbSmz^qRGo${0==yF#ZmH8GevFx(k)&+3#GUA|VjR0TT^4{W`niN`Td>DxyI zG_Ha2M&dttdci9Ux&riLU$@w-%Pb>H>*^JoHKqa#GCs}r~8`F=LdoIvWmqH)Ery;Y$Vz z78IV$h%TB#t>cN%BdaylslKJuArg65pmSzahm5(1E5HAzZy011v-BM0x}M=WV{n}% zPI~9jVjiPMxw(Lv7-o$gN`?IjOC=2Q^%RL(xCYW!FYul5A}z|vmWxWCE0x-&l)@}K zJ*cXAn}+w2^~bR4isf@7)KJ&(hQ@w(3q?^~PREr~Xrm~snOd7Yw4lIB(exXoX*qn7 zmo2GkOa~bDQ#z|%mphsLnE0S()&&<&x6=iJJjvy+PMk z=pV^-@c1EE(x`ehX zp@>J7H1D+{9%^RpfoERMM$t`|QI|5f??aoN9?-6FU1`@4Eaz{I8Mhy%dIsGD8lwuW zU>txL$(GLXW$+sw&;K!T94ME=Vcvw^VrImTTq>b)4H+Gba^z_U+X_)a zqsu`1c!a+3LMgy!#yF;F6;5W0<{QJ=5>7m;o?r~c92TEh%fvsTjIVDod!Rmk!~AXS z5FgQ;8tOa6nwdFK7f)FsRVnot5xl>N>z(5N|I3XV);HG*tQGivC{U{2KD^BbflCGU z@LBsEy#I{%@&&BG@ga}m<0_Bh<7)m{7{Bk6gX^<+#W%eE@BaX>UjMh$ind<=A%-~O IE4u#w7wk1@VE_OC literal 0 HcmV?d00001 diff --git a/_common/brew.js b/_common/brew.js index ce4e090..cbe3ac5 100644 --- a/_common/brew.js +++ b/_common/brew.js @@ -1,27 +1,28 @@ 'use strict'; /** - * Gets a releases from 'brew'. + * Gets releases from 'brew'. * - * @param request + * @param {null} _ * @param {string} formula * @returns {PromiseLike | Promise} */ -function getDistributables(request, formula) { +function getDistributables(_, formula) { if (!formula) { return Promise.reject('missing formula for brew'); } - return request({ - url: 'https://formulae.brew.sh/api/formula/' + formula + '.json', - fail: true, // https://git.coolaj86.com/coolaj86/request.js/issues/2 - json: true, - }) - .then(failOnBadStatus) + return fetch('https://formulae.brew.sh/api/formula/' + formula + '.json') .then(function (resp) { - var ver = resp.body.versions.stable; + if (!resp.ok) { + throw new Error(`HTTP error! Status: ${resp.status}`); + } + return resp.json(); // Parse JSON response + }) + .then(function (body) { + var ver = body.versions.stable; var dl = ( - resp.body.bottle.stable.files.high_sierra || - resp.body.bottle.stable.files.catalina + body.bottle.stable.files.high_sierra || + body.bottle.stable.files.catalina ).url.replace(new RegExp(ver.replace(/\./g, '\\.'), 'g'), '{{ v }}'); return [ { @@ -29,7 +30,7 @@ function getDistributables(request, formula) { download: dl.replace(/{{ v }}/g, ver), }, ].concat( - resp.body.versioned_formulae.map(function (f) { + body.versioned_formulae.map(function (f) { var ver = f.replace(/.*@/, ''); return { version: ver, @@ -45,20 +46,10 @@ function getDistributables(request, formula) { }); } -function failOnBadStatus(resp) { - if (resp.statusCode >= 400) { - var err = new Error('Non-successful status code: ' + resp.statusCode); - err.code = 'ESTATUS'; - err.response = resp; - throw err; - } - return resp; -} - module.exports = getDistributables; if (module === require.main) { - getDistributables(require('@root/request'), 'mariadb').then(function (all) { + getDistributables(null, 'mariadb').then(function (all) { console.info(JSON.stringify(all, null, 2)); }); }