UNPKG

charlike

Version:

Small, fast, simple and streaming project scaffolder for myself, but not only. Supports hundreds of template engines through the @JSTransformers API or if you want custom `render` function passed through options

33 lines (29 loc) 929 B
// 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