Skip to content
Source
Sign inSign up

registry.ts

44 lines1.8 KB

1import * as AzureDevOps from "@t3tools/source-control-azure-devops/shared/definition";
2import * as Bitbucket from "@t3tools/source-control-bitbucket/shared/definition";
3import { makeSourceControlDefinitionRegistry } from "@t3tools/source-control-core/shared/definition";
4import * as CursorOrigin from "@t3tools/source-control-cursor-origin/shared/definition";
5import * as Forgejo from "@t3tools/source-control-forgejo/shared/definition";
6import * as GitCafe from "@t3tools/source-control-gitcafe/shared/definition";
7import * as GitHub from "@t3tools/source-control-github/shared/definition";
8import * as GitLab from "@t3tools/source-control-gitlab/shared/definition";
9​
10export { canonicalizePullRequestUrl as canonicalizeGitCafePullRequestUrl } from "@t3tools/source-control-gitcafe/shared/definition";
11​
12/**
13 * GitHub comes first to preserve the client default for repositories with an unknown host.
14 * GitCafe and Cursor Origin claim URLs first because GitHub and Forgejo accept the same routes on
15 * any hostname.
16 * Remote recognition needs its own order because host labels can overlap (`gitea.github.example`).
17 */
18export const builtInSourceControlDefinitions = makeSourceControlDefinitionRegistry(
19 [
20 GitHub.definition,
21 CursorOrigin.definition,
22 GitLab.definition,
23 GitCafe.definition,
24 Forgejo.definition,
25 Bitbucket.definition,
26 AzureDevOps.definition,
27 ],
28 {
29 claimChangeRequestUrlsFirst: [
30 GitCafe.definition.kind,
31 CursorOrigin.definition.kind,
32 AzureDevOps.definition.kind,
33 ],
34 recognizeRemotesIn: [
35 GitCafe.definition.kind,
36 CursorOrigin.definition.kind,
37 Forgejo.definition.kind,
38 GitHub.definition.kind,
39 GitLab.definition.kind,
40 AzureDevOps.definition.kind,
41 Bitbucket.definition.kind,
42 ],
43 },
44);