airbyte-faros-destination 0.19.52 → 0.19.53-rc0
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.
|
@@ -8,5 +8,9 @@ export declare class Changesets extends AzureTfvcConverter {
|
|
|
8
8
|
id(record: AirbyteRecord): number;
|
|
9
9
|
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
10
10
|
private getDiffStats;
|
|
11
|
+
private processChanges;
|
|
12
|
+
private collectMergedChangesetIds;
|
|
13
|
+
private createBranchAssociations;
|
|
14
|
+
private createTaskAssociations;
|
|
11
15
|
onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
12
16
|
}
|
|
@@ -23,24 +23,23 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
23
23
|
return (_b = (_a = record === null || record === void 0 ? void 0 : record.record) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.changesetId;
|
|
24
24
|
}
|
|
25
25
|
async convert(record, ctx) {
|
|
26
|
-
var _a, _b
|
|
26
|
+
var _a, _b;
|
|
27
27
|
const changeset = record.record.data;
|
|
28
|
-
const res = [];
|
|
29
28
|
if (!changeset.changesetId) {
|
|
30
29
|
ctx.logger.warn(`Changeset ID not found: ${JSON.stringify(changeset)}`);
|
|
31
|
-
return
|
|
30
|
+
return [];
|
|
32
31
|
}
|
|
33
32
|
const repository = (0, vcs_1.repoKey)(changeset.organization, (_a = changeset.project) === null || _a === void 0 ? void 0 : _a.name, this.source);
|
|
34
33
|
if (!repository) {
|
|
35
34
|
ctx.logger.warn(`Organization or project name not found: ${JSON.stringify(changeset)}`);
|
|
36
|
-
return
|
|
35
|
+
return [];
|
|
37
36
|
}
|
|
38
37
|
const sha = String(changeset.changesetId);
|
|
39
38
|
const commit = { sha, repository };
|
|
40
39
|
const author = ((_b = changeset.author) === null || _b === void 0 ? void 0 : _b.uniqueName)
|
|
41
40
|
? { uid: changeset.author.uniqueName.toLowerCase(), source: this.source }
|
|
42
41
|
: undefined;
|
|
43
|
-
|
|
42
|
+
const commitRecord = {
|
|
44
43
|
model: 'vcs_Commit',
|
|
45
44
|
record: {
|
|
46
45
|
...commit,
|
|
@@ -51,99 +50,96 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
51
50
|
author,
|
|
52
51
|
diffStats: this.getDiffStats(changeset),
|
|
53
52
|
},
|
|
54
|
-
}
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
53
|
+
};
|
|
54
|
+
const { commitFiles, mergedChangesetIds } = this.processChanges(changeset.changes, commit, repository);
|
|
55
|
+
const branchAssociations = this.createBranchAssociations(changeset.branch, commit, mergedChangesetIds, repository, faros_js_client_1.Utils.toDate(changeset.createdDate));
|
|
56
|
+
const taskAssociations = this.createTaskAssociations(commit, changeset.workItems);
|
|
57
|
+
return [commitRecord, ...commitFiles, ...branchAssociations, ...taskAssociations];
|
|
58
|
+
}
|
|
59
|
+
getDiffStats(changeset) {
|
|
60
|
+
var _a;
|
|
61
|
+
if (!((_a = changeset.changes) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
62
|
+
return undefined;
|
|
65
63
|
}
|
|
66
|
-
|
|
64
|
+
return {
|
|
65
|
+
filesChanged: changeset.changes.length,
|
|
66
|
+
// Line counts not available from TFVC API
|
|
67
|
+
linesAdded: null,
|
|
68
|
+
linesDeleted: null,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
processChanges(changes, commit, repository) {
|
|
72
|
+
var _a;
|
|
73
|
+
const commitFiles = [];
|
|
67
74
|
const mergedChangesetIds = new Set();
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if ((_d = change.item) === null || _d === void 0 ? void 0 : _d.path) {
|
|
75
|
+
for (const change of changes !== null && changes !== void 0 ? changes : []) {
|
|
76
|
+
if ((_a = change.item) === null || _a === void 0 ? void 0 : _a.path) {
|
|
71
77
|
const filePath = change.item.path;
|
|
72
78
|
this.fileCollector.collectFile(filePath, repository);
|
|
73
|
-
|
|
79
|
+
commitFiles.push({
|
|
74
80
|
model: 'vcs_CommitFile',
|
|
75
81
|
record: {
|
|
76
82
|
commit,
|
|
77
|
-
file: {
|
|
78
|
-
uid: filePath,
|
|
79
|
-
repository,
|
|
80
|
-
},
|
|
81
|
-
// TFVC API doesn't provide line-level diff stats
|
|
83
|
+
file: { uid: filePath, repository },
|
|
82
84
|
additions: null,
|
|
83
85
|
deletions: null,
|
|
84
86
|
},
|
|
85
87
|
});
|
|
86
88
|
}
|
|
87
|
-
|
|
88
|
-
// These are changesets that were merged into this changeset
|
|
89
|
-
for (const mergeSource of (_e = change.mergeSources) !== null && _e !== void 0 ? _e : []) {
|
|
90
|
-
if (mergeSource.isRename) {
|
|
91
|
-
continue; // Skip renames, only process actual merges
|
|
92
|
-
}
|
|
93
|
-
// versionFrom and versionTo represent an inclusive range of changesets merged
|
|
94
|
-
const from = mergeSource.versionFrom;
|
|
95
|
-
const to = (_f = mergeSource.versionTo) !== null && _f !== void 0 ? _f : from;
|
|
96
|
-
if (from && to) {
|
|
97
|
-
Array.from({ length: to - from + 1 }, (_, i) => from + i).forEach((id) => mergedChangesetIds.add(id));
|
|
98
|
-
}
|
|
99
|
-
}
|
|
89
|
+
this.collectMergedChangesetIds(change, mergedChangesetIds);
|
|
100
90
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
};
|
|
109
|
-
res.push({
|
|
110
|
-
model: 'vcs_BranchCommitAssociation',
|
|
111
|
-
record: {
|
|
112
|
-
commit: mergedCommit,
|
|
113
|
-
branch,
|
|
114
|
-
committedAt: faros_js_client_1.Utils.toDate(changeset.createdDate),
|
|
115
|
-
},
|
|
116
|
-
});
|
|
91
|
+
return { commitFiles, mergedChangesetIds };
|
|
92
|
+
}
|
|
93
|
+
collectMergedChangesetIds(change, mergedChangesetIds) {
|
|
94
|
+
var _a, _b;
|
|
95
|
+
for (const mergeSource of (_a = change.mergeSources) !== null && _a !== void 0 ? _a : []) {
|
|
96
|
+
if (mergeSource.isRename) {
|
|
97
|
+
continue;
|
|
117
98
|
}
|
|
99
|
+
const from = mergeSource.versionFrom;
|
|
100
|
+
const to = (_b = mergeSource.versionTo) !== null && _b !== void 0 ? _b : from;
|
|
101
|
+
if (from && to) {
|
|
102
|
+
Array.from({ length: to - from + 1 }, (_, i) => from + i).forEach((id) => mergedChangesetIds.add(id));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
createBranchAssociations(branchName, commit, mergedChangesetIds, repository, committedAt) {
|
|
107
|
+
const branch = this.branchCollector.collectBranch(branchName, repository);
|
|
108
|
+
if (!branch) {
|
|
109
|
+
return [];
|
|
118
110
|
}
|
|
119
|
-
|
|
120
|
-
|
|
111
|
+
const records = [
|
|
112
|
+
{
|
|
113
|
+
model: 'vcs_BranchCommitAssociation',
|
|
114
|
+
record: { commit, branch, committedAt },
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
for (const mergedId of mergedChangesetIds) {
|
|
118
|
+
records.push({
|
|
119
|
+
model: 'vcs_BranchCommitAssociation',
|
|
120
|
+
record: {
|
|
121
|
+
commit: { sha: String(mergedId), repository },
|
|
122
|
+
branch,
|
|
123
|
+
committedAt,
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
return records;
|
|
128
|
+
}
|
|
129
|
+
createTaskAssociations(commit, workItems) {
|
|
130
|
+
const records = [];
|
|
131
|
+
for (const workItem of workItems !== null && workItems !== void 0 ? workItems : []) {
|
|
121
132
|
if (workItem.id) {
|
|
122
|
-
|
|
133
|
+
records.push({
|
|
123
134
|
model: 'tms_TaskCommitAssociation',
|
|
124
135
|
record: {
|
|
125
136
|
commit,
|
|
126
|
-
task: {
|
|
127
|
-
uid: String(workItem.id),
|
|
128
|
-
source: 'Azure-Workitems',
|
|
129
|
-
},
|
|
137
|
+
task: { uid: String(workItem.id), source: 'Azure-Workitems' },
|
|
130
138
|
},
|
|
131
139
|
});
|
|
132
140
|
}
|
|
133
141
|
}
|
|
134
|
-
return
|
|
135
|
-
}
|
|
136
|
-
getDiffStats(changeset) {
|
|
137
|
-
var _a;
|
|
138
|
-
if (!((_a = changeset.changes) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
139
|
-
return undefined;
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
filesChanged: changeset.changes.length,
|
|
143
|
-
// Line counts not available from TFVC API
|
|
144
|
-
linesAdded: null,
|
|
145
|
-
linesDeleted: null,
|
|
146
|
-
};
|
|
142
|
+
return records;
|
|
147
143
|
}
|
|
148
144
|
async onProcessingComplete(ctx) {
|
|
149
145
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}
|