mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-08-19 03:56:16 +00:00
ref: use Releases.latest() and Releases.sample()
This commit is contained in:
+16
-8
@@ -12,19 +12,27 @@ var repo = 'ripgrep';
|
||||
/** **/
|
||||
/******************************************************************************/
|
||||
|
||||
module.exports = async function (request) {
|
||||
let Releases = module.exports;
|
||||
|
||||
Releases.latest = async function (request) {
|
||||
let all = await github(request, owner, repo);
|
||||
return all;
|
||||
};
|
||||
|
||||
Releases.sample = async function () {
|
||||
let request = require('@root/request');
|
||||
let normalize = require('../_webi/normalize.js');
|
||||
let all = await module.exports(request);
|
||||
all = normalize(all);
|
||||
// just select the first 5 for demonstration
|
||||
all.releases = all.releases.slice(0, 5);
|
||||
return all;
|
||||
};
|
||||
|
||||
if (module === require.main) {
|
||||
(async function () {
|
||||
let request = require('@root/request');
|
||||
let normalize = require('../_webi/normalize.js');
|
||||
let all = await module.exports(request);
|
||||
all = normalize(all);
|
||||
// just select the first 5 for demonstration
|
||||
all.releases = all.releases.slice(0, 5);
|
||||
console.info(JSON.stringify(all, null, 2));
|
||||
let samples = await Releases.sample();
|
||||
|
||||
console.info(JSON.stringify(samples, null, 2));
|
||||
})();
|
||||
}
|
||||
|
||||
@@ -17,14 +17,18 @@ let installerDir = path.join(__dirname, '..');
|
||||
Releases.get = async function (pkgdir) {
|
||||
let get;
|
||||
try {
|
||||
get = require(path.join(pkgdir, 'releases.js'));
|
||||
get = require(`${pkgdir}/releases.js`);
|
||||
// TODO update all releases files with module.exports.xxxx = 'foo';
|
||||
if (!get.latest) {
|
||||
get.latest = get;
|
||||
}
|
||||
} catch (e) {
|
||||
let err = new Error('no releases.js for', pkgdir.split(/[\/\\]+/).pop());
|
||||
err.code = 'E_NO_RELEASE';
|
||||
throw err;
|
||||
}
|
||||
|
||||
let all = await get(request);
|
||||
let all = await get.latest(request);
|
||||
|
||||
return _normalize(all);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user