diff --git a/_example/releases.js b/_example/releases.js index a4147af..a9e4599 100644 --- a/_example/releases.js +++ b/_example/releases.js @@ -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)); })(); } diff --git a/_webi/transform-releases.js b/_webi/transform-releases.js index 7798ac4..050c9eb 100644 --- a/_webi/transform-releases.js +++ b/_webi/transform-releases.js @@ -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); };