mirror of
https://github.com/nodejs/node.git
synced 2025-05-17 19:53:13 +00:00

BUGFIXES * [`27cccfbda`](27cccfbdac
) [#223](https://github.com/npm/cli/pull/223) vulns → vulnerabilities in npm audit output ([@sapegin](https://github.com/sapegin)) * [`d5e865eb7`](d5e865eb79
) [#222](https://github.com/npm/cli/pull/222) [#226](https://github.com/npm/cli/pull/226) install, doctor: don't crash if registry unset ([@dmitrydvorkin](https://github.com/dmitrydvorkin), [@isaacs](https://github.com/isaacs)) * [`5b3890226`](5b38902265
) [#227](https://github.com/npm/cli/pull/227) [npm.community#9167](https://npm.community/t/npm-err-cb-never-called-permission-denied/9167/5) Handle unhandledRejections, tell user what to do when encountering an `EACCES` error in the cache. ([@isaacs](https://github.com/isaacs)) DEPENDENCIES * [`77516df6e`](77516df6ea
) `licensee@7.0.3` ([@isaacs](https://github.com/isaacs)) * [`ceb993590`](ceb993590e
) `query-string@6.8.2` ([@isaacs](https://github.com/isaacs)) * [`4050b9189`](4050b91898
) `hosted-git-info@2.8.2` * [#46](https://github.com/npm/hosted-git-info/issues/46) [#43](https://github.com/npm/hosted-git-info/issues/43) [#47](https://github.com/npm/hosted-git-info/pull/47) [#44](https://github.com/npm/hosted-git-info/pull/44) Add support for GitLab subgroups ([@mterrel](https://github.com/mterrel), [@isaacs](https://github.com/isaacs), [@ybiquitous](https://github.com/ybiquitous)) * [`3b1d629`](https://github.com/npm/hosted-git-info/commit/3b1d629) [#48](https://github.com/npm/hosted-git-info/issues/48) fix http protocol using sshurl by default ([@fengmk2](https://github.com/fengmk2)) * [`5d4a8d7`](https://github.com/npm/hosted-git-info/commit/5d4a8d7) ignore noCommittish on tarball url generation ([@isaacs](https://github.com/isaacs)) * [`1692435`](https://github.com/npm/hosted-git-info/commit/1692435) use gist tarball url that works for anonymous gists ([@isaacs](https://github.com/isaacs)) * [`d5cf830`](d5cf8309be
) Do not allow invalid gist urls ([@isaacs](https://github.com/isaacs)) * [`e518222`](e518222435
) Use LRU cache to prevent unbounded memory consumption ([@iarna](https://github.com/iarna)) PR-URL: https://github.com/nodejs/node/pull/29023 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
80 lines
3.6 KiB
JavaScript
80 lines
3.6 KiB
JavaScript
'use strict'
|
|
|
|
var gitHosts = module.exports = {
|
|
github: {
|
|
// First two are insecure and generally shouldn't be used any more, but
|
|
// they are still supported.
|
|
'protocols': [ 'git', 'http', 'git+ssh', 'git+https', 'ssh', 'https' ],
|
|
'domain': 'github.com',
|
|
'treepath': 'tree',
|
|
'filetemplate': 'https://{auth@}raw.githubusercontent.com/{user}/{project}/{committish}/{path}',
|
|
'bugstemplate': 'https://{domain}/{user}/{project}/issues',
|
|
'gittemplate': 'git://{auth@}{domain}/{user}/{project}.git{#committish}',
|
|
'tarballtemplate': 'https://codeload.{domain}/{user}/{project}/tar.gz/{committish}'
|
|
},
|
|
bitbucket: {
|
|
'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ],
|
|
'domain': 'bitbucket.org',
|
|
'treepath': 'src',
|
|
'tarballtemplate': 'https://{domain}/{user}/{project}/get/{committish}.tar.gz'
|
|
},
|
|
gitlab: {
|
|
'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ],
|
|
'domain': 'gitlab.com',
|
|
'treepath': 'tree',
|
|
'bugstemplate': 'https://{domain}/{user}/{project}/issues',
|
|
'httpstemplate': 'git+https://{auth@}{domain}/{user}/{projectPath}.git{#committish}',
|
|
'tarballtemplate': 'https://{domain}/{user}/{project}/repository/archive.tar.gz?ref={committish}',
|
|
'pathmatch': /^[/]([^/]+)[/](.+?)(?:[.]git|[/])?$/
|
|
},
|
|
gist: {
|
|
'protocols': [ 'git', 'git+ssh', 'git+https', 'ssh', 'https' ],
|
|
'domain': 'gist.github.com',
|
|
'pathmatch': /^[/](?:([^/]+)[/])?([a-z0-9]{32,})(?:[.]git)?$/,
|
|
'filetemplate': 'https://gist.githubusercontent.com/{user}/{project}/raw{/committish}/{path}',
|
|
'bugstemplate': 'https://{domain}/{project}',
|
|
'gittemplate': 'git://{domain}/{project}.git{#committish}',
|
|
'sshtemplate': 'git@{domain}:/{project}.git{#committish}',
|
|
'sshurltemplate': 'git+ssh://git@{domain}/{project}.git{#committish}',
|
|
'browsetemplate': 'https://{domain}/{project}{/committish}',
|
|
'browsefiletemplate': 'https://{domain}/{project}{/committish}{#path}',
|
|
'docstemplate': 'https://{domain}/{project}{/committish}',
|
|
'httpstemplate': 'git+https://{domain}/{project}.git{#committish}',
|
|
'shortcuttemplate': '{type}:{project}{#committish}',
|
|
'pathtemplate': '{project}{#committish}',
|
|
'tarballtemplate': 'https://codeload.github.com/gist/{project}/tar.gz/{committish}',
|
|
'hashformat': function (fragment) {
|
|
return 'file-' + formatHashFragment(fragment)
|
|
}
|
|
}
|
|
}
|
|
|
|
var gitHostDefaults = {
|
|
'sshtemplate': 'git@{domain}:{user}/{project}.git{#committish}',
|
|
'sshurltemplate': 'git+ssh://git@{domain}/{user}/{project}.git{#committish}',
|
|
'browsetemplate': 'https://{domain}/{user}/{project}{/tree/committish}',
|
|
'browsefiletemplate': 'https://{domain}/{user}/{project}/{treepath}/{committish}/{path}{#fragment}',
|
|
'docstemplate': 'https://{domain}/{user}/{project}{/tree/committish}#readme',
|
|
'httpstemplate': 'git+https://{auth@}{domain}/{user}/{project}.git{#committish}',
|
|
'filetemplate': 'https://{domain}/{user}/{project}/raw/{committish}/{path}',
|
|
'shortcuttemplate': '{type}:{user}/{project}{#committish}',
|
|
'pathtemplate': '{user}/{project}{#committish}',
|
|
'pathmatch': /^[/]([^/]+)[/]([^/]+?)(?:[.]git|[/])?$/,
|
|
'hashformat': formatHashFragment
|
|
}
|
|
|
|
Object.keys(gitHosts).forEach(function (name) {
|
|
Object.keys(gitHostDefaults).forEach(function (key) {
|
|
if (gitHosts[name][key]) return
|
|
gitHosts[name][key] = gitHostDefaults[key]
|
|
})
|
|
gitHosts[name].protocols_re = RegExp('^(' +
|
|
gitHosts[name].protocols.map(function (protocol) {
|
|
return protocol.replace(/([\\+*{}()[\]$^|])/g, '\\$1')
|
|
}).join('|') + '):$')
|
|
})
|
|
|
|
function formatHashFragment (fragment) {
|
|
return fragment.toLowerCase().replace(/^\W+|\/|\W+$/g, '').replace(/\W+/g, '-')
|
|
}
|