danger 11.3.1 → 12.0.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.
Files changed (34) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/Dockerfile +2 -2
  3. package/distribution/commands/danger-pr.js +3 -4
  4. package/distribution/commands/danger-pr.js.map +1 -1
  5. package/distribution/danger.d.ts +5 -4
  6. package/distribution/danger.js.flow +7 -2
  7. package/distribution/dsl/GitDSL.d.ts +2 -0
  8. package/distribution/dsl/GitLabDSL.d.ts +3 -4
  9. package/distribution/platforms/FakePlatform.js +1 -1
  10. package/distribution/platforms/FakePlatform.js.map +1 -1
  11. package/distribution/platforms/GitLab.d.ts +8 -6
  12. package/distribution/platforms/GitLab.js +137 -78
  13. package/distribution/platforms/GitLab.js.map +1 -1
  14. package/distribution/platforms/encodingParser.d.ts +6 -0
  15. package/distribution/platforms/encodingParser.js +15 -0
  16. package/distribution/platforms/encodingParser.js.map +1 -0
  17. package/distribution/platforms/git/gitJSONToGitDSL.js +5 -1
  18. package/distribution/platforms/git/gitJSONToGitDSL.js.map +1 -1
  19. package/distribution/platforms/github/GitHubAPI.js +8 -14
  20. package/distribution/platforms/github/GitHubAPI.js.map +1 -1
  21. package/distribution/platforms/github/GitHubUtils.d.ts +2 -2
  22. package/distribution/platforms/github/GitHubUtils.js +4 -2
  23. package/distribution/platforms/github/GitHubUtils.js.map +1 -1
  24. package/distribution/platforms/github/customGitHubRequire.d.ts +1 -1
  25. package/distribution/platforms/github/customGitHubRequire.js +1 -1
  26. package/distribution/platforms/github/customGitHubRequire.js.map +1 -1
  27. package/distribution/platforms/gitlab/GitLabAPI.d.ts +23 -17
  28. package/distribution/platforms/gitlab/GitLabAPI.js +138 -73
  29. package/distribution/platforms/gitlab/GitLabAPI.js.map +1 -1
  30. package/distribution/platforms/gitlab/GitLabGit.d.ts +1 -1
  31. package/distribution/platforms/gitlab/inlinePositionParser.d.ts +14 -0
  32. package/distribution/platforms/gitlab/inlinePositionParser.js +125 -0
  33. package/distribution/platforms/gitlab/inlinePositionParser.js.map +1 -0
  34. package/package.json +17 -18
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -45,10 +56,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
45
56
  return to.concat(ar || Array.prototype.slice.call(from));
46
57
  };
47
58
  Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.getGitLabAPICredentialsFromEnv = void 0;
49
- var node_1 = require("@gitbeaker/node");
59
+ exports.getGitLabAPICredentialsFromEnv = exports.getGitLabHostFromEnv = void 0;
60
+ var rest_1 = require("@gitbeaker/rest");
50
61
  var debug_1 = require("../../debug");
51
- function getGitLabAPICredentialsFromEnv(env) {
62
+ var encodingParser_1 = require("../encodingParser");
63
+ function getGitLabHostFromEnv(env) {
52
64
  var host = "https://gitlab.com";
53
65
  var envHost = env["DANGER_GITLAB_HOST"];
54
66
  var envCIAPI = env["CI_API_V4_URL"];
@@ -69,11 +81,28 @@ function getGitLabAPICredentialsFromEnv(env) {
69
81
  host = "".concat(matchProto, "://").concat(matchHost);
70
82
  }
71
83
  }
72
- return {
73
- host: host,
74
- token: env["DANGER_GITLAB_API_TOKEN"],
75
- oauthToken: env["DANGER_GITLAB_API_OAUTH_TOKEN"],
76
- };
84
+ return host;
85
+ }
86
+ exports.getGitLabHostFromEnv = getGitLabHostFromEnv;
87
+ function getGitLabAPICredentialsFromEnv(env) {
88
+ var host = getGitLabHostFromEnv(env);
89
+ var envToken = env["DANGER_GITLAB_API_TOKEN"];
90
+ var envOAuthToken = env["DANGER_GITLAB_API_OAUTH_TOKEN"];
91
+ if (envToken) {
92
+ return {
93
+ host: host,
94
+ token: envToken,
95
+ };
96
+ }
97
+ else if (envOAuthToken) {
98
+ return {
99
+ host: host,
100
+ oauthToken: envOAuthToken,
101
+ };
102
+ }
103
+ else {
104
+ throw new ReferenceError("DANGER_GITLAB_API_TOKEN or DANGER_GITLAB_API_OAUTH_TOKEN must be available in the environment");
105
+ }
77
106
  }
