Skip to content

Commit b205e3f

Browse files
committed
Fix some types. Formatting
1 parent f558985 commit b205e3f

3 files changed

Lines changed: 57 additions & 44 deletions

File tree

src/githubHelper.ts

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import * as utils from './utils';
44
import { Octokit as GitHubApi, RestEndpointMethodTypes } from '@octokit/rest';
55
import { Endpoints } from '@octokit/types';
66
import { GitlabHelper } from './gitlabHelper';
7-
import { LabelSchema } from '@gitbeaker/core/dist/types/types';
87

98
type IssuesListForRepoResponseData =
109
Endpoints['GET /repos/{owner}/{repo}/issues']['response']['data'];
@@ -13,11 +12,6 @@ type PullsListResponseData =
1312

1413
const gitHubLocation = 'https://github.com';
1514

16-
interface Milestone {
17-
number: number;
18-
title: string;
19-
}
20-
2115
interface CommentImport {
2216
created_at?: string;
2317
body: string;
@@ -34,7 +28,24 @@ interface IssueImport {
3428
labels?: Array<string>;
3529
}
3630

37-
export type SimpleLabel = Pick<LabelSchema, 'name' | 'color'>;
31+
export interface MilestoneImport {
32+
id?: number; // GitHub internal identifier
33+
iid?: number; // GitLab external number
34+
title: string;
35+
description: string;
36+
state: string;
37+
due_date?: string;
38+
}
39+
40+
export interface SimpleLabel {
41+
name: string;
42+
color: string;
43+
}
44+
45+
export interface SimpleMilestone {
46+
number: number;
47+
title: string;
48+
}
3849

3950
export class GithubHelper {
4051
githubApi: GitHubApi;
@@ -100,7 +111,7 @@ export class GithubHelper {
100111
/**
101112
* Get a list of all GitHub milestones currently in new repo
102113
*/
103-
async getAllGithubMilestones(): Promise<Milestone[]> {
114+
async getAllGithubMilestones(): Promise<SimpleMilestone[]> {
104115
try {
105116
await utils.sleep(this.delayInMs);
106117
// get an array of GitHub milestones for the new repo
@@ -708,7 +719,9 @@ export class GithubHelper {
708719
* @param milestone GitLab milestone data
709720
* @return Created milestone data (or void if debugging => nothing created)
710721
*/
711-
async createMilestone(milestone): Promise<Milestone | void> {
722+
async createMilestone(
723+
milestone: MilestoneImport
724+
): Promise<SimpleMilestone | void> {
712725
// convert from GitLab to GitHub
713726
let githubMilestone: RestEndpointMethodTypes['issues']['createMilestone']['parameters'] =
714727
{

src/gitlabHelper.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
import { Gitlab } from '@gitbeaker/node';
22
import { GitlabSettings } from './settings';
33
import axios from 'axios';
4-
// import { MilestoneSchema } from '@gitbeaker/core/dist/types/types';
5-
// export type Milestone = Partial<MilestoneSchema>;
6-
7-
export interface Milestone {
8-
id?: number; // internal gitlab identifier
9-
iid: number; // milestone number, equivalent to github number
10-
title: string;
11-
description: string;
12-
state: string;
13-
}
144

155
export class GitlabHelper {
166
// Wait for this issue to be resolved
@@ -126,8 +116,10 @@ export class GitlabHelper {
126116
* Gets all branches.
127117
*/
128118
async getAllBranches() {
129-
if (!this.allBranches){
130-
this.allBranches = await this.gitlabApi.Branches.all(this.gitlabProjectId);
119+
if (!this.allBranches) {
120+
this.allBranches = await this.gitlabApi.Branches.all(
121+
this.gitlabProjectId
122+
);
131123
}
132124
return this.allBranches as any[];
133125
}

src/index.ts

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { GithubHelper, SimpleLabel } from './githubHelper';
2-
import { GitlabHelper, Milestone } from './gitlabHelper';
1+
import { GithubHelper, MilestoneImport, SimpleLabel } from './githubHelper';
2+
import { GitlabHelper } from './gitlabHelper';
33
import settings from '../settings';
44

55
import { Octokit as GitHubApi } from '@octokit/rest';
@@ -59,7 +59,7 @@ const MyOctokit = GitHubApi.plugin(throttling);
5959

6060
// Create a GitHub API object
6161
const githubApi = new MyOctokit({
62-
previews: settings.useIssueImportAPI ? ["golden-comet"] : [],
62+
previews: settings.useIssueImportAPI ? ['golden-comet'] : [],
6363
debug: false,
6464
baseUrl: settings.github.baseUrl
6565
? settings.github.baseUrl
@@ -113,7 +113,7 @@ if (!settings.gitlab.projectId) {
113113
* @param expectedIdx Number of the GitLab milestone
114114
* @returns Data for the milestone
115115
*/
116-
function createPlaceholderMilestone(expectedIdx: number): Milestone {
116+
function createPlaceholderMilestone(expectedIdx: number): MilestoneImport {
117117
return {
118118
iid: expectedIdx,
119119
title: `[PLACEHOLDER] - for milestone #${expectedIdx}`,
@@ -185,13 +185,11 @@ async function migrate() {
185185
await transferLabels(true, settings.conversion.useLowerCaseLabels);
186186
}
187187

188-
189188
// transfer GitLab releases to GitHub
190189
if (settings.transfer.releases) {
191190
await transferReleases();
192191
}
193192

194-
195193
// Transfer issues with their comments; do this before transferring the merge requests
196194
if (settings.transfer.issues) {
197195
await transferIssues();
@@ -223,7 +221,7 @@ async function transferMilestones(
223221
inform('Transferring Milestones');
224222

225223
// Get a list of all milestones associated with this project
226-
let milestones: Milestone[] = await gitlabApi.ProjectMilestones.all(
224+
let milestones: MilestoneImport[] = await gitlabApi.ProjectMilestones.all(
227225
settings.gitlab.projectId
228226
);
229227

@@ -499,9 +497,11 @@ async function transferMergeRequests() {
499497
);
500498
if (!githubRequest && !githubIssue) {
501499
if (settings.skipMergeRequestStates.includes(request.state)) {
502-
console.log(`Skipping MR ${request.iid} in "${request.state}" state: ${request.title}`)
503-
continue;
504-
}
500+
console.log(
501+
`Skipping MR ${request.iid} in "${request.state}" state: ${request.title}`
502+
);
503+
continue;
504+
}
505505
console.log(
506506
'Creating pull request: !' + request.iid + ' - ' + request.title
507507
);
@@ -540,25 +540,25 @@ async function transferMergeRequests() {
540540

541541
/**
542542
* Transfer any releases that exist in GitLab that do not exist in GitHub
543-
* Please note that due to github api restrictions, this only transfers the
543+
* Please note that due to github api restrictions, this only transfers the
544544
* name, description and tag name of the release. It sorts the releases chronologically
545545
* and creates them on github one by one
546546
* @returns {Promise<void>}
547547
*/
548-
async function transferReleases() {
548+
async function transferReleases() {
549549
inform('Transferring Releases');
550550

551551
// Get a list of all releases associated with this project
552-
let releases = await gitlabApi.Releases.all(settings.gitlab.projectId) as any;
552+
let releases = (await gitlabApi.Releases.all(
553+
settings.gitlab.projectId
554+
)) as any;
553555

554556
// Sort releases in ascending order of their release date
555557
releases = releases.sort((a, b) => {
556558
return (new Date(a.released_at) as any) - (new Date(b.released_at) as any);
557559
});
558560

559-
console.log(
560-
'Transferring ' + releases.length.toString() + ' releases'
561-
);
561+
console.log('Transferring ' + releases.length.toString() + ' releases');
562562

563563
//
564564
// Create GitHub release for each GitLab release
@@ -569,26 +569,34 @@ async function transferMergeRequests() {
569569
// Try to find an existing github release that already exists for this GitLab
570570
// release
571571
let githubRelease = await githubHelper.getReleaseByTag(release.tag_name);
572-
572+
573573
if (!githubRelease) {
574574
console.log(
575575
'Creating release: !' + release.name + ' - ' + release.tag_name
576576
);
577577
try {
578578
// process asynchronous code in sequence
579-
await githubHelper.createRelease(release.tag_name, release.name, release.description);
579+
await githubHelper.createRelease(
580+
release.tag_name,
581+
release.name,
582+
release.description
583+
);
580584
} catch (err) {
581585
console.error(
582586
'Could not create release: !' +
583-
release.name + ' - ' + release.tag_name
587+
release.name +
588+
' - ' +
589+
release.tag_name
584590
);
585591
console.error(err);
586592
}
587593
} else {
588-
console.log(
589-
'Gitlab release already exists (as github release): ' +
590-
githubRelease.data.name + ' - ' + githubRelease.data.tag_name
591-
);
594+
console.log(
595+
'Gitlab release already exists (as github release): ' +
596+
githubRelease.data.name +
597+
' - ' +
598+
githubRelease.data.tag_name
599+
);
592600
}
593601
}
594602
}

0 commit comments

Comments
 (0)