airbyte-faros-destination 0.20.0-rc.4 → 0.20.0-rc.6

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.
@@ -4,13 +4,20 @@ import { AzureTfvcConverter } from './common';
4
4
  export declare class Changesets extends AzureTfvcConverter {
5
5
  private readonly branchCollector;
6
6
  private readonly fileCollector;
7
+ private trackedChangesets;
8
+ private readonly descendants;
9
+ private readonly branchPropagations;
7
10
  readonly destinationModels: ReadonlyArray<DestinationModel>;
8
11
  id(record: AirbyteRecord): number;
9
12
  convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
10
13
  private getDiffStats;
11
14
  private processChanges;
12
- private getMergedChangesetIds;
13
15
  private createBranchAssociations;
14
16
  private createTaskAssociations;
17
+ private getTrackedChangesets;
18
+ private processDescendants;
19
+ private recordBranchPropagation;
15
20
  onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
21
+ private createBranchPropagationAssociations;
22
+ private logTrackedChangesetPropagations;
16
23
  }
@@ -10,6 +10,10 @@ class Changesets extends common_1.AzureTfvcConverter {
10
10
  super(...arguments);
11
11
  this.branchCollector = new vcs_1.BranchCollector();
12
12
  this.fileCollector = new vcs_1.FileCollector();
13
+ // For each changeset, all its descendants (direct + transitive via merge)
14
+ this.descendants = new Map();
15
+ // For each changeset, branches it propagated to (beyond its original branch)
16
+ this.branchPropagations = new Map();
13
17
  this.destinationModels = [
14
18
  'tms_TaskCommitAssociation',
15
19
  'vcs_Branch',
@@ -53,8 +57,10 @@ class Changesets extends common_1.AzureTfvcConverter {
53
57
  diffStats: this.getDiffStats(changeset),
54
58
  },
55
59
  };
56
- const { commitFiles, mergedChangesetIds } = this.processChanges(commit, repository, changeset.changes);
57
- const branchAssociations = this.createBranchAssociations(commit, repository, mergedChangesetIds, changeset.branch, faros_js_client_1.Utils.toDate(changeset.createdDate));
60
+ const commitFiles = this.processChanges(commit, repository, changeset.changes);
61
+ // Track descendants and propagate branch associations
62
+ this.processDescendants(changeset, repository);
63
+ const branchAssociations = this.createBranchAssociations(commit, repository, changeset.branch, faros_js_client_1.Utils.toDate(changeset.createdDate));
58
64
  const taskAssociations = this.createTaskAssociations(commit, changeset.workItems);
59
65
  return [
60
66
  commitRecord,
@@ -78,7 +84,6 @@ class Changesets extends common_1.AzureTfvcConverter {
78
84
  processChanges(commit, repository, changes) {
79
85
  var _a;
80
86
  const commitFiles = [];
81
- const mergedIds = [];
82
87
  for (const change of changes !== null && changes !== void 0 ? changes : []) {
83
88
  if ((_a = change.item) === null || _a === void 0 ? void 0 : _a.path) {
84
89
  const filePath = change.item.path;
@@ -93,47 +98,24 @@ class Changesets extends common_1.AzureTfvcConverter {
93
98
  },
94
99
  });
95
100
  }
96
- mergedIds.push(...this.getMergedChangesetIds(change));
97
101
  }
98
- return { commitFiles, mergedChangesetIds: new Set(mergedIds) };
102
+ return commitFiles;
99
103
  }
100
- getMergedChangesetIds(change) {
101
- var _a, _b;
102
- const ids = [];
103
- for (const mergeSource of (_a = change.mergeSources) !== null && _a !== void 0 ? _a : []) {
104
- if (mergeSource.isRename) {
105
- continue;
106
- }
107
- const from = mergeSource.versionFrom;
108
- const to = (_b = mergeSource.versionTo) !== null && _b !== void 0 ? _b : from;
109
- if (from && to) {
110
- ids.push(...Array.from({ length: to - from + 1 }, (_, i) => from + i));
111
- }
112
- }
113
- return ids;
114
- }
115
- createBranchAssociations(commit, repository, mergedChangesetIds, branchName, committedAt) {
104
+ createBranchAssociations(commit, repository, branchName, committedAt) {
116
105
  const branch = this.branchCollector.collectBranch(branchName, repository);
117
106
  if (!branch) {
118
107
  return [];
119
108
  }
120
- const records = [
109
+ return [
121
110
  {
122
- model: 'vcs_BranchCommitAssociation',
123
- record: { commit, branch, committedAt },
124
- },
125
- ];
126
- for (const mergedId of mergedChangesetIds) {
127
- records.push({
128
111
  model: 'vcs_BranchCommitAssociation',
129
112
  record: {
130
- commit: { sha: String(mergedId), repository },
113
+ commit,
131
114
  branch,
132
115
  committedAt,
133
116
  },
134
- });
135
- }
136
- return records;
117
+ },
118
+ ];
137
119
  }
138
120
  createTaskAssociations(commit, workItems) {
139
121
  const records = [];
@@ -150,12 +132,122 @@ class Changesets extends common_1.AzureTfvcConverter {
150
132
  }
151
133
  return records;
152
134
  }
135
+ getTrackedChangesets(ctx) {
136
+ var _a;
137
+ if (!this.trackedChangesets) {
138
+ const trackList = (_a = this.azureTfvcConfig(ctx).track_changesets) !== null && _a !== void 0 ? _a : [];
139
+ this.trackedChangesets = new Set(trackList);
140
+ }
141
+ return this.trackedChangesets;
142
+ }
143
+ processDescendants(changeset, repository) {
144
+ var _a, _b, _c;
145
+ const myDescendants = new Set();
146
+ const branch = changeset.branch;
147
+ const date = faros_js_client_1.Utils.toDate(changeset.createdDate);
148
+ for (const change of (_a = changeset.changes) !== null && _a !== void 0 ? _a : []) {
149
+ for (const mergeSource of (_b = change.mergeSources) !== null && _b !== void 0 ? _b : []) {
150
+ if (mergeSource.isRename) {
151
+ continue;
152
+ }
153
+ const from = mergeSource.versionFrom;
154
+ const to = (_c = mergeSource.versionTo) !== null && _c !== void 0 ? _c : from;
155
+ if (!from || !to) {
156
+ continue;
157
+ }
158
+ // Find all seen changesets in this merge range
159
+ for (const seenId of this.descendants.keys()) {
160
+ if (seenId >= from && seenId <= to) {
161
+ // Direct descendant
162
+ myDescendants.add(seenId);
163
+ // Transitive: add all of seenId's descendants too
164
+ const theirDescendants = this.descendants.get(seenId);
165
+ if (theirDescendants) {
166
+ for (const desc of theirDescendants) {
167
+ myDescendants.add(desc);
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }
173
+ }
174
+ // Store this changeset's descendants
175
+ this.descendants.set(changeset.changesetId, myDescendants);
176
+ // Associate all descendants with this changeset's branch
177
+ if (branch && date) {
178
+ for (const descId of myDescendants) {
179
+ this.recordBranchPropagation(descId, branch, date, changeset.changesetId, repository);
180
+ }
181
+ }
182
+ }
183
+ recordBranchPropagation(changesetId, branch, date, mergedFrom, repository) {
184
+ if (!this.branchPropagations.has(changesetId)) {
185
+ this.branchPropagations.set(changesetId, []);
186
+ }
187
+ const propagations = this.branchPropagations.get(changesetId);
188
+ const existing = propagations.find((p) => p.branch === branch);
189
+ if (existing) {
190
+ // Keep earliest propagation date
191
+ if (date < existing.date) {
192
+ existing.date = date;
193
+ existing.mergedFrom = mergedFrom;
194
+ }
195
+ }
196
+ else {
197
+ propagations.push({ branch, date, mergedFrom, repository });
198
+ }
199
+ }
153
200
  async onProcessingComplete(ctx) {
201
+ this.logTrackedChangesetPropagations(ctx);
202
+ const propagationAssociations = this.createBranchPropagationAssociations(ctx);
154
203
  return [
155
204
  ...this.branchCollector.convertBranches(),
156
205
  ...this.fileCollector.convertFiles(),
206
+ ...propagationAssociations,
157
207
  ];
158
208
  }
209
+ createBranchPropagationAssociations(ctx) {
210
+ const records = [];
211
+ for (const [changesetId, propagations] of this.branchPropagations) {
212
+ for (const propagation of propagations) {
213
+ const branch = this.branchCollector.collectBranch(propagation.branch, propagation.repository);
214
+ if (branch) {
215
+ records.push({
216
+ model: 'vcs_BranchCommitAssociation',
217
+ record: {
218
+ commit: {
219
+ sha: String(changesetId),
220
+ repository: propagation.repository,
221
+ },
222
+ branch,
223
+ committedAt: propagation.date,
224
+ },
225
+ });
226
+ }
227
+ }
228
+ }
229
+ ctx.logger.info(`Created ${records.length} branch propagation associations ` +
230
+ `for ${this.branchPropagations.size} changesets`);
231
+ return records;
232
+ }
233
+ logTrackedChangesetPropagations(ctx) {
234
+ const tracked = this.getTrackedChangesets(ctx);
235
+ if (tracked.size === 0) {
236
+ return;
237
+ }
238
+ for (const trackedId of tracked) {
239
+ const propagations = this.branchPropagations.get(trackedId);
240
+ if (!propagations || propagations.length === 0) {
241
+ ctx.logger.info(`=== Tracked changeset ${trackedId}: No propagations found ===`);
242
+ continue;
243
+ }
244
+ ctx.logger.info(`=== Branch propagations for tracked changeset ${trackedId} ===`);
245
+ for (const prop of propagations) {
246
+ ctx.logger.info(` Branch: ${prop.branch} | Date: ${prop.date.toISOString()} | Merged from: ${prop.mergedFrom}`);
247
+ }
248
+ ctx.logger.info(` Total: ${propagations.length} propagations`);
249
+ }
250
+ }
159
251
  }
160
252
  exports.Changesets = Changesets;
161
253
  //# sourceMappingURL=changesets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { AirbyteRecord } from 'faros-airbyte-cdk';
2
2
  import { OrgKey } from '../common/vcs';
3
- import { Converter } from '../converter';
3
+ import { Converter, StreamContext } from '../converter';
4
4
  export declare const MAX_DESCRIPTION_LENGTH = 1000;
5
+ export interface AzureTfvcConfig {
6
+ track_changesets?: number[];
7
+ }
5
8
  /** Azure TFVC converter base */
6
9
  export declare abstract class AzureTfvcConverter extends Converter {
7
10
  source: string;
11
+ protected azureTfvcConfig(ctx: StreamContext): AzureTfvcConfig;
8
12
  id(record: AirbyteRecord): any;
9
13
  private static readonly _uidsFromUsersStream;
10
14
  get uidsFromUsersStream(): Set<string>;
@@ -9,6 +9,10 @@ class AzureTfvcConverter extends converter_1.Converter {
9
9
  super(...arguments);
10
10
  this.source = 'Azure-TFVC';
11
11
  }
12
+ azureTfvcConfig(ctx) {
13
+ var _a, _b, _c;
14
+ return (_c = (_b = (_a = ctx.config) === null || _a === void 0 ? void 0 : _a.source_specific_configs) === null || _b === void 0 ? void 0 : _b['azure-tfvc']) !== null && _c !== void 0 ? _c : {};
15
+ }
12
16
  id(record) {
13
17
  var _a, _b;
14
18
  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.id;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/common.ts"],"names":[],"mappings":";;;AAGA,4CAAuC;AAE1B,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAE3C,gCAAgC;AAChC,MAAsB,kBAAmB,SAAQ,qBAAS;IAA1D;;QACE,WAAM,GAAG,YAAY,CAAC;IAiBxB,CAAC;IAfC,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,EAAE,CAAC;IAClC,CAAC;IAMD,IAAW,mBAAmB;QAC5B,OAAO,kBAAkB,CAAC,oBAAoB,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC;IACxD,CAAC;;AAjBH,gDAkBC;AAXC,8EAA8E;AAC9E,4EAA4E;AAC5E,gBAAgB;AACQ,uCAAoB,GAAgB,IAAI,GAAG,EAAE,AAAzB,CAA0B"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/common.ts"],"names":[],"mappings":";;;AAGA,4CAAsD;AAEzC,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAM3C,gCAAgC;AAChC,MAAsB,kBAAmB,SAAQ,qBAAS;IAA1D;;QACE,WAAM,GAAG,YAAY,CAAC;IAqBxB,CAAC;IAnBW,eAAe,CAAC,GAAkB;;QAC1C,OAAO,MAAA,MAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,uBAAuB,0CAAG,YAAY,CAAC,mCAAI,EAAE,CAAC;IACnE,CAAC;IAED,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,EAAE,CAAC;IAClC,CAAC;IAMD,IAAW,mBAAmB;QAC5B,OAAO,kBAAkB,CAAC,oBAAoB,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC;IACxD,CAAC;;AArBH,gDAsBC;AAXC,8EAA8E;AAC9E,4EAA4E;AAC5E,gBAAgB;AACQ,uCAAoB,GAAgB,IAAI,GAAG,EAAE,AAAzB,CAA0B"}