78
107
  exports.getGitLabAPICredentialsFromEnv = getGitLabAPICredentialsFromEnv;
79
108
  var GitLabAPI = /** @class */ (function () {
@@ -88,7 +117,7 @@ var GitLabAPI = /** @class */ (function () {
88
117
  switch (_a.label) {
89
118
  case 0:
90
119
  this.d("getUser");
91
- return [4 /*yield*/, this.api.Users.current()];
120
+ return [4 /*yield*/, this.api.Users.showCurrentUser()];
92
121
  case 1:
93
122
  user = (_a.sent());
94
123
  this.d("getUser", user);
@@ -113,9 +142,13 @@ var GitLabAPI = /** @class */ (function () {
113
142
  this.updateMergeRequestInfo = function (changes) { return __awaiter(_this, void 0, void 0, function () {
114
143
  var mr;
115
144
  return __generator(this, function (_a) {
116
- mr = this.api.MergeRequests.edit(this.repoSlug, this.prId, changes);
117
- this.d("updateMergeRequestInfo", mr);
118
- return [2 /*return*/, mr];
145
+ switch (_a.label) {
146
+ case 0: return [4 /*yield*/, this.api.MergeRequests.edit(this.repoSlug, this.prId, changes)];
147
+ case 1:
148
+ mr = _a.sent();
149
+ this.d("updateMergeRequestInfo", mr);
150
+ return [2 /*return*/, mr];
151
+ }
119
152
  });
120
153
  }); };
121
154
  this.getMergeRequestApprovals = function () { return __awaiter(_this, void 0, void 0, function () {
@@ -124,8 +157,8 @@ var GitLabAPI = /** @class */ (function () {
124
157
  switch (_a.label) {
125
158
  case 0:
126
159
  this.d("getMergeRequestApprovals for repo: ".concat(this.repoSlug, " pr: ").concat(this.prId));
127
- return [4 /*yield*/, this.api.MergeRequestApprovals.configuration(this.repoSlug, {
128
- mergerequestIid: this.prId,
160
+ return [4 /*yield*/, this.api.MergeRequestApprovals.showConfiguration(this.repoSlug, {
161
+ mergerequestIId: this.prId,
129
162
  })];
130
163
  case 1:
131
164
  approvals = _a.sent();
@@ -134,17 +167,17 @@ var GitLabAPI = /** @class */ (function () {
134
167
  }
135
168
  });
136
169
  }); };
137
- this.getMergeRequestChanges = function () { return __awaiter(_this, void 0, void 0, function () {
138
- var mr;
170
+ this.getMergeRequestDiffs = function () { return __awaiter(_this, void 0, void 0, function () {
171
+ var allDiffs;
139
172
  return __generator(this, function (_a) {
140
173
  switch (_a.label) {
141
174
  case 0:
142
175
  this.d("getMergeRequestChanges for repo: ".concat(this.repoSlug, " pr: ").concat(this.prId));
143
- return [4 /*yield*/, this.api.MergeRequests.changes(this.repoSlug, this.prId)];
176
+ return [4 /*yield*/, this.api.MergeRequests.allDiffs(this.repoSlug, this.prId)];
144
177
  case 1:
145
- mr = _a.sent();
146
- this.d("getMergeRequestChanges", mr.changes);
147
- return [2 /*return*/, mr.changes];
178
+ allDiffs = _a.sent();
179
+ this.d("getMergeRequestChanges", allDiffs);
180
+ return [2 /*return*/, allDiffs];
148
181
  }
149
182
  });
150
183
  }); };
@@ -154,7 +187,7 @@ var GitLabAPI = /** @class */ (function () {
154
187
  switch (_a.label) {
155
188
  case 0:
156
189
  this.d("getMergeRequestCommits", this.repoSlug, this.prId);
157
- return [4 /*yield*/, this.api.MergeRequests.commits(this.repoSlug, this.prId)];
190
+ return [4 /*yield*/, this.api.MergeRequests.allCommits(this.repoSlug, this.prId)];
158
191
  case 1:
159
192
  commits = _a.sent();
160
193
  this.d("getMergeRequestCommits", commits);
@@ -192,21 +225,6 @@ var GitLabAPI = /** @class */ (function () {
192
225
  }
193
226
  });
194
227
  }); };
195
- this.getMergeRequestInlineNotes = function () { return __awaiter(_this, void 0, void 0, function () {
196
- var notes, inlineNotes;
197
- return __generator(this, function (_a) {
198
- switch (_a.label) {
199
- case 0:
200
- this.d("getMergeRequestInlineNotes");
201
- return [4 /*yield*/, this.getMergeRequestNotes()];
202
- case 1:
203
- notes = _a.sent();
204
- inlineNotes = notes.filter(function (note) { return note.type == "DiffNote"; });
205
- this.d("getMergeRequestInlineNotes", inlineNotes);
206
- return [2 /*return*/, inlineNotes];
207
- }
208
- });
209
- }); };
210
228
  this.createMergeRequestDiscussion = function (content, options) { return __awaiter(_this, void 0, void 0, function () {
211
229
  var api, result, e_1;
212
230
  return __generator(this, function (_a) {
@@ -239,7 +257,6 @@ var GitLabAPI = /** @class */ (function () {
239
257
  _a.label = 1;
240
258
  case 1:
241
259
  _a.trys.push([1, 3, , 4]);
242
- this.d("createMergeRequestNote");
243
260
  return [4 /*yield*/, this.api.MergeRequestNotes.create(this.repoSlug, this.prId, body)];
244
261
  case 2:
245
262
  note = _a.sent();
@@ -253,8 +270,30 @@ var GitLabAPI = /** @class */ (function () {
253
270
  }
254
271
  });
255
272
  }); };
273
+ this.updateMergeRequestDiscussionNote = function (discussionId, noteId, body) { return __awaiter(_this, void 0, void 0, function () {
274
+ var discussionNote, e_3;
275
+ return __generator(this, function (_a) {
276
+ switch (_a.label) {
277
+ case 0:
278
+ this.d("updateMergeRequestDiscussionNote", this.repoSlug, this.prId, discussionId, noteId, body);
279
+ _a.label = 1;
280
+ case 1:
281
+ _a.trys.push([1, 3, , 4]);
282
+ return [4 /*yield*/, this.api.MergeRequestDiscussions.editNote(this.repoSlug, this.prId, discussionId, noteId, { body: body })];
283
+ case 2:
284
+ discussionNote = _a.sent();
285
+ this.d("updateMergeRequestDiscussionNote", discussionNote);
286
+ return [2 /*return*/, discussionNote];
287
+ case 3:
288
+ e_3 = _a.sent();
289
+ this.d("updateMergeRequestDiscussionNote", e_3);
290
+ return [3 /*break*/, 4];
291
+ case 4: return [2 /*return*/, Promise.reject()];
292
+ }
293
+ });
294
+ }); };
256
295
  this.updateMergeRequestNote = function (id, body) { return __awaiter(_this, void 0, void 0, function () {
257
- var note, e_3;
296
+ var note, e_4;
258
297
  return __generator(this, function (_a) {
259
298
  switch (_a.label) {
260
299
  case 0:
@@ -262,22 +301,44 @@ var GitLabAPI = /** @class */ (function () {
262
301
  _a.label = 1;
263
302
  case 1:
264
303
  _a.trys.push([1, 3, , 4]);
265
- return [4 /*yield*/, this.api.MergeRequestNotes.edit(this.repoSlug, this.prId, id, body)];
304
+ return [4 /*yield*/, this.api.MergeRequestNotes.edit(this.repoSlug, this.prId, id, { body: body })];
266
305
  case 2:
267
306
  note = _a.sent();
268
307
  this.d("updateMergeRequestNote", note);
269
308
  return [2 /*return*/, note];
270
309
  case 3:
271
- e_3 = _a.sent();
272
- this.d("updateMergeRequestNote", e_3);
310
+ e_4 = _a.sent();
311
+ this.d("updateMergeRequestNote", e_4);
273
312
  return [3 /*break*/, 4];
274
313
  case 4: return [2 /*return*/, Promise.reject()];
275
314
  }
276
315
  });
277
316
  }); };
278
- // note: deleting the _only_ note in a discussion also deletes the discussion \o/
317
+ // note: deleting the _only_ discussion note in a discussion also deletes the discussion \o/
318
+ this.deleteMergeRequestDiscussionNote = function (discussionId, noteId) { return __awaiter(_this, void 0, void 0, function () {
319
+ var e_5;
320
+ return __generator(this, function (_a) {
321
+ switch (_a.label) {
322
+ case 0:
323
+ this.d("deleteMergeRequestDiscussionNote", this.repoSlug, this.prId, discussionId, noteId);
324
+ _a.label = 1;
325
+ case 1:
326
+ _a.trys.push([1, 3, , 4]);
327
+ return [4 /*yield*/, this.api.MergeRequestDiscussions.removeNote(this.repoSlug, this.prId, discussionId, noteId)];
328
+ case 2:
329
+ _a.sent();
330
+ this.d("deleteMergeRequestDiscussionNote", true);
331
+ return [2 /*return*/, true];
332
+ case 3:
333
+ e_5 = _a.sent();
334
+ this.d("deleteMergeRequestDiscussionNote", e_5);
335
+ return [2 /*return*/, false];
336
+ case 4: return [2 /*return*/];
337
+ }
338
+ });
339
+ }); };
279
340
  this.deleteMergeRequestNote = function (id) { return __awaiter(_this, void 0, void 0, function () {
280
- var e_4;
341
+ var e_6;
281
342
  return __generator(this, function (_a) {
282
343
  switch (_a.label) {
283
344
  case 0:
@@ -291,17 +352,18 @@ var GitLabAPI = /** @class */ (function () {
291
352
  this.d("deleteMergeRequestNote", true);
292
353
  return [2 /*return*/, true];
293
354
  case 3:
294
- e_4 = _a.sent();
295
- this.d("deleteMergeRequestNote", e_4);
355
+ e_6 = _a.sent();
356
+ this.d("deleteMergeRequestNote", e_6);
296
357
  return [2 /*return*/, false];
297
358
  case 4: return [2 /*return*/];
298
359
  }
299
360
  });
300
361
  }); };
301
362
  this.getFileContents = function (path, slug, ref) { return __awaiter(_this, void 0, void 0, function () {
302
- var api, projectId, mr, response, result, e_5;
303
- return __generator(this, function (_a) {
304
- switch (_a.label) {
363
+ var api, projectId, mr, response, encoding, result, e_7;
364
+ var _a;
365
+ return __generator(this, function (_b) {
366
+ switch (_b.label) {
305
367
  case 0:
306
368
  this.d("getFileContents requested for path:".concat(path, ", slug:").concat(slug, ", ref:").concat(ref));
307
369
  api = this.api.RepositoryFiles;
@@ -309,44 +371,47 @@ var GitLabAPI = /** @class */ (function () {
309
371
  if (!!ref) return [3 /*break*/, 2];
310
372
  return [4 /*yield*/, this.getMergeRequestInfo()];
311
373
  case 1:
312
- mr = _a.sent();
374
+ mr = _b.sent();
313
375
  ref = mr.diff_refs.head_sha;
314
- _a.label = 2;
376
+ _b.label = 2;
315
377
  case 2:
316
- _a.trys.push([2, 4, , 5]);
378
+ _b.trys.push([2, 4, , 5]);
317
379
  this.d("getFileContents", projectId, path, ref);
318
380
  return [4 /*yield*/, api.show(projectId, path, ref)];
319
381
  case 3:
320
- response = _a.sent();
321
- result = Buffer.from(response.content, response.encoding).toString();
382
+ response = _b.sent();
383
+ encoding = (0, encodingParser_1.encodingParser)(response.encoding);
384
+ result = Buffer.from(response.content, encoding).toString();
322
385
  this.d("getFileContents", result);
323
386
  return [2 /*return*/, result];
324
387
  case 4:
325
- e_5 = _a.sent();
326
- this.d("getFileContents", e_5);
388
+ e_7 = _b.sent();
389
+ this.d("getFileContents", e_7);
327
390
  // GitHubAPI.fileContents returns "" when the file does not exist, keep it consistent across providers
328
- if (e_5.response.statusCode === 404) {
391
+ if (((_a = e_7.cause) === null || _a === void 0 ? void 0 : _a.response.status) === 404) {
329
392
  return [2 /*return*/, ""];
330
393
  }
331
- throw e_5;
394
+ throw e_7;
332
395
  case 5: return [2 /*return*/];
333
396
  }
334
397
  });
335
398
  }); };
336
399
  this.getCompareChanges = function (base, head) { return __awaiter(_this, void 0, void 0, function () {
337
- var api, projectId, compare;
338
- return __generator(this, function (_a) {
339
- switch (_a.label) {
400
+ var api, projectId, compare, diffs;
401
+ var _a;
402
+ return __generator(this, function (_b) {
403
+ switch (_b.label) {
340
404
  case 0:
341
405
  if (!base || !head) {
342
- return [2 /*return*/, this.getMergeRequestChanges()];
406
+ return [2 /*return*/, this.getMergeRequestDiffs()];
343
407
  }
344
408
  api = this.api.Repositories;
345
409
  projectId = this.repoSlug;
346
410
  return [4 /*yield*/, api.compare(projectId, base, head)];
347
411
  case 1:
348
- compare = _a.sent();
349
- return [2 /*return*/, compare.diffs ? compare.diffs : []];
412
+ compare = _b.sent();
413
+ diffs = (_a = compare.diffs) !== null && _a !== void 0 ? _a : [];
414
+ return [2 /*return*/, diffs];
350
415
  }
351
416
  });
352
417
  }); };
@@ -377,29 +442,29 @@ var GitLabAPI = /** @class */ (function () {
377
442
  labels[_i] = arguments[_i];
378
443
  }
379
444
  return __awaiter(_this, void 0, void 0, function () {
380
- var mr, _a, labels_1, label, index;
381
- var _b, _c, _d;
382
- return __generator(this, function (_e) {
383
- switch (_e.label) {
445
+ var mr, mrLabels, _a, labels_1, label, index;
446
+ return __generator(this, function (_b) {
447
+ switch (_b.label) {
384
448
  case 0: return [4 /*yield*/, this.getMergeRequestInfo()];
385
449
  case 1:
386
- mr = _e.sent();
450
+ mr = _b.sent();
451
+ mrLabels = mr.labels;
387
452
  for (_a = 0, labels_1 = labels; _a < labels_1.length; _a++) {
388
453
  label = labels_1[_a];
389
- index = (_b = mr.labels) === null || _b === void 0 ? void 0 : _b.indexOf(label);
454
+ index = mrLabels.indexOf(label);
390
455
  if (index > -1) {
391
- (_c = mr.labels) === null || _c === void 0 ? void 0 : _c.splice(index, 1);
456
+ mrLabels.splice(index, 1);
392
457
  }
393
458
  }
394
- return [4 /*yield*/, this.updateMergeRequestInfo({ labels: (_d = mr.labels) === null || _d === void 0 ? void 0 : _d.join(",") })];
459
+ return [4 /*yield*/, this.updateMergeRequestInfo({ labels: mrLabels.join(",") })];
395
460
  case 2:
396
- _e.sent();
461
+ _b.sent();
397
462
  return [2 /*return*/, true];
398
463
  }
399
464
  });
400
465
  });
401
466
  };
402
- this.api = new node_1.Gitlab(repoCredentials);
467
+ this.api = new rest_1.Gitlab(__assign({}, repoCredentials));
403
468
  this.hostURL = repoCredentials.host;
404
469
  this.repoSlug = repoMetadata.repoSlug;
405
470
  this.prId = Number(repoMetadata.pullRequestID);
@@ -1 +1 @@
1
- {"version":3,"file":"GitLabAPI.js","sourceRoot":"","sources":["../../../source/platforms/gitlab/GitLabAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitLabAPI.js","sourceRoot":"","sources":["../../../source/platforms/gitlab/GitLabAPI.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { GitLabDSL } from "../../dsl/GitLabDSL";
2
2
  import { GitDSL, GitJSONDSL } from "../../dsl/GitDSL";
3
- import { Types } from "@gitbeaker/node";
3
+ import type * as Types from "@gitbeaker/rest";
4
4
  import GitLabAPI from "./GitLabAPI";
5
5
  export declare const gitLabGitDSL: (gitlab: GitLabDSL, json: GitJSONDSL, gitlabAPI: GitLabAPI) => GitDSL;
6
6
  export declare const gitlabChangesToDiff: (changes: Types.CommitDiffSchema[]) => string;
@@ -0,0 +1,14 @@
1
+ import { StructuredDiff } from "../../dsl/GitDSL";
2
+ export interface InlinePosition {
3
+ pathDiff: PathDiff;
4
+ lineDiff: LineDiff;
5
+ }
6
+ export interface PathDiff {
7
+ oldPath: string | undefined;
8
+ newPath: string;
9
+ }
10
+ export interface LineDiff {
11
+ oldLine: number | undefined;
12
+ newLine: number | undefined;
13
+ }
14
+ export declare function inlinePositionParser(structuredDiff: StructuredDiff, path: string, line: number): InlinePosition;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inlinePositionParser = void 0;
4
+ var debug_1 = require("../../debug");
5
+ var d = (0, debug_1.debug)("GitLab inlinePositionParser");
6
+ function inlinePositionParser(structuredDiff, path, line) {
7
+ d("structuredDiff", structuredDiff);
8
+ var lineDiff = calculateLineDiff(structuredDiff, line);
9
+ return {
10
+ pathDiff: {
11
+ oldPath: structuredDiff.fromPath,
12
+ newPath: path,
13
+ },
14
+ lineDiff: lineDiff,
15
+ };
16
+ }
17
+ exports.inlinePositionParser = inlinePositionParser;
18
+ function calculateLineDiff(diff, line) {
19
+ var chunk = findRelevantChunk(diff, line);
20
+ d("calculateLineDiff found chunk", { line: line, chunk: chunk, changes: chunk === null || chunk === void 0 ? void 0 : chunk.changes });
21
+ if (!chunk) {
22
+ return {
23
+ oldLine: line,
24
+ newLine: line,
25
+ };
26
+ }
27
+ if (chunk.newStart <= line && line <= chunk.newStart + chunk.newLines) {
28
+ var change = chunk.changes.find(function (change) {
29
+ switch (change.type) {
30
+ case "add":
31
+ return change.ln === line;
32
+ case "del":
33
+ return false;
34
+ case "normal":
35
+ return change.ln2 === line;
36
+ }
37
+ });
38
+ // If there is no relevant change we return the requested line.
39
+ if (!change || change.type === "del") {
40
+ return {
41
+ oldLine: line,
42
+ newLine: line,
43
+ };
44
+ }
45
+ switch (change.type) {
46
+ case "add":
47
+ return {
48
+ oldLine: undefined,
49
+ newLine: change.ln,
50
+ };
51
+ case "normal":
52
+ return {
53
+ oldLine: change.ln1,
54
+ newLine: change.ln2,
55
+ };
56
+ }
57
+ }
58
+ else if (line < chunk.newStart) {
59
+ d("calculateLineDiff line below changes in file", { line: line });
60
+ return {
61
+ oldLine: line,
62
+ newLine: line,
63
+ };
64
+ }
65
+ else {
66
+ var offset = chunk.newStart + chunk.newLines - (chunk.oldStart + chunk.oldLines);
67
+ d("calculateLineDiff line above changes in file", { line: line, offset: offset });
68
+ return {
69
+ oldLine: line - offset,
70
+ newLine: line,
71
+ };
72
+ }
73
+ }
74
+ // Find the most relevant chunk using a binary search approach.
75
+ // A chunk containing changes with the line is preferred.
76
+ // If none exists then a chunk with the nearest newStart below the line is preferred.
77
+ // Only if no other chunks exists is the first chunk above the line returned.
78
+ function findRelevantChunk(diff, line) {
79
+ var chunks = diff.chunks;
80
+ if (chunks.length == 0) {
81
+ return undefined;
82
+ }
83
+ var startIndex = 0;
84
+ var endIndex = chunks.length - 1;
85
+ while (true) {
86
+ var currentIndex = Math.floor((startIndex + endIndex) / 2);
87
+ var currentChunk = chunks[currentIndex];
88
+ if (chunkContainsLine(currentChunk, line)) {
89
+ return currentChunk;
90
+ }
91
+ if (currentIndex === startIndex) {
92
+ var endChunk = chunks[endIndex];
93
+ if (!endChunk) {
94
+ return currentChunk;
95
+ }
96
+ if (chunkContainsLine(endChunk, line)) {
97
+ return endChunk;
98
+ }
99
+ if (endChunk.newStart < line) {
100
+ return endChunk;
101
+ }
102
+ if (currentChunk.newStart < line) {
103
+ return currentChunk;
104
+ }
105
+ var currentChunkOffset = Math.abs(currentChunk.newStart - line);
106
+ var endChunkOffset = Math.abs(endChunk.newStart - line);
107
+ if (currentChunkOffset <= endChunkOffset) {
108
+ return currentChunk;
109
+ }
110
+ else {
111
+ return endChunk;
112
+ }
113
+ }
114
+ if (currentChunk.newStart < line) {
115
+ startIndex = currentIndex;
116
+ }
117
+ else {
118
+ endIndex = currentIndex;
119
+ }
120
+ }
121
+ }
122
+ function chunkContainsLine(chunk, line) {
123
+ return chunk.newStart <= line && line <= chunk.newStart + chunk.newLines;
124
+ }
125
+ //# sourceMappingURL=inlinePositionParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inlinePositionParser.js","sourceRoot":"","sources":["../../../source/platforms/gitlab/inlinePositionParser.ts"],"names":[],"mappings":"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"}