Files
bun.sh/test/cli/install/hosted-git-info/cases.ts
Marko Vejnovic 1d728bb778 feat(ENG-21324): Implement hosted_git_info.zig (#24138)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
2025-10-29 19:29:04 -07:00

2473 lines
90 KiB
TypeScript

/**
* Contains all the possible test cases that hosted-git-archive.test.ts tests against.
*
* These are organized according to the structure in https://github.com/npm/hosted-git-info/blob/main/test/ at the time
* of writing.
*
* TODO(markovejnovic): This does not include the following set of tests:
* - https://github.com/npm/hosted-git-info/blob/main/test/file.js
* - https://github.com/npm/hosted-git-info/blob/main/test/parse-url.js
*/
// This is a valid git branch name that contains other occurences of the characters we check
// for to determine the committish in order to test that we parse those correctly
const committishDefaults = { committish: "lk/br@nch.t#st:^1.0.0-pre.4" };
type Provider = "bitbucket" | "gist" | "github" | "gitlab" | "sourcehut" | "misc";
const defaults = {
bitbucket: { type: "bitbucket", user: "foo", project: "bar" },
gist: { type: "gist", user: null, project: "feedbeef" },
github: { type: "github", user: "foo", project: "bar" },
gitlab: { type: "gitlab", user: "foo", project: "bar" },
gitlabSubgroup: { type: "gitlab", user: "foo/bar", project: "baz" },
sourcehut: { type: "sourcehut", user: "~foo", project: "bar" },
};
export const validGitUrls: { [K in Provider]: { [K in string]: object } } = {
bitbucket: {
// shortcuts
//
// NOTE auth is accepted but ignored
"bitbucket:foo/bar": { ...defaults.bitbucket, default: "shortcut" },
"bitbucket:foo/bar#branch": { ...defaults.bitbucket, default: "shortcut", committish: "branch" },
"bitbucket:user@foo/bar": { ...defaults.bitbucket, default: "shortcut", auth: null },
"bitbucket:user@foo/bar#branch": { ...defaults.bitbucket, default: "shortcut", auth: null, committish: "branch" },
"bitbucket:user:password@foo/bar": { ...defaults.bitbucket, default: "shortcut", auth: null },
"bitbucket:user:password@foo/bar#branch": {
...defaults.bitbucket,
default: "shortcut",
auth: null,
committish: "branch",
},
"bitbucket::password@foo/bar": { ...defaults.bitbucket, default: "shortcut", auth: null },
"bitbucket::password@foo/bar#branch": {
...defaults.bitbucket,
default: "shortcut",
auth: null,
committish: "branch",
},
"bitbucket:foo/bar.git": { ...defaults.bitbucket, default: "shortcut" },
"bitbucket:foo/bar.git#branch": { ...defaults.bitbucket, default: "shortcut", committish: "branch" },
"bitbucket:user@foo/bar.git": { ...defaults.bitbucket, default: "shortcut", auth: null },
"bitbucket:user@foo/bar.git#branch": {
...defaults.bitbucket,
default: "shortcut",
auth: null,
committish: "branch",
},
"bitbucket:user:password@foo/bar.git": { ...defaults.bitbucket, default: "shortcut", auth: null },
"bitbucket:user:password@foo/bar.git#branch": {
...defaults.bitbucket,
default: "shortcut",
auth: null,
committish: "branch",
},
"bitbucket::password@foo/bar.git": { ...defaults.bitbucket, default: "shortcut", auth: null },
"bitbucket::password@foo/bar.git#branch": {
...defaults.bitbucket,
default: "shortcut",
auth: null,
committish: "branch",
},
// no-protocol git+ssh
//
// NOTE auth is accepted but ignored
"git@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"git@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"user@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"user@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"user:password@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"user:password@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
":password@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
":password@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"git@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"git@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"user@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"user@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"user:password@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"user:password@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
":password@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
":password@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
// git+ssh urls
//
// NOTE auth is accepted but ignored
"git+ssh://bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl" },
"git+ssh://bitbucket.org:foo/bar#branch": { ...defaults.bitbucket, default: "sshurl", committish: "branch" },
"git+ssh://user@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"git+ssh://user@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user:password@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"git+ssh://user:password@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://:password@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"git+ssh://:password@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl" },
"git+ssh://bitbucket.org:foo/bar.git#branch": { ...defaults.bitbucket, default: "sshurl", committish: "branch" },
"git+ssh://user@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"git+ssh://user@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user:password@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"git+ssh://user:password@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://:password@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"git+ssh://:password@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
// ssh urls
//
// NOTE auth is accepted but ignored
"ssh://bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl" },
"ssh://bitbucket.org:foo/bar#branch": { ...defaults.bitbucket, default: "sshurl", committish: "branch" },
"ssh://user@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"ssh://user@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user:password@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"ssh://user:password@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://:password@bitbucket.org:foo/bar": { ...defaults.bitbucket, default: "sshurl", auth: null },
"ssh://:password@bitbucket.org:foo/bar#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl" },
"ssh://bitbucket.org:foo/bar.git#branch": { ...defaults.bitbucket, default: "sshurl", committish: "branch" },
"ssh://user@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"ssh://user@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user:password@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"ssh://user:password@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://:password@bitbucket.org:foo/bar.git": { ...defaults.bitbucket, default: "sshurl", auth: null },
"ssh://:password@bitbucket.org:foo/bar.git#branch": {
...defaults.bitbucket,
default: "sshurl",
auth: null,
committish: "branch",
},
// git+https urls
//
// NOTE auth is accepted and respected
"git+https://bitbucket.org/foo/bar": { ...defaults.bitbucket, default: "https" },
"git+https://bitbucket.org/foo/bar#branch": { ...defaults.bitbucket, default: "https", committish: "branch" },
"git+https://user@bitbucket.org/foo/bar": { ...defaults.bitbucket, default: "https", auth: "user" },
"git+https://user@bitbucket.org/foo/bar#branch": {
...defaults.bitbucket,
default: "https",
auth: "user",
committish: "branch",
},
"git+https://user:password@bitbucket.org/foo/bar": {
...defaults.bitbucket,
default: "https",
auth: "user:password",
},
"git+https://user:password@bitbucket.org/foo/bar#branch": {
...defaults.bitbucket,
default: "https",
auth: "user:password",
committish: "branch",
},
"git+https://:password@bitbucket.org/foo/bar": { ...defaults.bitbucket, default: "https", auth: ":password" },
"git+https://:password@bitbucket.org/foo/bar#branch": {
...defaults.bitbucket,
default: "https",
auth: ":password",
committish: "branch",
},
"git+https://bitbucket.org/foo/bar.git": { ...defaults.bitbucket, default: "https" },
"git+https://bitbucket.org/foo/bar.git#branch": { ...defaults.bitbucket, default: "https", committish: "branch" },
"git+https://user@bitbucket.org/foo/bar.git": { ...defaults.bitbucket, default: "https", auth: "user" },
"git+https://user@bitbucket.org/foo/bar.git#branch": {
...defaults.bitbucket,
default: "https",
auth: "user",
committish: "branch",
},
"git+https://user:password@bitbucket.org/foo/bar.git": {
...defaults.bitbucket,
default: "https",
auth: "user:password",
},
"git+https://user:password@bitbucket.org/foo/bar.git#branch": {
...defaults.bitbucket,
default: "https",
auth: "user:password",
committish: "branch",
},
"git+https://:password@bitbucket.org/foo/bar.git": { ...defaults.bitbucket, default: "https", auth: ":password" },
"git+https://:password@bitbucket.org/foo/bar.git#branch": {
...defaults.bitbucket,
default: "https",
auth: ":password",
committish: "branch",
},
// https urls
//
// NOTE auth is accepted and respected
"https://bitbucket.org/foo/bar": { ...defaults.bitbucket, default: "https" },
"https://bitbucket.org/foo/bar#branch": { ...defaults.bitbucket, default: "https", committish: "branch" },
"https://user@bitbucket.org/foo/bar": { ...defaults.bitbucket, default: "https", auth: "user" },
"https://user@bitbucket.org/foo/bar#branch": {
...defaults.bitbucket,
default: "https",
auth: "user",
committish: "branch",
},
"https://user:password@bitbucket.org/foo/bar": { ...defaults.bitbucket, default: "https", auth: "user:password" },
"https://user:password@bitbucket.org/foo/bar#branch": {
...defaults.bitbucket,
default: "https",
auth: "user:password",
committish: "branch",
},
"https://:password@bitbucket.org/foo/bar": { ...defaults.bitbucket, default: "https", auth: ":password" },
"https://:password@bitbucket.org/foo/bar#branch": {
...defaults.bitbucket,
default: "https",
auth: ":password",
committish: "branch",
},
"https://bitbucket.org/foo/bar.git": { ...defaults.bitbucket, default: "https" },
"https://bitbucket.org/foo/bar.git#branch": { ...defaults.bitbucket, default: "https", committish: "branch" },
"https://user@bitbucket.org/foo/bar.git": { ...defaults.bitbucket, default: "https", auth: "user" },
"https://user@bitbucket.org/foo/bar.git#branch": {
...defaults.bitbucket,
default: "https",
auth: "user",
committish: "branch",
},
"https://user:password@bitbucket.org/foo/bar.git": {
...defaults.bitbucket,
default: "https",
auth: "user:password",
},
"https://user:password@bitbucket.org/foo/bar.git#branch": {
...defaults.bitbucket,
default: "https",
auth: "user:password",
committish: "branch",
},
"https://:password@bitbucket.org/foo/bar.git": { ...defaults.bitbucket, default: "https", auth: ":password" },
"https://:password@bitbucket.org/foo/bar.git#branch": {
...defaults.bitbucket,
default: "https",
auth: ":password",
committish: "branch",
},
},
gist: {
// shortcuts
//
// NOTE auth is accepted but ignored
"gist:feedbeef": { ...defaults.gist, default: "shortcut" },
"gist:feedbeef#branch": { ...defaults.gist, default: "shortcut", committish: "branch" },
"gist:user@feedbeef": { ...defaults.gist, default: "shortcut", auth: null },
"gist:user@feedbeef#branch": { ...defaults.gist, default: "shortcut", auth: null, committish: "branch" },
"gist:user:password@feedbeef": { ...defaults.gist, default: "shortcut", auth: null },
"gist:user:password@feedbeef#branch": { ...defaults.gist, default: "shortcut", auth: null, committish: "branch" },
"gist::password@feedbeef": { ...defaults.gist, default: "shortcut", auth: null },
"gist::password@feedbeef#branch": { ...defaults.gist, default: "shortcut", auth: null, committish: "branch" },
"gist:feedbeef.git": { ...defaults.gist, default: "shortcut" },
"gist:feedbeef.git#branch": { ...defaults.gist, default: "shortcut", committish: "branch" },
"gist:user@feedbeef.git": { ...defaults.gist, default: "shortcut", auth: null },
"gist:user@feedbeef.git#branch": { ...defaults.gist, default: "shortcut", auth: null, committish: "branch" },
"gist:user:password@feedbeef.git": { ...defaults.gist, default: "shortcut", auth: null },
"gist:user:password@feedbeef.git#branch": {
...defaults.gist,
default: "shortcut",
auth: null,
committish: "branch",
},
"gist::password@feedbeef.git": { ...defaults.gist, default: "shortcut", auth: null },
"gist::password@feedbeef.git#branch": { ...defaults.gist, default: "shortcut", auth: null, committish: "branch" },
"gist:/feedbeef": { ...defaults.gist, default: "shortcut" },
"gist:/feedbeef#branch": { ...defaults.gist, default: "shortcut", committish: "branch" },
"gist:user@/feedbeef": { ...defaults.gist, default: "shortcut", auth: null },
"gist:user@/feedbeef#branch": { ...defaults.gist, default: "shortcut", auth: null, committish: "branch" },
"gist:user:password@/feedbeef": { ...defaults.gist, default: "shortcut", auth: null },
"gist:user:password@/feedbeef#branch": {
...defaults.gist,
default: "shortcut",
auth: null,
committish: "branch",
},
"gist::password@/feedbeef": { ...defaults.gist, default: "shortcut", auth: null },
"gist::password@/feedbeef#branch": { ...defaults.gist, default: "shortcut", auth: null, committish: "branch" },
"gist:/feedbeef.git": { ...defaults.gist, default: "shortcut" },
"gist:/feedbeef.git#branch": { ...defaults.gist, default: "shortcut", committish: "branch" },
"gist:user@/feedbeef.git": { ...defaults.gist, default: "shortcut", auth: null },
"gist:user@/feedbeef.git#branch": { ...defaults.gist, default: "shortcut", auth: null, committish: "branch" },
"gist:user:password@/feedbeef.git": { ...defaults.gist, default: "shortcut", auth: null },
"gist:user:password@/feedbeef.git#branch": {
...defaults.gist,
default: "shortcut",
auth: null,
committish: "branch",
},
"gist::password@/feedbeef.git": { ...defaults.gist, default: "shortcut", auth: null },
"gist::password@/feedbeef.git#branch": {
...defaults.gist,
default: "shortcut",
auth: null,
committish: "branch",
},
"gist:foo/feedbeef": { ...defaults.gist, default: "shortcut", user: "foo" },
"gist:foo/feedbeef#branch": { ...defaults.gist, default: "shortcut", user: "foo", committish: "branch" },
"gist:user@foo/feedbeef": { ...defaults.gist, default: "shortcut", user: "foo", auth: null },
"gist:user@foo/feedbeef#branch": {
...defaults.gist,
default: "shortcut",
user: "foo",
auth: null,
committish: "branch",
},
"gist:user:password@foo/feedbeef": { ...defaults.gist, default: "shortcut", user: "foo", auth: null },
"gist:user:password@foo/feedbeef#branch": {
...defaults.gist,
default: "shortcut",
user: "foo",
auth: null,
committish: "branch",
},
"gist::password@foo/feedbeef": { ...defaults.gist, default: "shortcut", user: "foo", auth: null },
"gist::password@foo/feedbeef#branch": {
...defaults.gist,
default: "shortcut",
user: "foo",
auth: null,
committish: "branch",
},
"gist:foo/feedbeef.git": { ...defaults.gist, default: "shortcut", user: "foo" },
"gist:foo/feedbeef.git#branch": { ...defaults.gist, default: "shortcut", user: "foo", committish: "branch" },
"gist:user@foo/feedbeef.git": { ...defaults.gist, default: "shortcut", user: "foo", auth: null },
"gist:user@foo/feedbeef.git#branch": {
...defaults.gist,
default: "shortcut",
user: "foo",
auth: null,
committish: "branch",
},
"gist:user:password@foo/feedbeef.git": { ...defaults.gist, default: "shortcut", user: "foo", auth: null },
"gist:user:password@foo/feedbeef.git#branch": {
...defaults.gist,
default: "shortcut",
user: "foo",
auth: null,
committish: "branch",
},
"gist::password@foo/feedbeef.git": { ...defaults.gist, default: "shortcut", user: "foo", auth: null },
"gist::password@foo/feedbeef.git#branch": {
...defaults.gist,
default: "shortcut",
user: "foo",
auth: null,
committish: "branch",
},
// git urls
//
// NOTE auth is accepted and respected
"git://gist.github.com/feedbeef": { ...defaults.gist, default: "git" },
"git://gist.github.com/feedbeef#branch": { ...defaults.gist, default: "git", committish: "branch" },
"git://user@gist.github.com/feedbeef": { ...defaults.gist, default: "git", auth: "user" },
"git://user@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "git",
auth: "user",
committish: "branch",
},
"git://user:password@gist.github.com/feedbeef": { ...defaults.gist, default: "git", auth: "user:password" },
"git://user:password@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "git",
auth: "user:password",
committish: "branch",
},
"git://:password@gist.github.com/feedbeef": { ...defaults.gist, default: "git", auth: ":password" },
"git://:password@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "git",
auth: ":password",
committish: "branch",
},
"git://gist.github.com/feedbeef.git": { ...defaults.gist, default: "git" },
"git://gist.github.com/feedbeef.git#branch": { ...defaults.gist, default: "git", committish: "branch" },
"git://user@gist.github.com/feedbeef.git": { ...defaults.gist, default: "git", auth: "user" },
"git://user@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "git",
auth: "user",
committish: "branch",
},
"git://user:password@gist.github.com/feedbeef.git": { ...defaults.gist, default: "git", auth: "user:password" },
"git://user:password@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "git",
auth: "user:password",
committish: "branch",
},
"git://:password@gist.github.com/feedbeef.git": { ...defaults.gist, default: "git", auth: ":password" },
"git://:password@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "git",
auth: ":password",
committish: "branch",
},
"git://gist.github.com/foo/feedbeef": { ...defaults.gist, default: "git", user: "foo" },
"git://gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "git",
user: "foo",
committish: "branch",
},
"git://user@gist.github.com/foo/feedbeef": { ...defaults.gist, default: "git", user: "foo", auth: "user" },
"git://user@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "git",
user: "foo",
auth: "user",
committish: "branch",
},
"git://user:password@gist.github.com/foo/feedbeef": {
...defaults.gist,
default: "git",
user: "foo",
auth: "user:password",
},
"git://user:password@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "git",
user: "foo",
auth: "user:password",
committish: "branch",
},
"git://:password@gist.github.com/foo/feedbeef": {
...defaults.gist,
default: "git",
user: "foo",
auth: ":password",
},
"git://:password@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "git",
user: "foo",
auth: ":password",
committish: "branch",
},
"git://gist.github.com/foo/feedbeef.git": { ...defaults.gist, default: "git", user: "foo" },
"git://gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "git",
user: "foo",
committish: "branch",
},
"git://user@gist.github.com/foo/feedbeef.git": { ...defaults.gist, default: "git", user: "foo", auth: "user" },
"git://user@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "git",
user: "foo",
auth: "user",
committish: "branch",
},
"git://user:password@gist.github.com/foo/feedbeef.git": {
...defaults.gist,
default: "git",
user: "foo",
auth: "user:password",
},
"git://user:password@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "git",
user: "foo",
auth: "user:password",
committish: "branch",
},
"git://:password@gist.github.com/foo/feedbeef.git": {
...defaults.gist,
default: "git",
user: "foo",
auth: ":password",
},
"git://:password@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "git",
user: "foo",
auth: ":password",
committish: "branch",
},
// no-protocol git+ssh
//
// NOTE auth is accepted and ignored
"git@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"git@gist.github.com:feedbeef#branch": { ...defaults.gist, default: "sshurl", auth: null, committish: "branch" },
"user@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"user@gist.github.com:feedbeef#branch": { ...defaults.gist, default: "sshurl", auth: null, committish: "branch" },
"user:password@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"user:password@gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
":password@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
":password@gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"git@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
committish: "branch",
auth: null,
},
"user@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"user@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"user:password@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"user:password@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
":password@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
":password@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git@gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"git@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"user@gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"user@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"user:password@gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"user:password@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
":password@gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
":password@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"git@gist.github.com:foo/feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"git@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"user@gist.github.com:foo/feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"user@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"user:password@gist.github.com:foo/feedbeef.git": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"user:password@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
":password@gist.github.com:foo/feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
":password@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
// git+ssh urls
//
// NOTE auth is accepted but ignored
// NOTE see TODO at list of invalids, some inputs fail and shouldn't
"git+ssh://gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"git+ssh://gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"git+ssh://user@gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user:password@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"git+ssh://user:password@gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://:password@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"git+ssh://:password@gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"git+ssh://gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"git+ssh://user@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user:password@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"git+ssh://user:password@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://:password@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"git+ssh://:password@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", user: "foo" },
"git+ssh://gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
user: "foo",
committish: "branch",
},
"git+ssh://user@gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"git+ssh://user@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"git+ssh://user:password@gist.github.com:foo/feedbeef": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"git+ssh://user:password@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"git+ssh://:password@gist.github.com:foo/feedbeef": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"git+ssh://:password@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"git+ssh://gist.github.com:foo/feedbeef.git": { ...defaults.gist, default: "sshurl", user: "foo" },
"git+ssh://gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
user: "foo",
committish: "branch",
},
"git+ssh://user@gist.github.com:foo/feedbeef.git": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"git+ssh://user@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"git+ssh://user:password@gist.github.com:foo/feedbeef.git": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"git+ssh://user:password@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"git+ssh://:password@gist.github.com:foo/feedbeef.git": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"git+ssh://:password@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
// ssh urls
//
// NOTE auth is accepted but ignored
"ssh://gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"ssh://gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"ssh://user@gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user:password@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"ssh://user:password@gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://:password@gist.github.com:feedbeef": { ...defaults.gist, default: "sshurl", auth: null },
"ssh://:password@gist.github.com:feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"ssh://gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"ssh://user@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user:password@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"ssh://user:password@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://:password@gist.github.com:feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null },
"ssh://:password@gist.github.com:feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", user: "foo" },
"ssh://gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
user: "foo",
committish: "branch",
},
"ssh://user@gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"ssh://user@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"ssh://user:password@gist.github.com:foo/feedbeef": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"ssh://user:password@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"ssh://:password@gist.github.com:foo/feedbeef": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"ssh://:password@gist.github.com:foo/feedbeef#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"ssh://gist.github.com:foo/feedbeef.git": { ...defaults.gist, default: "sshurl", user: "foo" },
"ssh://gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
user: "foo",
committish: "branch",
},
"ssh://user@gist.github.com:foo/feedbeef.git": { ...defaults.gist, default: "sshurl", auth: null, user: "foo" },
"ssh://user@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"ssh://user:password@gist.github.com:foo/feedbeef.git": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"ssh://user:password@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
"ssh://:password@gist.github.com:foo/feedbeef.git": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
},
"ssh://:password@gist.github.com:foo/feedbeef.git#branch": {
...defaults.gist,
default: "sshurl",
auth: null,
user: "foo",
committish: "branch",
},
// git+https urls
//
// NOTE auth is accepted and respected
"git+https://gist.github.com/feedbeef": { ...defaults.gist, default: "https" },
"git+https://gist.github.com/feedbeef#branch": { ...defaults.gist, default: "https", committish: "branch" },
"git+https://user@gist.github.com/feedbeef": { ...defaults.gist, default: "https", auth: "user" },
"git+https://user@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: "user",
committish: "branch",
},
"git+https://user:password@gist.github.com/feedbeef": {
...defaults.gist,
default: "https",
auth: "user:password",
},
"git+https://user:password@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: "user:password",
committish: "branch",
},
"git+https://:password@gist.github.com/feedbeef": { ...defaults.gist, default: "https", auth: ":password" },
"git+https://:password@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: ":password",
committish: "branch",
},
"git+https://gist.github.com/feedbeef.git": { ...defaults.gist, default: "https" },
"git+https://gist.github.com/feedbeef.git#branch": { ...defaults.gist, default: "https", committish: "branch" },
"git+https://user@gist.github.com/feedbeef.git": { ...defaults.gist, default: "https", auth: "user" },
"git+https://user@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: "user",
committish: "branch",
},
"git+https://user:password@gist.github.com/feedbeef.git": {
...defaults.gist,
default: "https",
auth: "user:password",
},
"git+https://user:password@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: "user:password",
committish: "branch",
},
"git+https://:password@gist.github.com/feedbeef.git": { ...defaults.gist, default: "https", auth: ":password" },
"git+https://:password@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: ":password",
committish: "branch",
},
"git+https://gist.github.com/foo/feedbeef": { ...defaults.gist, default: "https", user: "foo" },
"git+https://gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "https",
user: "foo",
committish: "branch",
},
"git+https://user@gist.github.com/foo/feedbeef": {
...defaults.gist,
default: "https",
auth: "user",
user: "foo",
},
"git+https://user@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: "user",
user: "foo",
committish: "branch",
},
"git+https://user:password@gist.github.com/foo/feedbeef": {
...defaults.gist,
default: "https",
auth: "user:password",
user: "foo",
},
"git+https://user:password@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: "user:password",
user: "foo",
committish: "branch",
},
"git+https://:password@gist.github.com/foo/feedbeef": {
...defaults.gist,
default: "https",
auth: ":password",
user: "foo",
},
"git+https://:password@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: ":password",
user: "foo",
committish: "branch",
},
"git+https://gist.github.com/foo/feedbeef.git": { ...defaults.gist, default: "https", user: "foo" },
"git+https://gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "https",
user: "foo",
committish: "branch",
},
"git+https://user@gist.github.com/foo/feedbeef.git": {
...defaults.gist,
default: "https",
auth: "user",
user: "foo",
},
"git+https://user@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: "user",
user: "foo",
committish: "branch",
},
"git+https://user:password@gist.github.com/foo/feedbeef.git": {
...defaults.gist,
default: "https",
auth: "user:password",
user: "foo",
},
"git+https://user:password@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: "user:password",
user: "foo",
committish: "branch",
},
"git+https://:password@gist.github.com/foo/feedbeef.git": {
...defaults.gist,
default: "https",
auth: ":password",
user: "foo",
},
"git+https://:password@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: ":password",
user: "foo",
committish: "branch",
},
// https urls
//
// NOTE auth is accepted and respected
"https://gist.github.com/feedbeef": { ...defaults.gist, default: "https" },
"https://gist.github.com/feedbeef#branch": { ...defaults.gist, default: "https", committish: "branch" },
"https://user@gist.github.com/feedbeef": { ...defaults.gist, default: "https", auth: "user" },
"https://user@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: "user",
committish: "branch",
},
"https://user:password@gist.github.com/feedbeef": { ...defaults.gist, default: "https", auth: "user:password" },
"https://user:password@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: "user:password",
committish: "branch",
},
"https://:password@gist.github.com/feedbeef": { ...defaults.gist, default: "https", auth: ":password" },
"https://:password@gist.github.com/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: ":password",
committish: "branch",
},
"https://gist.github.com/feedbeef.git": { ...defaults.gist, default: "https" },
"https://gist.github.com/feedbeef.git#branch": { ...defaults.gist, default: "https", committish: "branch" },
"https://user@gist.github.com/feedbeef.git": { ...defaults.gist, default: "https", auth: "user" },
"https://user@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: "user",
committish: "branch",
},
"https://user:password@gist.github.com/feedbeef.git": {
...defaults.gist,
default: "https",
auth: "user:password",
},
"https://user:password@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: "user:password",
committish: "branch",
},
"https://:password@gist.github.com/feedbeef.git": { ...defaults.gist, default: "https", auth: ":password" },
"https://:password@gist.github.com/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: ":password",
committish: "branch",
},
"https://gist.github.com/foo/feedbeef": { ...defaults.gist, default: "https", user: "foo" },
"https://gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "https",
user: "foo",
committish: "branch",
},
"https://user@gist.github.com/foo/feedbeef": { ...defaults.gist, default: "https", auth: "user", user: "foo" },
"https://user@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: "user",
user: "foo",
committish: "branch",
},
"https://user:password@gist.github.com/foo/feedbeef": {
...defaults.gist,
default: "https",
auth: "user:password",
user: "foo",
},
"https://user:password@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: "user:password",
user: "foo",
committish: "branch",
},
"https://:password@gist.github.com/foo/feedbeef": {
...defaults.gist,
default: "https",
auth: ":password",
user: "foo",
},
"https://:password@gist.github.com/foo/feedbeef#branch": {
...defaults.gist,
default: "https",
auth: ":password",
user: "foo",
committish: "branch",
},
"https://gist.github.com/foo/feedbeef.git": { ...defaults.gist, default: "https", user: "foo" },
"https://gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "https",
user: "foo",
committish: "branch",
},
"https://user@gist.github.com/foo/feedbeef.git": {
...defaults.gist,
default: "https",
auth: "user",
user: "foo",
},
"https://user@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: "user",
user: "foo",
committish: "branch",
},
"https://user:password@gist.github.com/foo/feedbeef.git": {
...defaults.gist,
default: "https",
auth: "user:password",
user: "foo",
},
"https://user:password@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: "user:password",
user: "foo",
committish: "branch",
},
"https://:password@gist.github.com/foo/feedbeef.git": {
...defaults.gist,
default: "https",
auth: ":password",
user: "foo",
},
"https://:password@gist.github.com/foo/feedbeef.git#branch": {
...defaults.gist,
default: "https",
auth: ":password",
user: "foo",
committish: "branch",
},
},
github: {
// shortcuts
//
// NOTE auth is accepted but ignored
"github:foo/bar": { ...defaults.github, default: "shortcut" },
[`github:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "shortcut",
...committishDefaults,
},
"github:user@foo/bar": { ...defaults.github, default: "shortcut", auth: null },
[`github:user@foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "shortcut",
auth: null,
...committishDefaults,
},
"github:user:password@foo/bar": { ...defaults.github, default: "shortcut", auth: null },
[`github:user:password@foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "shortcut",
auth: null,
...committishDefaults,
},
"github::password@foo/bar": { ...defaults.github, default: "shortcut", auth: null },
[`github::password@foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "shortcut",
auth: null,
...committishDefaults,
},
"github:foo/bar.git": { ...defaults.github, default: "shortcut" },
[`github:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "shortcut",
...committishDefaults,
},
"github:user@foo/bar.git": { ...defaults.github, default: "shortcut", auth: null },
[`github:user@foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "shortcut",
auth: null,
...committishDefaults,
},
"github:user:password@foo/bar.git": { ...defaults.github, default: "shortcut", auth: null },
[`github:user:password@foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "shortcut",
auth: null,
...committishDefaults,
},
"github::password@foo/bar.git": { ...defaults.github, default: "shortcut", auth: null },
[`github::password@foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "shortcut",
auth: null,
...committishDefaults,
},
// git urls
//
// NOTE auth is accepted and respected
"git://github.com/foo/bar": { ...defaults.github, default: "git" },
[`git://github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "git",
...committishDefaults,
},
"git://user@github.com/foo/bar": { ...defaults.github, default: "git", auth: "user" },
[`git://user@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "git",
auth: "user",
...committishDefaults,
},
"git://user:password@github.com/foo/bar": { ...defaults.github, default: "git", auth: "user:password" },
[`git://user:password@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "git",
auth: "user:password",
...committishDefaults,
},
"git://:password@github.com/foo/bar": { ...defaults.github, default: "git", auth: ":password" },
[`git://:password@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "git",
auth: ":password",
...committishDefaults,
},
"git://github.com/foo/bar.git": { ...defaults.github, default: "git" },
[`git://github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "git",
...committishDefaults,
},
"git://git@github.com/foo/bar.git": { ...defaults.github, default: "git", auth: "git" },
[`git://git@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "git",
auth: "git",
...committishDefaults,
},
"git://user:password@github.com/foo/bar.git": { ...defaults.github, default: "git", auth: "user:password" },
[`git://user:password@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "git",
auth: "user:password",
...committishDefaults,
},
"git://:password@github.com/foo/bar.git": { ...defaults.github, default: "git", auth: ":password" },
[`git://:password@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "git",
auth: ":password",
...committishDefaults,
},
// no-protocol git+ssh
//
// NOTE auth is _required_ (see invalid list) but ignored
"user@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`user@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"user:password@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`user:password@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
":password@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`:password@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"user@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`user@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"user:password@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`user:password@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
":password@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`:password@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
// git+ssh urls
//
// NOTE auth is accepted but ignored
"git+ssh://github.com:foo/bar": { ...defaults.github, default: "sshurl" },
[`git+ssh://github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
...committishDefaults,
},
"git+ssh://user@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`git+ssh://user@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"git+ssh://user:password@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`git+ssh://user:password@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"git+ssh://:password@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`git+ssh://:password@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"git+ssh://github.com:foo/bar.git": { ...defaults.github, default: "sshurl" },
[`git+ssh://github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
...committishDefaults,
},
"git+ssh://user@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`git+ssh://user@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"git+ssh://user:password@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`git+ssh://user:password@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"git+ssh://:password@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`git+ssh://:password@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
// ssh urls
//
// NOTE auth is accepted but ignored
"ssh://github.com:foo/bar": { ...defaults.github, default: "sshurl" },
[`ssh://github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
...committishDefaults,
},
"ssh://user@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`ssh://user@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"ssh://user:password@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`ssh://user:password@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"ssh://:password@github.com:foo/bar": { ...defaults.github, default: "sshurl", auth: null },
[`ssh://:password@github.com:foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"ssh://github.com:foo/bar.git": { ...defaults.github, default: "sshurl" },
[`ssh://github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
...committishDefaults,
},
"ssh://user@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`ssh://user@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"ssh://user:password@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`ssh://user:password@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
"ssh://:password@github.com:foo/bar.git": { ...defaults.github, default: "sshurl", auth: null },
[`ssh://:password@github.com:foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "sshurl",
auth: null,
...committishDefaults,
},
// git+https urls
//
// NOTE auth is accepted and respected
"git+https://github.com/foo/bar": { ...defaults.github, default: "https" },
[`git+https://github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
...committishDefaults,
},
"git+https://user@github.com/foo/bar": { ...defaults.github, default: "https", auth: "user" },
[`git+https://user@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: "user",
...committishDefaults,
},
"git+https://user:password@github.com/foo/bar": { ...defaults.github, default: "https", auth: "user:password" },
[`git+https://user:password@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: "user:password",
...committishDefaults,
},
"git+https://:password@github.com/foo/bar": { ...defaults.github, default: "https", auth: ":password" },
[`git+https://:password@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: ":password",
...committishDefaults,
},
"git+https://github.com/foo/bar.git": { ...defaults.github, default: "https" },
[`git+https://github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
...committishDefaults,
},
"git+https://user@github.com/foo/bar.git": { ...defaults.github, default: "https", auth: "user" },
[`git+https://user@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: "user",
...committishDefaults,
},
"git+https://user:password@github.com/foo/bar.git": {
...defaults.github,
default: "https",
auth: "user:password",
},
[`git+https://user:password@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: "user:password",
...committishDefaults,
},
"git+https://:password@github.com/foo/bar.git": { ...defaults.github, default: "https", auth: ":password" },
[`git+https://:password@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: ":password",
...committishDefaults,
},
// https urls
//
// NOTE auth is accepted and respected
"https://github.com/foo/bar": { ...defaults.github, default: "https" },
[`https://github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
...committishDefaults,
},
"https://user@github.com/foo/bar": { ...defaults.github, default: "https", auth: "user" },
[`https://user@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: "user",
...committishDefaults,
},
"https://user:password@github.com/foo/bar": { ...defaults.github, default: "https", auth: "user:password" },
[`https://user:password@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: "user:password",
...committishDefaults,
},
"https://:password@github.com/foo/bar": { ...defaults.github, default: "https", auth: ":password" },
[`https://:password@github.com/foo/bar#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: ":password",
...committishDefaults,
},
"https://github.com/foo/bar.git": { ...defaults.github, default: "https" },
[`https://github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
...committishDefaults,
},
"https://user@github.com/foo/bar.git": { ...defaults.github, default: "https", auth: "user" },
[`https://user@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: "user",
...committishDefaults,
},
"https://user:password@github.com/foo/bar.git": { ...defaults.github, default: "https", auth: "user:password" },
[`https://user:password@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: "user:password",
...committishDefaults,
},
"https://:password@github.com/foo/bar.git": { ...defaults.github, default: "https", auth: ":password" },
[`https://:password@github.com/foo/bar.git#${committishDefaults.committish}`]: {
...defaults.github,
default: "https",
auth: ":password",
...committishDefaults,
},
// inputs that are not quite proper but we accept anyway
"https://www.github.com/foo/bar": { ...defaults.github, default: "https" },
"foo/bar#branch with space": { ...defaults.github, default: "shortcut", committish: "branch with space" },
"foo/bar#branch:with:colons": { ...defaults.github, default: "shortcut", committish: "branch:with:colons" },
"https://github.com/foo/bar/tree/branch": { ...defaults.github, default: "https", committish: "branch" },
"user..blerg--/..foo-js# . . . . . some . tags / / /": {
...defaults.github,
default: "shortcut",
user: "user..blerg--",
project: "..foo-js",
committish: " . . . . . some . tags / / /",
},
},
gitlab: {
// shortcuts
//
// NOTE auth is accepted but ignored
// NOTE gitlabSubgroups are respected, but the gitlabSubgroup is treated as the project and the real project is lost
"gitlab:foo/bar": { ...defaults.gitlab, default: "shortcut" },
"gitlab:foo/bar#branch": { ...defaults.gitlab, default: "shortcut", committish: "branch" },
"gitlab:user@foo/bar": { ...defaults.gitlab, default: "shortcut", auth: null },
"gitlab:user@foo/bar#branch": { ...defaults.gitlab, default: "shortcut", auth: null, committish: "branch" },
"gitlab:user:password@foo/bar": { ...defaults.gitlab, default: "shortcut", auth: null },
"gitlab:user:password@foo/bar#branch": {
...defaults.gitlab,
default: "shortcut",
auth: null,
committish: "branch",
},
"gitlab::password@foo/bar": { ...defaults.gitlab, default: "shortcut", auth: null },
"gitlab::password@foo/bar#branch": { ...defaults.gitlab, default: "shortcut", auth: null, committish: "branch" },
"gitlab:foo/bar.git": { ...defaults.gitlab, default: "shortcut" },
"gitlab:foo/bar.git#branch": { ...defaults.gitlab, default: "shortcut", committish: "branch" },
"gitlab:user@foo/bar.git": { ...defaults.gitlab, default: "shortcut", auth: null },
"gitlab:user@foo/bar.git#branch": { ...defaults.gitlab, default: "shortcut", auth: null, committish: "branch" },
"gitlab:user:password@foo/bar.git": { ...defaults.gitlab, default: "shortcut", auth: null },
"gitlab:user:password@foo/bar.git#branch": {
...defaults.gitlab,
default: "shortcut",
auth: null,
committish: "branch",
},
"gitlab::password@foo/bar.git": { ...defaults.gitlab, default: "shortcut", auth: null },
"gitlab::password@foo/bar.git#branch": {
...defaults.gitlab,
default: "shortcut",
auth: null,
committish: "branch",
},
"gitlab:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "shortcut" },
"gitlab:foo/bar/baz#branch": { ...defaults.gitlabSubgroup, default: "shortcut", committish: "branch" },
"gitlab:user@foo/bar/baz": { ...defaults.gitlabSubgroup, default: "shortcut", auth: null },
"gitlab:user@foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "shortcut",
auth: null,
committish: "branch",
},
"gitlab:user:password@foo/bar/baz": { ...defaults.gitlabSubgroup, default: "shortcut", auth: null },
"gitlab:user:password@foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "shortcut",
auth: null,
committish: "branch",
},
"gitlab::password@foo/bar/baz": { ...defaults.gitlabSubgroup, default: "shortcut", auth: null },
"gitlab::password@foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "shortcut",
auth: null,
committish: "branch",
},
"gitlab:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "shortcut" },
"gitlab:foo/bar/baz.git#branch": { ...defaults.gitlabSubgroup, default: "shortcut", committish: "branch" },
"gitlab:user@foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "shortcut", auth: null },
"gitlab:user@foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "shortcut",
auth: null,
committish: "branch",
},
"gitlab:user:password@foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "shortcut", auth: null },
"gitlab:user:password@foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "shortcut",
auth: null,
committish: "branch",
},
"gitlab::password@foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "shortcut", auth: null },
"gitlab::password@foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "shortcut",
auth: null,
committish: "branch",
},
// no-protocol git+ssh
//
// NOTE auth is _required_ (see invalid list) but ignored
"user@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
"user@gitlab.com:foo/bar#branch": { ...defaults.gitlab, default: "sshurl", auth: null, committish: "branch" },
"user:password@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
"user:password@gitlab.com:foo/bar#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
":password@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
":password@gitlab.com:foo/bar#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"user@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
"user@gitlab.com:foo/bar.git#branch": { ...defaults.gitlab, default: "sshurl", auth: null, committish: "branch" },
"user:password@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
"user:password@gitlab.com:foo/bar.git#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
":password@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
":password@gitlab.com:foo/bar.git#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"user@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"user@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"user:password@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"user:password@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
":password@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
":password@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"user@gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"user@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"user:password@gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"user:password@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
":password@gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
":password@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
// git+ssh urls
//
// NOTE auth is accepted but ignored
// NOTE subprojects are accepted, but the subproject is treated as the project and the real project is lost
"git+ssh://gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl" },
"git+ssh://gitlab.com:foo/bar#branch": { ...defaults.gitlab, default: "sshurl", committish: "branch" },
"git+ssh://user@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
"git+ssh://user@gitlab.com:foo/bar#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user:password@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
"git+ssh://user:password@gitlab.com:foo/bar#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://:password@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
"git+ssh://:password@gitlab.com:foo/bar#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl" },
"git+ssh://gitlab.com:foo/bar.git#branch": { ...defaults.gitlab, default: "sshurl", committish: "branch" },
"git+ssh://user@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
"git+ssh://user@gitlab.com:foo/bar.git#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user:password@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
"git+ssh://user:password@gitlab.com:foo/bar.git#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://:password@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
"git+ssh://:password@gitlab.com:foo/bar.git#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl" },
"git+ssh://gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
committish: "branch",
},
"git+ssh://user@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"git+ssh://user@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user:password@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"git+ssh://user:password@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://:password@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"git+ssh://:password@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl" },
"git+ssh://gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
committish: "branch",
},
"git+ssh://user@gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"git+ssh://user@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://user:password@gitlab.com:foo/bar/baz.git": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
},
"git+ssh://user:password@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"git+ssh://:password@gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"git+ssh://:password@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
// ssh urls
//
// NOTE auth is accepted but ignored
// NOTE subprojects are accepted, but the subproject is treated as the project and the real project is lost
"ssh://gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl" },
"ssh://gitlab.com:foo/bar#branch": { ...defaults.gitlab, default: "sshurl", committish: "branch" },
"ssh://user@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
"ssh://user@gitlab.com:foo/bar#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user:password@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
"ssh://user:password@gitlab.com:foo/bar#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://:password@gitlab.com:foo/bar": { ...defaults.gitlab, default: "sshurl", auth: null },
"ssh://:password@gitlab.com:foo/bar#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl" },
"ssh://gitlab.com:foo/bar.git#branch": { ...defaults.gitlab, default: "sshurl", committish: "branch" },
"ssh://user@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
"ssh://user@gitlab.com:foo/bar.git#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user:password@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
"ssh://user:password@gitlab.com:foo/bar.git#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://:password@gitlab.com:foo/bar.git": { ...defaults.gitlab, default: "sshurl", auth: null },
"ssh://:password@gitlab.com:foo/bar.git#branch": {
...defaults.gitlab,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl" },
"ssh://gitlab.com:foo/bar/baz#branch": { ...defaults.gitlabSubgroup, default: "sshurl", committish: "branch" },
"ssh://user@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"ssh://user@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user:password@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"ssh://user:password@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://:password@gitlab.com:foo/bar/baz": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"ssh://:password@gitlab.com:foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl" },
"ssh://gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
committish: "branch",
},
"ssh://user@gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"ssh://user@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://user:password@gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"ssh://user:password@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
"ssh://:password@gitlab.com:foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "sshurl", auth: null },
"ssh://:password@gitlab.com:foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "sshurl",
auth: null,
committish: "branch",
},
// git+https urls
//
// NOTE auth is accepted and respected
// NOTE subprojects are accepted, but the subproject is treated as the project and the real project is lost
"git+https://gitlab.com/foo/bar": { ...defaults.gitlab, default: "https" },
"git+https://gitlab.com/foo/bar#branch": { ...defaults.gitlab, default: "https", committish: "branch" },
"git+https://user@gitlab.com/foo/bar": { ...defaults.gitlab, default: "https", auth: "user" },
"git+https://user@gitlab.com/foo/bar#branch": {
...defaults.gitlab,
default: "https",
auth: "user",
committish: "branch",
},
"git+https://user:password@gitlab.com/foo/bar": { ...defaults.gitlab, default: "https", auth: "user:password" },
"git+https://user:password@gitlab.com/foo/bar#branch": {
...defaults.gitlab,
default: "https",
auth: "user:password",
committish: "branch",
},
"git+https://:password@gitlab.com/foo/bar": { ...defaults.gitlab, default: "https", auth: ":password" },
"git+https://:password@gitlab.com/foo/bar#branch": {
...defaults.gitlab,
default: "https",
auth: ":password",
committish: "branch",
},
"git+https://gitlab.com/foo/bar.git": { ...defaults.gitlab, default: "https" },
"git+https://gitlab.com/foo/bar.git#branch": { ...defaults.gitlab, default: "https", committish: "branch" },
"git+https://user@gitlab.com/foo/bar.git": { ...defaults.gitlab, default: "https", auth: "user" },
"git+https://user@gitlab.com/foo/bar.git#branch": {
...defaults.gitlab,
default: "https",
auth: "user",
committish: "branch",
},
"git+https://user:password@gitlab.com/foo/bar.git": {
...defaults.gitlab,
default: "https",
auth: "user:password",
},
"git+https://user:password@gitlab.com/foo/bar.git#branch": {
...defaults.gitlab,
default: "https",
auth: "user:password",
committish: "branch",
},
"git+https://:password@gitlab.com/foo/bar.git": { ...defaults.gitlab, default: "https", auth: ":password" },
"git+https://:password@gitlab.com/foo/bar.git#branch": {
...defaults.gitlab,
default: "https",
auth: ":password",
committish: "branch",
},
"git+https://gitlab.com/foo/bar/baz": { ...defaults.gitlabSubgroup, default: "https" },
"git+https://gitlab.com/foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "https",
committish: "branch",
},
"git+https://user@gitlab.com/foo/bar/baz": { ...defaults.gitlabSubgroup, default: "https", auth: "user" },
"git+https://user@gitlab.com/foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user",
committish: "branch",
},
"git+https://user:password@gitlab.com/foo/bar/baz": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user:password",
},
"git+https://user:password@gitlab.com/foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user:password",
committish: "branch",
},
"git+https://:password@gitlab.com/foo/bar/baz": {
...defaults.gitlabSubgroup,
default: "https",
auth: ":password",
},
"git+https://:password@gitlab.com/foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: ":password",
committish: "branch",
},
"git+https://gitlab.com/foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "https" },
"git+https://gitlab.com/foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "https",
committish: "branch",
},
"git+https://user@gitlab.com/foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "https", auth: "user" },
"git+https://user@gitlab.com/foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user",
committish: "branch",
},
"git+https://user:password@gitlab.com/foo/bar/baz.git": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user:password",
},
"git+https://user:password@gitlab.com/foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user:password",
committish: "branch",
},
"git+https://:password@gitlab.com/foo/bar/baz.git": {
...defaults.gitlabSubgroup,
default: "https",
auth: ":password",
},
"git+https://:password@gitlab.com/foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: ":password",
committish: "branch",
},
// https urls
//
// NOTE auth is accepted and respected
// NOTE subprojects are accepted, but the subproject is treated as the project and the real project is lost
"https://gitlab.com/foo/bar": { ...defaults.gitlab, default: "https" },
"https://gitlab.com/foo/bar#branch": { ...defaults.gitlab, default: "https", committish: "branch" },
"https://user@gitlab.com/foo/bar": { ...defaults.gitlab, default: "https", auth: "user" },
"https://user@gitlab.com/foo/bar#branch": {
...defaults.gitlab,
default: "https",
auth: "user",
committish: "branch",
},
"https://user:password@gitlab.com/foo/bar": { ...defaults.gitlab, default: "https", auth: "user:password" },
"https://user:password@gitlab.com/foo/bar#branch": {
...defaults.gitlab,
default: "https",
auth: "user:password",
committish: "branch",
},
"https://:password@gitlab.com/foo/bar": { ...defaults.gitlab, default: "https", auth: ":password" },
"https://:password@gitlab.com/foo/bar#branch": {
...defaults.gitlab,
default: "https",
auth: ":password",
committish: "branch",
},
"https://gitlab.com/foo/bar.git": { ...defaults.gitlab, default: "https" },
"https://gitlab.com/foo/bar.git#branch": { ...defaults.gitlab, default: "https", committish: "branch" },
"https://user@gitlab.com/foo/bar.git": { ...defaults.gitlab, default: "https", auth: "user" },
"https://user@gitlab.com/foo/bar.git#branch": {
...defaults.gitlab,
default: "https",
auth: "user",
committish: "branch",
},
"https://user:password@gitlab.com/foo/bar.git": { ...defaults.gitlab, default: "https", auth: "user:password" },
"https://user:password@gitlab.com/foo/bar.git#branch": {
...defaults.gitlab,
default: "https",
auth: "user:password",
committish: "branch",
},
"https://:password@gitlab.com/foo/bar.git": { ...defaults.gitlab, default: "https", auth: ":password" },
"https://:password@gitlab.com/foo/bar.git#branch": {
...defaults.gitlab,
default: "https",
auth: ":password",
committish: "branch",
},
"https://gitlab.com/foo/bar/baz": { ...defaults.gitlabSubgroup, default: "https" },
"https://gitlab.com/foo/bar/baz#branch": { ...defaults.gitlabSubgroup, default: "https", committish: "branch" },
"https://user@gitlab.com/foo/bar/baz": { ...defaults.gitlabSubgroup, default: "https", auth: "user" },
"https://user@gitlab.com/foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user",
committish: "branch",
},
"https://user:password@gitlab.com/foo/bar/baz": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user:password",
},
"https://user:password@gitlab.com/foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user:password",
committish: "branch",
},
"https://:password@gitlab.com/foo/bar/baz": { ...defaults.gitlabSubgroup, default: "https", auth: ":password" },
"https://:password@gitlab.com/foo/bar/baz#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: ":password",
committish: "branch",
},
"https://gitlab.com/foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "https" },
"https://gitlab.com/foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "https",
committish: "branch",
},
"https://user@gitlab.com/foo/bar/baz.git": { ...defaults.gitlabSubgroup, default: "https", auth: "user" },
"https://user@gitlab.com/foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user",
committish: "branch",
},
"https://user:password@gitlab.com/foo/bar/baz.git": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user:password",
},
"https://user:password@gitlab.com/foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: "user:password",
committish: "branch",
},
"https://:password@gitlab.com/foo/bar/baz.git": {
...defaults.gitlabSubgroup,
default: "https",
auth: ":password",
},
"https://:password@gitlab.com/foo/bar/baz.git#branch": {
...defaults.gitlabSubgroup,
default: "https",
auth: ":password",
committish: "branch",
},
},
misc: {},
sourcehut: {
// shortucts
"sourcehut:~foo/bar": { ...defaults.sourcehut, default: "shortcut" },
"sourcehut:~foo/bar#branch": { ...defaults.sourcehut, default: "shortcut", committish: "branch" },
// shortcuts (.git)
"sourcehut:~foo/bar.git": { ...defaults.sourcehut, default: "shortcut" },
"sourcehut:~foo/bar.git#branch": { ...defaults.sourcehut, default: "shortcut", committish: "branch" },
// no-protocol git+ssh
"git@git.sr.ht:~foo/bar": { ...defaults.sourcehut, default: "sshurl", auth: null },
"git@git.sr.ht:~foo/bar#branch": {
...defaults.sourcehut,
default: "sshurl",
auth: null,
committish: "branch",
},
// no-protocol git+ssh (.git)
"git@git.sr.ht:~foo/bar.git": { ...defaults.sourcehut, default: "sshurl", auth: null },
"git@git.sr.ht:~foo/bar.git#branch": {
...defaults.sourcehut,
default: "sshurl",
auth: null,
committish: "branch",
},
// git+ssh urls
"git+ssh://git@git.sr.ht:~foo/bar": { ...defaults.sourcehut, default: "sshurl" },
"git+ssh://git@git.sr.ht:~foo/bar#branch": {
...defaults.sourcehut,
default: "sshurl",
committish: "branch",
},
// git+ssh urls (.git)
"git+ssh://git@git.sr.ht:~foo/bar.git": { ...defaults.sourcehut, default: "sshurl" },
"git+ssh://git@git.sr.ht:~foo/bar.git#branch": {
...defaults.sourcehut,
default: "sshurl",
committish: "branch",
},
// https urls
"https://git.sr.ht/~foo/bar": { ...defaults.sourcehut, default: "https" },
"https://git.sr.ht/~foo/bar#branch": { ...defaults.sourcehut, default: "https", committish: "branch" },
"https://git.sr.ht/~foo/bar.git": { ...defaults.sourcehut, default: "https" },
"https://git.sr.ht/~foo/bar.git#branch": { ...defaults.sourcehut, default: "https", committish: "branch" },
},
};
export const invalidGitUrls = {
bitbucket: [
// invalid protocol
"git://bitbucket.org/foo/bar",
// url to get a tarball
"https://bitbucket.org/foo/bar/get/archive.tar.gz",
// missing project
"https://bitbucket.org/foo",
],
gist: [
// raw urls that are wrong anyway but for some reason are in the wild
"https://gist.github.com/foo/feedbeef/raw/fix%2Fbug/",
// missing both user and project
"https://gist.github.com/",
],
github: [
// foo/bar shorthand but specifying auth
"user@foo/bar",
"user:password@foo/bar",
":password@foo/bar",
// foo/bar shorthand but with a space in it
"foo/ bar",
// string that ends with a slash, probably a directory
"foo/bar/",
// git@github.com style, but omitting the username
"github.com:foo/bar",
"github.com/foo/bar",
// invalid URI encoding
"github:foo%0N/bar",
// missing path
"git+ssh://git@github.com:",
// a deep url to something we don't know
"https://github.com/foo/bar/issues",
],
gitlab: [
// gitlab urls can contain a /-/ segment, make sure we ignore those
"https://gitlab.com/foo/-/something",
// missing project
"https://gitlab.com/foo",
// tarball, this should not parse so that it can be used for pacote's remote fetcher
"https://gitlab.com/foo/bar/repository/archive.tar.gz",
"https://gitlab.com/foo/bar/repository/archive.tar.gz?ref=49b393e2ded775f2df36ef2ffcb61b0359c194c9",
],
misc: [
"https://google.com",
"git+ssh://git@nothosted.com/abc/def",
"git://nothosted.com",
"git+file:///foo/bar",
"git+ssh://git@git.unlucky.com:RND/electron-tools/some-tool#2.0.1",
"::",
"",
null,
undefined,
],
sourcehut: [
// missing project
"https://git.sr.ht/~foo",
// invalid protocols
"git://git@git.sr.ht:~foo/bar",
"ssh://git.sr.ht:~foo/bar",
// tarball url
"https://git.sr.ht/~foo/bar/archive/HEAD.tar.gz",
],
};