0xV3NOMx
Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64



Your IP : 3.135.214.226


Current Path : /proc/self/root/usr/lib/nodejs/github-url-from-git/
Upload File :
Current File : //proc/self/root/usr/lib/nodejs/github-url-from-git/index.js

// 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;