github-issue-tower-defence-management 1.123.3 → 1.124.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/bin/adapter/entry-points/cli/projectConfig.js +6 -11
- package/bin/adapter/entry-points/cli/projectConfig.js.map +1 -1
- package/bin/adapter/repositories/GraphqlProjectRepository.js +21 -36
- package/bin/adapter/repositories/GraphqlProjectRepository.js.map +1 -1
- package/bin/adapter/repositories/githubGraphqlClient.js +99 -0
- package/bin/adapter/repositories/githubGraphqlClient.js.map +1 -0
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +16 -33
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
- package/bin/adapter/repositories/issue/GraphqlProjectItemRepository.js +79 -142
- package/bin/adapter/repositories/issue/GraphqlProjectItemRepository.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/entry-points/cli/projectConfig.ts +6 -11
- package/src/adapter/repositories/GraphqlProjectRepository.ts +81 -77
- package/src/adapter/repositories/githubGraphqlClient.test.ts +251 -0
- package/src/adapter/repositories/githubGraphqlClient.ts +122 -0
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +16 -33
- package/src/adapter/repositories/issue/GraphqlProjectItemRepository.test.ts +62 -0
- package/src/adapter/repositories/issue/GraphqlProjectItemRepository.ts +208 -237
- package/types/adapter/entry-points/cli/projectConfig.d.ts.map +1 -1
- package/types/adapter/repositories/GraphqlProjectRepository.d.ts.map +1 -1
- package/types/adapter/repositories/githubGraphqlClient.d.ts +21 -0
- package/types/adapter/repositories/githubGraphqlClient.d.ts.map +1 -0
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
- package/types/adapter/repositories/issue/GraphqlProjectItemRepository.d.ts +2 -0
- package/types/adapter/repositories/issue/GraphqlProjectItemRepository.d.ts.map +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HTTPError } from 'ky';
|
|
2
2
|
import { BaseGitHubRepository } from '../BaseGitHubRepository';
|
|
3
|
+
import { postGithubGraphqlJson } from '../githubGraphqlClient';
|
|
3
4
|
import { Project } from '../../../domain/entities/Project';
|
|
4
5
|
import { Issue } from '../../../domain/entities/Issue';
|
|
5
6
|
export type ProjectItem = {
|
|
@@ -56,6 +57,17 @@ type ProjectV2ItemNode = {
|
|
|
56
57
|
};
|
|
57
58
|
content: ProjectV2ItemContentNode;
|
|
58
59
|
};
|
|
60
|
+
// Rate-limit cost of a GraphQL query grows with the number of requested
|
|
61
|
+
// nodes (roughly totalNodes / 100, see
|
|
62
|
+
// https://docs.github.com/en/graphql/overview/rate-limits-and-node-limits-for-the-graphql-api).
|
|
63
|
+
// The previous values (labels first: 100, assignees first: 20) requested far
|
|
64
|
+
// more nodes than any issue in the managed projects actually carries: no
|
|
65
|
+
// operational issue has more than 20 labels or more than 10 assignees, so
|
|
66
|
+
// these reduced limits do not drop any data while cutting the per-item node
|
|
67
|
+
// budget to roughly one third.
|
|
68
|
+
export const PROJECT_ITEM_LABELS_FIRST = 20;
|
|
69
|
+
export const PROJECT_ITEM_ASSIGNEES_FIRST = 10;
|
|
70
|
+
|
|
59
71
|
const PROJECT_V2_ITEM_FIELD_VALUES_AND_CONTENT_SELECTION = `
|
|
60
72
|
fieldValues(first: 10) {
|
|
61
73
|
nodes {
|
|
@@ -113,12 +125,12 @@ const PROJECT_V2_ITEM_FIELD_VALUES_AND_CONTENT_SELECTION = `
|
|
|
113
125
|
author {
|
|
114
126
|
login
|
|
115
127
|
}
|
|
116
|
-
labels(first:
|
|
128
|
+
labels(first: ${PROJECT_ITEM_LABELS_FIRST}) {
|
|
117
129
|
nodes {
|
|
118
130
|
name
|
|
119
131
|
}
|
|
120
132
|
}
|
|
121
|
-
assignees(first:
|
|
133
|
+
assignees(first: ${PROJECT_ITEM_ASSIGNEES_FIRST}) {
|
|
122
134
|
nodes {
|
|
123
135
|
login
|
|
124
136
|
}
|
|
@@ -137,12 +149,12 @@ const PROJECT_V2_ITEM_FIELD_VALUES_AND_CONTENT_SELECTION = `
|
|
|
137
149
|
author {
|
|
138
150
|
login
|
|
139
151
|
}
|
|
140
|
-
labels(first:
|
|
152
|
+
labels(first: ${PROJECT_ITEM_LABELS_FIRST}) {
|
|
141
153
|
nodes {
|
|
142
154
|
name
|
|
143
155
|
}
|
|
144
156
|
}
|
|
145
|
-
assignees(first:
|
|
157
|
+
assignees(first: ${PROJECT_ITEM_ASSIGNEES_FIRST}) {
|
|
146
158
|
nodes {
|
|
147
159
|
login
|
|
148
160
|
}
|
|
@@ -290,28 +302,25 @@ export class GraphqlProjectItemRepository extends BaseGitHubRepository {
|
|
|
290
302
|
};
|
|
291
303
|
|
|
292
304
|
try {
|
|
293
|
-
const response = await
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
repository: {
|
|
303
|
-
issue: {
|
|
304
|
-
projectItems: {
|
|
305
|
-
nodes: {
|
|
306
|
-
id: string;
|
|
307
|
-
project: { id: string };
|
|
308
|
-
}[];
|
|
309
|
-
};
|
|
305
|
+
const response = await postGithubGraphqlJson<{
|
|
306
|
+
data?: {
|
|
307
|
+
repository: {
|
|
308
|
+
issue: {
|
|
309
|
+
projectItems: {
|
|
310
|
+
nodes: {
|
|
311
|
+
id: string;
|
|
312
|
+
project: { id: string };
|
|
313
|
+
}[];
|
|
310
314
|
};
|
|
311
315
|
};
|
|
312
316
|
};
|
|
313
|
-
|
|
314
|
-
}
|
|
317
|
+
};
|
|
318
|
+
errors?: { message: string }[];
|
|
319
|
+
}>({
|
|
320
|
+
ghToken: this.ghToken,
|
|
321
|
+
query: graphqlQuery.query,
|
|
322
|
+
variables: graphqlQuery.variables,
|
|
323
|
+
});
|
|
315
324
|
|
|
316
325
|
if (!response.data) {
|
|
317
326
|
const errorMessages = response.errors
|
|
@@ -408,54 +417,51 @@ query GetProjectItems($projectId: ID!, $after: String, $first: Int!, $query: Str
|
|
|
408
417
|
},
|
|
409
418
|
};
|
|
410
419
|
const response = await callWithRateLimitRetry(() =>
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
node: {
|
|
421
|
-
items: {
|
|
422
|
-
totalCount: number;
|
|
423
|
-
pageInfo: {
|
|
424
|
-
endCursor: string;
|
|
425
|
-
startCursor: string;
|
|
426
|
-
hasNextPage: boolean;
|
|
427
|
-
};
|
|
428
|
-
nodes: {
|
|
429
|
-
id: string;
|
|
430
|
-
fieldValues: {
|
|
431
|
-
nodes: {
|
|
432
|
-
text: string;
|
|
433
|
-
number: number;
|
|
434
|
-
date: string;
|
|
435
|
-
field: {
|
|
436
|
-
name: string;
|
|
437
|
-
};
|
|
438
|
-
}[];
|
|
439
|
-
};
|
|
440
|
-
content: {
|
|
441
|
-
repository: { nameWithOwner: string };
|
|
442
|
-
number: number;
|
|
443
|
-
title: string;
|
|
444
|
-
state: string;
|
|
445
|
-
url: string;
|
|
446
|
-
createdAt: string;
|
|
447
|
-
updatedAt: string;
|
|
448
|
-
author: { login: string } | null;
|
|
449
|
-
labels: { nodes: { name: string }[] };
|
|
450
|
-
assignees: { nodes: { login: string }[] };
|
|
451
|
-
closingIssuesReferences?: { nodes: { url: string }[] };
|
|
452
|
-
};
|
|
453
|
-
}[];
|
|
420
|
+
postGithubGraphqlJson<{
|
|
421
|
+
data: {
|
|
422
|
+
node: {
|
|
423
|
+
items: {
|
|
424
|
+
totalCount: number;
|
|
425
|
+
pageInfo: {
|
|
426
|
+
endCursor: string;
|
|
427
|
+
startCursor: string;
|
|
428
|
+
hasNextPage: boolean;
|
|
454
429
|
};
|
|
455
|
-
|
|
430
|
+
nodes: {
|
|
431
|
+
id: string;
|
|
432
|
+
fieldValues: {
|
|
433
|
+
nodes: {
|
|
434
|
+
text: string;
|
|
435
|
+
number: number;
|
|
436
|
+
date: string;
|
|
437
|
+
field: {
|
|
438
|
+
name: string;
|
|
439
|
+
};
|
|
440
|
+
}[];
|
|
441
|
+
};
|
|
442
|
+
content: {
|
|
443
|
+
repository: { nameWithOwner: string };
|
|
444
|
+
number: number;
|
|
445
|
+
title: string;
|
|
446
|
+
state: string;
|
|
447
|
+
url: string;
|
|
448
|
+
createdAt: string;
|
|
449
|
+
updatedAt: string;
|
|
450
|
+
author: { login: string } | null;
|
|
451
|
+
labels: { nodes: { name: string }[] };
|
|
452
|
+
assignees: { nodes: { login: string }[] };
|
|
453
|
+
closingIssuesReferences?: { nodes: { url: string }[] };
|
|
454
|
+
};
|
|
455
|
+
}[];
|
|
456
|
+
};
|
|
456
457
|
} | null;
|
|
457
|
-
|
|
458
|
-
}
|
|
458
|
+
} | null;
|
|
459
|
+
errors?: { message: string }[];
|
|
460
|
+
}>({
|
|
461
|
+
ghToken: this.ghToken,
|
|
462
|
+
query: graphqlQuery.query,
|
|
463
|
+
variables: graphqlQuery.variables,
|
|
464
|
+
}),
|
|
459
465
|
);
|
|
460
466
|
if (response.errors && response.errors.length > 0) {
|
|
461
467
|
throw new Error(
|
|
@@ -676,37 +682,31 @@ query GetProjectItemsLight($projectId: ID!, $after: String, $first: Int!, $query
|
|
|
676
682
|
}[];
|
|
677
683
|
}> => {
|
|
678
684
|
const response = await callWithRateLimitRetry(() =>
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
Authorization: `Bearer ${this.ghToken}`,
|
|
692
|
-
},
|
|
693
|
-
})
|
|
694
|
-
.json<{
|
|
695
|
-
data: {
|
|
696
|
-
node: {
|
|
697
|
-
items: {
|
|
698
|
-
totalCount: number;
|
|
699
|
-
pageInfo: { endCursor: string; hasNextPage: boolean };
|
|
700
|
-
nodes: {
|
|
701
|
-
id: string;
|
|
702
|
-
updatedAt: string;
|
|
703
|
-
content: { url: string; number: number } | null;
|
|
704
|
-
}[];
|
|
705
|
-
};
|
|
706
|
-
} | null;
|
|
685
|
+
postGithubGraphqlJson<{
|
|
686
|
+
data: {
|
|
687
|
+
node: {
|
|
688
|
+
items: {
|
|
689
|
+
totalCount: number;
|
|
690
|
+
pageInfo: { endCursor: string; hasNextPage: boolean };
|
|
691
|
+
nodes: {
|
|
692
|
+
id: string;
|
|
693
|
+
updatedAt: string;
|
|
694
|
+
content: { url: string; number: number } | null;
|
|
695
|
+
}[];
|
|
696
|
+
};
|
|
707
697
|
} | null;
|
|
708
|
-
|
|
709
|
-
}
|
|
698
|
+
} | null;
|
|
699
|
+
errors?: { message: string }[];
|
|
700
|
+
}>({
|
|
701
|
+
ghToken: this.ghToken,
|
|
702
|
+
query: graphqlQueryString,
|
|
703
|
+
variables: {
|
|
704
|
+
projectId: projectId,
|
|
705
|
+
after: after,
|
|
706
|
+
first: FETCH_PROJECT_ITEMS_INITIAL_PAGE_SIZE,
|
|
707
|
+
query: query ?? null,
|
|
708
|
+
},
|
|
709
|
+
}),
|
|
710
710
|
);
|
|
711
711
|
if (response.errors && response.errors.length > 0) {
|
|
712
712
|
throw new Error(
|
|
@@ -790,22 +790,16 @@ query GetProjectItemsByIds($ids: [ID!]!) {
|
|
|
790
790
|
batchIds: string[],
|
|
791
791
|
): Promise<(ProjectV2ItemNode | null)[]> => {
|
|
792
792
|
const response = await callWithRateLimitRetry(() =>
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
},
|
|
804
|
-
})
|
|
805
|
-
.json<{
|
|
806
|
-
data: { nodes: (ProjectV2ItemNode | null)[] } | null;
|
|
807
|
-
errors?: { message: string }[];
|
|
808
|
-
}>(),
|
|
793
|
+
postGithubGraphqlJson<{
|
|
794
|
+
data: { nodes: (ProjectV2ItemNode | null)[] } | null;
|
|
795
|
+
errors?: { message: string }[];
|
|
796
|
+
}>({
|
|
797
|
+
ghToken: this.ghToken,
|
|
798
|
+
query: graphqlQueryString,
|
|
799
|
+
variables: {
|
|
800
|
+
ids: batchIds,
|
|
801
|
+
},
|
|
802
|
+
}),
|
|
809
803
|
);
|
|
810
804
|
if (response.errors && response.errors.length > 0) {
|
|
811
805
|
throw new Error(
|
|
@@ -940,38 +934,35 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
940
934
|
issueNumber: issueNumber,
|
|
941
935
|
},
|
|
942
936
|
};
|
|
943
|
-
const response = await
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
name: string;
|
|
963
|
-
text: string;
|
|
964
|
-
repository: { name: string };
|
|
965
|
-
user: { login: string };
|
|
966
|
-
}[];
|
|
967
|
-
};
|
|
968
|
-
}[];
|
|
969
|
-
};
|
|
937
|
+
const response = await postGithubGraphqlJson<{
|
|
938
|
+
data?: {
|
|
939
|
+
repository: {
|
|
940
|
+
issue: {
|
|
941
|
+
projectItems: {
|
|
942
|
+
nodes: {
|
|
943
|
+
id: string;
|
|
944
|
+
fieldValues: {
|
|
945
|
+
nodes: {
|
|
946
|
+
__typename: string;
|
|
947
|
+
field: { name: string };
|
|
948
|
+
date: string;
|
|
949
|
+
name: string;
|
|
950
|
+
text: string;
|
|
951
|
+
repository: { name: string };
|
|
952
|
+
user: { login: string };
|
|
953
|
+
}[];
|
|
954
|
+
};
|
|
955
|
+
}[];
|
|
970
956
|
};
|
|
971
957
|
};
|
|
972
958
|
};
|
|
973
|
-
|
|
974
|
-
}
|
|
959
|
+
};
|
|
960
|
+
errors?: { message: string }[];
|
|
961
|
+
}>({
|
|
962
|
+
ghToken: this.ghToken,
|
|
963
|
+
query: graphqlQuery.query,
|
|
964
|
+
variables: graphqlQuery.variables,
|
|
965
|
+
});
|
|
975
966
|
|
|
976
967
|
if (!response.data) {
|
|
977
968
|
const errorMessages = response.errors
|
|
@@ -1036,12 +1027,12 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
1036
1027
|
author {
|
|
1037
1028
|
login
|
|
1038
1029
|
}
|
|
1039
|
-
labels(first:
|
|
1030
|
+
labels(first: ${PROJECT_ITEM_LABELS_FIRST}) {
|
|
1040
1031
|
nodes {
|
|
1041
1032
|
name
|
|
1042
1033
|
}
|
|
1043
1034
|
}
|
|
1044
|
-
assignees(first:
|
|
1035
|
+
assignees(first: ${PROJECT_ITEM_ASSIGNEES_FIRST}) {
|
|
1045
1036
|
nodes {
|
|
1046
1037
|
login
|
|
1047
1038
|
}
|
|
@@ -1114,12 +1105,12 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
1114
1105
|
author {
|
|
1115
1106
|
login
|
|
1116
1107
|
}
|
|
1117
|
-
labels(first:
|
|
1108
|
+
labels(first: ${PROJECT_ITEM_LABELS_FIRST}) {
|
|
1118
1109
|
nodes {
|
|
1119
1110
|
name
|
|
1120
1111
|
}
|
|
1121
1112
|
}
|
|
1122
|
-
assignees(first:
|
|
1113
|
+
assignees(first: ${PROJECT_ITEM_ASSIGNEES_FIRST}) {
|
|
1123
1114
|
nodes {
|
|
1124
1115
|
login
|
|
1125
1116
|
}
|
|
@@ -1227,22 +1218,19 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
1227
1218
|
}[];
|
|
1228
1219
|
};
|
|
1229
1220
|
};
|
|
1230
|
-
const response = await
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
}
|
|
1236
|
-
}
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
};
|
|
1244
|
-
errors?: { message: string }[];
|
|
1245
|
-
}>();
|
|
1221
|
+
const response = await postGithubGraphqlJson<{
|
|
1222
|
+
data?: {
|
|
1223
|
+
repository: {
|
|
1224
|
+
issue: ContentNode | null;
|
|
1225
|
+
pullRequest: ContentNode | null;
|
|
1226
|
+
} | null;
|
|
1227
|
+
};
|
|
1228
|
+
errors?: { message: string }[];
|
|
1229
|
+
}>({
|
|
1230
|
+
ghToken: this.ghToken,
|
|
1231
|
+
query: graphqlQuery.query,
|
|
1232
|
+
variables: graphqlQuery.variables,
|
|
1233
|
+
});
|
|
1246
1234
|
if (!response.data) {
|
|
1247
1235
|
const errorMessages = response.errors
|
|
1248
1236
|
? response.errors.map((e) => e.message).join('; ')
|
|
@@ -1337,21 +1325,17 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
1337
1325
|
}`,
|
|
1338
1326
|
};
|
|
1339
1327
|
|
|
1340
|
-
const res = await
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
Authorization: `Bearer ${this.ghToken}`,
|
|
1345
|
-
},
|
|
1346
|
-
})
|
|
1347
|
-
.json<{
|
|
1348
|
-
data: {
|
|
1349
|
-
updateProjectV2ItemFieldValue: {
|
|
1350
|
-
clientMutationId: string;
|
|
1351
|
-
};
|
|
1328
|
+
const res = await postGithubGraphqlJson<{
|
|
1329
|
+
data: {
|
|
1330
|
+
updateProjectV2ItemFieldValue: {
|
|
1331
|
+
clientMutationId: string;
|
|
1352
1332
|
};
|
|
1353
|
-
|
|
1354
|
-
}
|
|
1333
|
+
};
|
|
1334
|
+
errors: { message: string }[];
|
|
1335
|
+
}>({
|
|
1336
|
+
ghToken: this.ghToken,
|
|
1337
|
+
query: graphqlQuery.query,
|
|
1338
|
+
});
|
|
1355
1339
|
if (res.errors) {
|
|
1356
1340
|
throw new Error(res.errors.map((e) => e.message).join('\n'));
|
|
1357
1341
|
}
|
|
@@ -1374,21 +1358,17 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
1374
1358
|
}`,
|
|
1375
1359
|
};
|
|
1376
1360
|
|
|
1377
|
-
const res = await
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
Authorization: `Bearer ${this.ghToken}`,
|
|
1382
|
-
},
|
|
1383
|
-
})
|
|
1384
|
-
.json<{
|
|
1385
|
-
data: {
|
|
1386
|
-
clearProjectV2ItemFieldValue: {
|
|
1387
|
-
clientMutationId: string;
|
|
1388
|
-
};
|
|
1361
|
+
const res = await postGithubGraphqlJson<{
|
|
1362
|
+
data: {
|
|
1363
|
+
clearProjectV2ItemFieldValue: {
|
|
1364
|
+
clientMutationId: string;
|
|
1389
1365
|
};
|
|
1390
|
-
|
|
1391
|
-
}
|
|
1366
|
+
};
|
|
1367
|
+
errors: { message: string }[];
|
|
1368
|
+
}>({
|
|
1369
|
+
ghToken: this.ghToken,
|
|
1370
|
+
query: graphqlQuery.query,
|
|
1371
|
+
});
|
|
1392
1372
|
if (res.errors) {
|
|
1393
1373
|
throw new Error(res.errors.map((e) => e.message).join('\n'));
|
|
1394
1374
|
}
|
|
@@ -1418,21 +1398,18 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
1418
1398
|
},
|
|
1419
1399
|
};
|
|
1420
1400
|
|
|
1421
|
-
const res = await
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
Authorization: `Bearer ${this.ghToken}`,
|
|
1426
|
-
},
|
|
1427
|
-
})
|
|
1428
|
-
.json<{
|
|
1429
|
-
data: {
|
|
1430
|
-
deleteProjectV2Item: {
|
|
1431
|
-
clientMutationId: string;
|
|
1432
|
-
};
|
|
1401
|
+
const res = await postGithubGraphqlJson<{
|
|
1402
|
+
data: {
|
|
1403
|
+
deleteProjectV2Item: {
|
|
1404
|
+
clientMutationId: string;
|
|
1433
1405
|
};
|
|
1434
|
-
|
|
1435
|
-
}
|
|
1406
|
+
};
|
|
1407
|
+
errors?: { message: string }[];
|
|
1408
|
+
}>({
|
|
1409
|
+
ghToken: this.ghToken,
|
|
1410
|
+
query: graphqlQuery.query,
|
|
1411
|
+
variables: graphqlQuery.variables,
|
|
1412
|
+
});
|
|
1436
1413
|
|
|
1437
1414
|
if (res.errors) {
|
|
1438
1415
|
throw new Error(res.errors.map((e) => e.message).join('\n'));
|
|
@@ -1473,23 +1450,20 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
1473
1450
|
}`,
|
|
1474
1451
|
variables: { owner, repo, number: issueNumber },
|
|
1475
1452
|
};
|
|
1476
|
-
const nodeIdRes = await
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
})
|
|
1483
|
-
.json<{
|
|
1484
|
-
data: {
|
|
1485
|
-
repository: {
|
|
1486
|
-
issueOrPullRequest: {
|
|
1487
|
-
id: string;
|
|
1488
|
-
} | null;
|
|
1489
|
-
};
|
|
1453
|
+
const nodeIdRes = await postGithubGraphqlJson<{
|
|
1454
|
+
data: {
|
|
1455
|
+
repository: {
|
|
1456
|
+
issueOrPullRequest: {
|
|
1457
|
+
id: string;
|
|
1458
|
+
} | null;
|
|
1490
1459
|
};
|
|
1491
|
-
|
|
1492
|
-
}
|
|
1460
|
+
};
|
|
1461
|
+
errors?: { message: string }[];
|
|
1462
|
+
}>({
|
|
1463
|
+
ghToken: this.ghToken,
|
|
1464
|
+
query: nodeIdQuery.query,
|
|
1465
|
+
variables: nodeIdQuery.variables,
|
|
1466
|
+
});
|
|
1493
1467
|
if (nodeIdRes.errors) {
|
|
1494
1468
|
throw new Error(nodeIdRes.errors.map((e) => e.message).join('\n'));
|
|
1495
1469
|
}
|
|
@@ -1506,21 +1480,18 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
1506
1480
|
}`,
|
|
1507
1481
|
variables: { projectId, contentId },
|
|
1508
1482
|
};
|
|
1509
|
-
const addRes = await
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
Authorization: `Bearer ${this.ghToken}`,
|
|
1514
|
-
},
|
|
1515
|
-
})
|
|
1516
|
-
.json<{
|
|
1517
|
-
data: {
|
|
1518
|
-
addProjectV2ItemById: {
|
|
1519
|
-
item: { id: string };
|
|
1520
|
-
};
|
|
1483
|
+
const addRes = await postGithubGraphqlJson<{
|
|
1484
|
+
data: {
|
|
1485
|
+
addProjectV2ItemById: {
|
|
1486
|
+
item: { id: string };
|
|
1521
1487
|
};
|
|
1522
|
-
|
|
1523
|
-
}
|
|
1488
|
+
};
|
|
1489
|
+
errors?: { message: string }[];
|
|
1490
|
+
}>({
|
|
1491
|
+
ghToken: this.ghToken,
|
|
1492
|
+
query: addQuery.query,
|
|
1493
|
+
variables: addQuery.variables,
|
|
1494
|
+
});
|
|
1524
1495
|
if (addRes.errors) {
|
|
1525
1496
|
throw new Error(addRes.errors.map((e) => e.message).join('\n'));
|
|
1526
1497
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/projectConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/projectConfig.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,CAAC;AAsDF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACH,CAAC;AAoBvE,eAAO,MAAM,cAAc,GAAI,gBAAgB,MAAM,KAAG,UAyDvD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,aAAa,MAAM,KAClB,UAmEF,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,YAAY,UAAU,EACtB,cAAc,UAAU,EACxB,iBAAiB,UAAU,KAC1B,UAsED,CAAC;AAkBH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,MAAM,EAClB,OAAO,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAoDvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphqlProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GraphqlProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAOrE,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,KACZ,WAAW,CAAC,OAAO,CAcrB,CAAC;AAEF,qBAAa,wBACX,SAAQ,oBACR,YACE,IAAI,CACF,iBAAiB,EACf,YAAY,GACZ,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,CACrB;IAEH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAG5B;gBAGA,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,GAAE,MAAwC,EACjD,YAAY,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,WAAW,GAAG,KAAK,CAAC;IAMvE,OAAO,CAAC,0BAA0B,CAwBhC;IAEF,OAAO,CAAC,yBAAyB,CAe/B;IAEF,qBAAqB,GACnB,YAAY,MAAM,KACjB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAMC;IACF,cAAc,GACZ,OAAO,MAAM,EACb,eAAe,MAAM,KACpB,OAAO,CAAC,MAAM,CAAC,CA0GhB;IACF,kBAAkB,GAChB,YAAY,MAAM,KACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAG9B;IACF,UAAU,GAAU,WAAW,OAAO,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA2MpE;IACF,QAAQ,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC,CAU9C;IACF,eAAe,GACb,SAAS,OAAO,EAChB,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QACvC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9B,CAAC,EAAE,KACH,OAAO,CAAC,WAAW,EAAE,CAAC,CA4CvB;IACF,gBAAgB,GACd,SAAS,OAAO,EAChB,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QACxC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9B,CAAC,EAAE,KACH,OAAO,CAAC,WAAW,EAAE,CAAC,CAyCvB;CACH"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const GITHUB_GRAPHQL_ENDPOINT = "https://api.github.com/graphql";
|
|
2
|
+
export declare const RATE_LIMIT_SELECTION = "rateLimit { cost remaining }";
|
|
3
|
+
export type GithubGraphqlRateLimit = {
|
|
4
|
+
cost: number;
|
|
5
|
+
remaining: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const isMutationOperation: (query: string) => boolean;
|
|
8
|
+
export declare const extractGraphqlOperationName: (query: string) => string;
|
|
9
|
+
export declare const injectRateLimitSelection: (query: string) => string;
|
|
10
|
+
export declare const logGithubGraphqlCost: (query: string, responseBody: unknown) => void;
|
|
11
|
+
export declare const postGithubGraphqlJson: <T>(params: {
|
|
12
|
+
ghToken: string;
|
|
13
|
+
query: string;
|
|
14
|
+
variables?: Record<string, unknown>;
|
|
15
|
+
}) => Promise<T>;
|
|
16
|
+
export declare const fetchGithubGraphql: (params: {
|
|
17
|
+
ghToken: string;
|
|
18
|
+
query: string;
|
|
19
|
+
variables?: Record<string, unknown>;
|
|
20
|
+
}) => Promise<Response>;
|
|
21
|
+
//# sourceMappingURL=githubGraphqlClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"githubGraphqlClient.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/githubGraphqlClient.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,OACV,CAAC;AAE3C,eAAO,MAAM,2BAA2B,GAAI,OAAO,MAAM,KAAG,MAK3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,KAAG,MASxD,CAAC;AAgCF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,cAAc,OAAO,KACpB,IAQF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,CAAC,EAAE,QAAQ;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,KAAG,OAAO,CAAC,CAAC,CAgBZ,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,QAAQ;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,KAAG,OAAO,CAAC,QAAQ,CAoBnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiV3CheerioRestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EAEjB,iBAAiB,EACjB,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,4BAA4B,EAC5B,WAAW,EACZ,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ApiV3CheerioRestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"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"}
|