/
usr
/
lib
/
nodejs
/
github-url-from-git
/
Upload File
HOME
// convert git:// form url to github URL, e.g., // git://github.com/bcoe/foo.git // https://github.com/bcoe/foo. function githubUrlFromGit(url, opts){ try { var m = re(opts).exec(url.replace(/\.git(#.*)?$/, '')); var host = m[1]; var path = m[2]; return 'https://' + host + '/' + path; } catch (err) { // ignore } }; // generate the git:// parsing regex // with options, e.g., the ability // to specify multiple GHE domains. function re(opts) { opts = opts || {}; // whitelist of URLs that should be treated as GitHub repos. var baseUrls = ['gist.github.com', 'github.com'].concat(opts.extraBaseUrls || []); // build regex from whitelist. return new RegExp( /^(?:https?:\/\/|git:\/\/|git\+ssh:\/\/|git\+https:\/\/)?(?:[^@]+@)?/.source + '(' + baseUrls.join('|') + ')' + /[:\/]([^\/]+\/[^\/]+?|[0-9]+)$/.source ); } githubUrlFromGit.re = re(); module.exports = githubUrlFromGit;