autocode
Version:
spec-driven code generator
53 lines (46 loc) • 1.54 kB
JavaScript
// Generated by CoffeeScript 1.10.0
(function() {
var bluebird, info, request;
bluebird = require('bluebird');
request = require('sync-request');
request = bluebird.promisifyAll(request);
info = function(opts) {
var access_token_url, autocode, headers, module, name, repo_url, resp;
autocode = this;
if (typeof opts === 'object') {
if (opts._ && opts._[1]) {
name = opts._[1];
} else if (opts.name) {
name = opts.name;
}
} else if (typeof name === 'string') {
name = opts;
}
if (!name) {
throw new Error("'name' is required for autocode search");
}
headers = {
'User-Agent': 'Autocode <support@autocode.run> (https://autocode.run/autocode)'
};
access_token_url = '';
if (process.env.GITHUB_ACCESS_TOKEN) {
access_token_url += "?access_token=" + process.env.GITHUB_ACCESS_TOKEN;
}
console.log(("Getting info for " + name + "...").blue);
repo_url = "https://api.github.com/repos/" + name + "/releases/latest" + access_token_url;
resp = request('get', repo_url, {
headers: headers,
allowRedirectHeaders: ['User-Agent']
});
if (resp.statusCode !== 200) {
if (resp.statusCode === 404) {
throw new Error("Module does not exist: " + name);
} else {
throw new Error('Unable to get info.');
}
}
module = JSON.parse(resp.body);
return console.log("Latest Version: ".bold + module.tag_name.substr(1));
};
module.exports = info;
}).call(this);