diff --git a/_common/gitea.js b/_common/gitea.js index ec2cf71..0e3e618 100644 --- a/_common/gitea.js +++ b/_common/gitea.js @@ -20,9 +20,6 @@ async function getAllReleases( username = '', token = '', ) { - if (!baseurl) { - throw new Error('missing baseurl'); - } baseurl = `${baseurl}/api/v1`; let all = await GitHubish.getAllReleases( request, diff --git a/_common/github.js b/_common/github.js new file mode 100644 index 0000000..275cd14 --- /dev/null +++ b/_common/github.js @@ -0,0 +1,44 @@ +'use strict'; + +require('dotenv').config({ path: '.env' }); + +let GitHubish = require('./githubish.js'); + +/** + * Lists GitHub Releases (w/ uploaded assets) + * + * @param {any} request + * @param {String} owner + * @param {String} repo + * @param {String} [baseurl] + * @param {String} [username] + * @param {String} [token] + */ +async function getAllReleases( + request, + owner, + repo, + baseurl = 'https://api.github.com', + username = process.env.GITHUB_USERNAME || '', + token = process.env.GITHUB_TOKEN || '', +) { + let all = await GitHubish.getAllReleases( + request, + owner, + repo, + baseurl, + username, + token, + ); + return all; +} + +module.exports = getAllReleases; + +if (module === require.main) { + getAllReleases(require('@root/request'), 'BurntSushi', 'ripgrep').then( + function (all) { + console.info(JSON.stringify(all, null, 2)); + }, + ); +} diff --git a/_common/githubish.js b/_common/githubish.js index 69f1ed4..77cc692 100644 --- a/_common/githubish.js +++ b/_common/githubish.js @@ -1,16 +1,14 @@ 'use strict'; -require('dotenv').config(); - let GitHubish = module.exports; /** - * Lists GitHub Releases (w/ uploaded assets) + * Lists GitHub-Like Releases (w/ uploaded assets) * * @param {any} request * @param {String} owner * @param {String} repo - * @param {String} [baseurl] + * @param {String} baseurl * @param {String} [username] * @param {String} [token] */ @@ -18,9 +16,9 @@ GitHubish.getAllReleases = async function ( request, owner, repo, - baseurl = 'https://api.github.com', - username = process.env.GITHUB_USERNAME || '', - token = process.env.GITHUB_TOKEN || '', + baseurl, + username = '', + token = '', ) { if (!owner) { throw new Error('missing owner for repo'); @@ -28,6 +26,9 @@ GitHubish.getAllReleases = async function ( if (!repo) { throw new Error('missing repo name'); } + if (!baseurl) { + throw new Error('missing baseurl'); + } var req = { url: `${baseurl}/repos/${owner}/${repo}/releases`, @@ -97,9 +98,12 @@ GitHubish.getAllReleases = async function ( }; if (module === require.main) { - GitHubish.getAllReleases(require('@root/request'), 'BurntSushi', 'ripgrep').then( - function (all) { - console.info(JSON.stringify(all, null, 2)); - }, - ); + GitHubish.getAllReleases( + require('@root/request'), + 'BurntSushi', + 'ripgrep', + 'https://api.github.com', + ).then(function (all) { + console.info(JSON.stringify(all, null, 2)); + }); }