gitlab-ai-review 4.1.2 → 4.1.3
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/index.js +9 -39
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -16,7 +16,7 @@ import * as ImpactAnalyzer from './lib/impact-analyzer.js';
|
|
|
16
16
|
export class GitLabAIReview {
|
|
17
17
|
constructor(options = {}) {
|
|
18
18
|
this.name = 'GitLab AI Review SDK';
|
|
19
|
-
this.version = '4.1.
|
|
19
|
+
this.version = '4.1.3';
|
|
20
20
|
|
|
21
21
|
// 如果传入了配置,使用手动配置;否则使用自动检测
|
|
22
22
|
if (options.token || options.gitlab) {
|
|
@@ -236,33 +236,18 @@ export class GitLabAIReview {
|
|
|
236
236
|
for (const review of mergedReviews) {
|
|
237
237
|
if (review.hasIssue) {
|
|
238
238
|
try {
|
|
239
|
-
//
|
|
240
|
-
let targetChange = null;
|
|
241
|
-
if (review.oldLine && review.newLine) {
|
|
242
|
-
// 修改块:找删除或新增的任意一个
|
|
243
|
-
targetChange = meaningfulChanges.find(c =>
|
|
244
|
-
(c.lineNumber === review.oldLine && c.type === 'deletion') ||
|
|
245
|
-
(c.lineNumber === review.newLine && c.type === 'addition')
|
|
246
|
-
);
|
|
247
|
-
} else if (review.lineNumber) {
|
|
248
|
-
targetChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// 构建评论位置参数 - 使用 hunk 的起始位置覆盖整个变更块
|
|
239
|
+
// 构建评论位置参数 - 使用实际的变更行号
|
|
252
240
|
const positionParams = {
|
|
253
241
|
filePath: fileName,
|
|
254
242
|
oldPath: change.old_path,
|
|
255
243
|
};
|
|
256
244
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
positionParams.oldLine = targetChange.hunkRange.oldStart;
|
|
260
|
-
positionParams.newLine = targetChange.hunkRange.newStart;
|
|
261
|
-
} else if (review.oldLine && review.newLine) {
|
|
262
|
-
// 如果找不到 hunk 信息,回退到原来的逻辑
|
|
245
|
+
// 如果是修改块(同时有 oldLine 和 newLine),同时指定两个行号
|
|
246
|
+
if (review.oldLine && review.newLine) {
|
|
263
247
|
positionParams.oldLine = review.oldLine;
|
|
264
248
|
positionParams.newLine = review.newLine;
|
|
265
249
|
} else if (review.lineNumber) {
|
|
250
|
+
// 单独的删除或新增
|
|
266
251
|
const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
267
252
|
const isDeletion = relatedChange && relatedChange.type === 'deletion';
|
|
268
253
|
if (isDeletion) {
|
|
@@ -570,33 +555,18 @@ export class GitLabAIReview {
|
|
|
570
555
|
for (const review of mergedReviews) {
|
|
571
556
|
if (review.hasIssue) {
|
|
572
557
|
try {
|
|
573
|
-
//
|
|
574
|
-
let targetChange = null;
|
|
575
|
-
if (review.oldLine && review.newLine) {
|
|
576
|
-
// 修改块:找删除或新增的任意一个
|
|
577
|
-
targetChange = meaningfulChanges.find(c =>
|
|
578
|
-
(c.lineNumber === review.oldLine && c.type === 'deletion') ||
|
|
579
|
-
(c.lineNumber === review.newLine && c.type === 'addition')
|
|
580
|
-
);
|
|
581
|
-
} else if (review.lineNumber) {
|
|
582
|
-
targetChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
// 构建评论位置参数 - 使用 hunk 的起始位置覆盖整个变更块
|
|
558
|
+
// 构建评论位置参数 - 使用实际的变更行号
|
|
586
559
|
const positionParams = {
|
|
587
560
|
filePath: fileName,
|
|
588
561
|
oldPath: change.old_path,
|
|
589
562
|
};
|
|
590
563
|
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
positionParams.oldLine = targetChange.hunkRange.oldStart;
|
|
594
|
-
positionParams.newLine = targetChange.hunkRange.newStart;
|
|
595
|
-
} else if (review.oldLine && review.newLine) {
|
|
596
|
-
// 如果找不到 hunk 信息,回退到原来的逻辑
|
|
564
|
+
// 如果是修改块(同时有 oldLine 和 newLine),同时指定两个行号
|
|
565
|
+
if (review.oldLine && review.newLine) {
|
|
597
566
|
positionParams.oldLine = review.oldLine;
|
|
598
567
|
positionParams.newLine = review.newLine;
|
|
599
568
|
} else if (review.lineNumber) {
|
|
569
|
+
// 单独的删除或新增
|
|
600
570
|
const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
601
571
|
const isDeletion = relatedChange && relatedChange.type === 'deletion';
|
|
602
572
|
if (isDeletion) {
|