1 | import { GitRepository } from 'query-registry';
|
2 | import { TaggedGitRepository } from '../types/tagged-git-repository';
|
3 |
|
4 | export function getTaggedGitRepository({
|
5 | id,
|
6 | gitRepository,
|
7 | gitHead,
|
8 | version,
|
9 | }: {
|
10 | id: string;
|
11 | gitRepository?: GitRepository;
|
12 | gitHead?: string;
|
13 | version: string;
|
14 | }): TaggedGitRepository | undefined {
|
15 | if (!gitRepository) {
|
16 | return undefined;
|
17 | }
|
18 |
|
19 | const { url, directory: dir } = gitRepository;
|
20 |
|
21 | if (isDefinitelyTypedPackage({ id })) {
|
22 | return { url, dir };
|
23 | }
|
24 |
|
25 | const tag = gitHead ?? `v${version}`;
|
26 | return { url, tag, dir };
|
27 | }
|
28 |
|
29 | function isDefinitelyTypedPackage({ id }: { id: string }): boolean {
|
30 | return id.startsWith('@types/');
|
31 | }
|