sfdx-git-delta 7.2.0 → 7.3.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/README.md +17 -4
- package/lib/adapter/GitAdapter.d.ts +19 -13
- package/lib/adapter/GitAdapter.js +105 -96
- package/lib/adapter/GitAdapter.js.map +1 -1
- package/lib/adapter/ioExecutor.d.ts +5 -6
- package/lib/adapter/ioExecutor.js +22 -22
- package/lib/adapter/ioExecutor.js.map +1 -1
- package/lib/adapter/treeIndex.d.ts +7 -4
- package/lib/adapter/treeIndex.js +34 -0
- package/lib/adapter/treeIndex.js.map +1 -1
- package/lib/adapter/treeReader.d.ts +8 -0
- package/lib/adapter/treeReader.js +22 -0
- package/lib/adapter/treeReader.js.map +1 -0
- package/lib/commands/sgd/source/delta.d.ts +1 -0
- package/lib/commands/sgd/source/delta.js +5 -0
- package/lib/commands/sgd/source/delta.js.map +1 -1
- package/lib/main.js +27 -9
- package/lib/main.js.map +1 -1
- package/lib/post-processor/baseProcessor.d.ts +4 -4
- package/lib/post-processor/baseProcessor.js +6 -5
- package/lib/post-processor/baseProcessor.js.map +1 -1
- package/lib/post-processor/flowTranslationProcessor.d.ts +0 -3
- package/lib/post-processor/flowTranslationProcessor.js +1 -5
- package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
- package/lib/post-processor/includeProcessor.d.ts +2 -3
- package/lib/post-processor/includeProcessor.js +4 -4
- package/lib/post-processor/includeProcessor.js.map +1 -1
- package/lib/post-processor/postProcessorManager.d.ts +2 -3
- package/lib/post-processor/postProcessorManager.js +4 -4
- package/lib/post-processor/postProcessorManager.js.map +1 -1
- package/lib/service/containedDecomposedHandler.d.ts +2 -2
- package/lib/service/containedDecomposedHandler.js +3 -3
- package/lib/service/containedDecomposedHandler.js.map +1 -1
- package/lib/service/customObjectHandler.js +1 -1
- package/lib/service/customObjectHandler.js.map +1 -1
- package/lib/service/diffLineInterpreter.d.ts +3 -5
- package/lib/service/diffLineInterpreter.js +6 -9
- package/lib/service/diffLineInterpreter.js.map +1 -1
- package/lib/service/inFileHandler.d.ts +2 -2
- package/lib/service/inFileHandler.js +3 -3
- package/lib/service/inFileHandler.js.map +1 -1
- package/lib/service/inFolderHandler.js +1 -1
- package/lib/service/inFolderHandler.js.map +1 -1
- package/lib/service/inResourceHandler.js +3 -2
- package/lib/service/inResourceHandler.js.map +1 -1
- package/lib/service/reportingFolderHandler.d.ts +2 -2
- package/lib/service/reportingFolderHandler.js +2 -2
- package/lib/service/reportingFolderHandler.js.map +1 -1
- package/lib/service/sharedFolderHandler.d.ts +2 -2
- package/lib/service/sharedFolderHandler.js +2 -2
- package/lib/service/sharedFolderHandler.js.map +1 -1
- package/lib/service/standardHandler.d.ts +4 -2
- package/lib/service/standardHandler.js +8 -3
- package/lib/service/standardHandler.js.map +1 -1
- package/lib/service/typeHandlerFactory.d.ts +6 -4
- package/lib/service/typeHandlerFactory.js +12 -11
- package/lib/service/typeHandlerFactory.js.map +1 -1
- package/lib/types/config.d.ts +1 -0
- package/lib/types/runContext.d.ts +21 -0
- package/lib/types/runContext.js +12 -0
- package/lib/types/runContext.js.map +1 -0
- package/lib/utils/configValidator.d.ts +1 -0
- package/lib/utils/configValidator.js +24 -2
- package/lib/utils/configValidator.js.map +1 -1
- package/lib/utils/fsHelper.d.ts +3 -2
- package/lib/utils/fsHelper.js +9 -10
- package/lib/utils/fsHelper.js.map +1 -1
- package/lib/utils/metadataBoundaryResolver.d.ts +7 -5
- package/lib/utils/metadataBoundaryResolver.js +18 -21
- package/lib/utils/metadataBoundaryResolver.js.map +1 -1
- package/lib/utils/renameResolver.d.ts +2 -3
- package/lib/utils/renameResolver.js +2 -2
- package/lib/utils/renameResolver.js.map +1 -1
- package/lib/utils/repoGitDiff.d.ts +1 -0
- package/lib/utils/repoGitDiff.js +17 -1
- package/lib/utils/repoGitDiff.js.map +1 -1
- package/messages/delta.md +12 -0
- package/oclif.manifest.json +9 -2
- package/package.json +16 -16
|
@@ -13,17 +13,16 @@ import GitAdapter from './GitAdapter.js';
|
|
|
13
13
|
import { EscalateToStreamingSignal, GIT_ARCHIVE_DIR_THRESHOLD, } from './gitBlobReader.js';
|
|
14
14
|
const TMP_SUFFIX = '.tmp';
|
|
15
15
|
export default class IOExecutor {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
ctx;
|
|
17
|
+
blobReader;
|
|
18
18
|
processedPaths = new Set();
|
|
19
19
|
ignoreHelper;
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
20
|
+
constructor(ctx, blobReader = GitAdapter.getInstance(ctx.config)) {
|
|
21
|
+
this.ctx = ctx;
|
|
22
|
+
this.blobReader = blobReader;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return GitAdapter.getInstance(adapterConfig);
|
|
24
|
+
get config() {
|
|
25
|
+
return this.ctx.config;
|
|
27
26
|
}
|
|
28
27
|
async execute(copies) {
|
|
29
28
|
this.ignoreHelper = await buildIgnoreHelper(this.config);
|
|
@@ -51,12 +50,6 @@ export default class IOExecutor {
|
|
|
51
50
|
break;
|
|
52
51
|
}
|
|
53
52
|
}
|
|
54
|
-
_getGitAdapter(revision) {
|
|
55
|
-
const config = revision !== this.config.to
|
|
56
|
-
? { ...this.config, to: revision }
|
|
57
|
-
: this.config;
|
|
58
|
-
return GitAdapter.getInstance(config);
|
|
59
|
-
}
|
|
60
53
|
// Defense-in-depth shared by every copy path: reject any destination that
|
|
61
54
|
// resolves outside `config.output` (zip-slip). Tree paths from the object
|
|
62
55
|
// store should never contain '..', but a crafted store must not be able to
|
|
@@ -69,19 +62,20 @@ export default class IOExecutor {
|
|
|
69
62
|
const ref = { path: op.path, oid: op.revision };
|
|
70
63
|
const dst = join(this.config.output, op.path);
|
|
71
64
|
if (!this._isWithinOutput(dst)) {
|
|
65
|
+
// Stryker disable next-line StringLiteral,CallExpression -- equivalent: the log content and the call itself are observability only; the guard's real effect (no getBufferContentOrEscalate, no outputFile) is asserted by the escape-path tests
|
|
72
66
|
Logger.debug(lazy `IOExecutor gitFileCopy out-of-output dst ${dst}`);
|
|
73
67
|
return;
|
|
74
68
|
}
|
|
75
|
-
const reader = this.blobReaderForRevision(op.revision);
|
|
76
69
|
try {
|
|
77
|
-
const content = await
|
|
70
|
+
const content = await this.blobReader.getBufferContentOrEscalate(ref);
|
|
78
71
|
await outputFile(dst, content);
|
|
79
72
|
}
|
|
80
73
|
catch (error) {
|
|
81
74
|
if (error instanceof EscalateToStreamingSignal) {
|
|
82
|
-
await this._streamCopyWithAtomicRename(
|
|
75
|
+
await this._streamCopyWithAtomicRename(this.blobReader, ref, dst);
|
|
83
76
|
return;
|
|
84
77
|
}
|
|
78
|
+
// Stryker disable next-line CallExpression -- equivalent: removing the call entirely is observability only; the swallowed error's real effect (no outputFile) is already asserted
|
|
85
79
|
Logger.debug(
|
|
86
80
|
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: lazy log content is observability only; tests assert on the swallowed error producing no output side-effect
|
|
87
81
|
lazy `IOExecutor gitFileCopy failed for ${op.path}: ${() => getErrorMessage(error)}`);
|
|
@@ -94,10 +88,9 @@ export default class IOExecutor {
|
|
|
94
88
|
}
|
|
95
89
|
async _executeGitDirCopy(op) {
|
|
96
90
|
try {
|
|
97
|
-
const
|
|
98
|
-
const filePaths = await gitAdapter.getFilesPath(op.path);
|
|
91
|
+
const filePaths = this.ctx.trees.filesUnder(op.revision, op.path);
|
|
99
92
|
if (filePaths.length > GIT_ARCHIVE_DIR_THRESHOLD) {
|
|
100
|
-
await this._executeGitDirCopyViaArchive(
|
|
93
|
+
await this._executeGitDirCopyViaArchive(this.blobReader, op, filePaths);
|
|
101
94
|
return;
|
|
102
95
|
}
|
|
103
96
|
for (const filePath of filePaths) {
|
|
@@ -106,10 +99,11 @@ export default class IOExecutor {
|
|
|
106
99
|
}
|
|
107
100
|
const dst = join(this.config.output, filePath);
|
|
108
101
|
if (!this._isWithinOutput(dst)) {
|
|
102
|
+
// Stryker disable next-line StringLiteral,CallExpression -- equivalent: the log content and the call itself are observability only; the skip's real effect (no getBufferContent, no outputFile for that child) is asserted by the escaping-child test
|
|
109
103
|
Logger.debug(lazy `IOExecutor gitDirCopy out-of-output dst ${dst}`);
|
|
110
104
|
continue;
|
|
111
105
|
}
|
|
112
|
-
const content = await
|
|
106
|
+
const content = await this.blobReader.getBufferContent({
|
|
113
107
|
path: filePath,
|
|
114
108
|
oid: op.revision,
|
|
115
109
|
});
|
|
@@ -118,7 +112,7 @@ export default class IOExecutor {
|
|
|
118
112
|
}
|
|
119
113
|
}
|
|
120
114
|
catch (error) {
|
|
121
|
-
// Stryker disable next-line BlockStatement -- equivalent: catch body is observability-only; emptying it skips the lazy log
|
|
115
|
+
// Stryker disable next-line BlockStatement,CallExpression -- equivalent: catch body is observability-only; emptying it, or dropping the call, skips only the lazy log — tests assert on the swallowed error not producing copies
|
|
122
116
|
Logger.debug(
|
|
123
117
|
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: lazy log content is observability only
|
|
124
118
|
lazy `IOExecutor gitDirCopy failed for ${op.path}: ${() => getErrorMessage(error)}`);
|
|
@@ -160,6 +154,11 @@ export default class IOExecutor {
|
|
|
160
154
|
}
|
|
161
155
|
async _executeStreamedContent(op) {
|
|
162
156
|
const dst = join(this.config.output, op.path);
|
|
157
|
+
if (!this._isWithinOutput(dst)) {
|
|
158
|
+
// Stryker disable next-line StringLiteral,CallExpression -- equivalent: the log content and the call itself are observability only; the guard's real effect (writer never invoked) is asserted by the escape-path StreamedContent test
|
|
159
|
+
Logger.debug(lazy `IOExecutor streamedContent out-of-output dst ${dst}`);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
163
162
|
await this._writeAtomicallyViaTmp(dst, op.writer);
|
|
164
163
|
}
|
|
165
164
|
// Writes `producer` output to a sibling `.tmp` file, then atomically renames
|
|
@@ -182,6 +181,7 @@ export default class IOExecutor {
|
|
|
182
181
|
ws.destroy();
|
|
183
182
|
/* v8 ignore next -- defensive cleanup: best-effort tmp removal swallows ENOENT and permission errors */
|
|
184
183
|
await fsPromises.unlink(tmp).catch(() => undefined);
|
|
184
|
+
// Stryker disable next-line CallExpression -- equivalent: removing the call entirely is observability only; the failed write's real effects (unlink called, rename not called, stream destroyed) are already asserted
|
|
185
185
|
Logger.debug(
|
|
186
186
|
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: lazy log content is observability only; tests assert on the failed-write side-effect (no output file)
|
|
187
187
|
lazy `IOExecutor atomicWrite failed for ${dst}: ${() => getErrorMessage(error)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ioExecutor.js","sourceRoot":"","sources":["../../src/adapter/ioExecutor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,iBAAiB,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAQ/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"ioExecutor.js","sourceRoot":"","sources":["../../src/adapter/ioExecutor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,iBAAiB,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAQ/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAE1B,MAAM,oBAAoB,CAAA;AAE3B,MAAM,UAAU,GAAG,MAAM,CAAA;AAEzB,MAAM,CAAC,OAAO,OAAO,UAAU;IAKR,GAAG;IACH,UAAU;IALZ,cAAc,GAAgB,IAAI,GAAG,EAAE,CAAA;IAChD,YAAY,CAAe;IAErC,YACqB,GAAe,EACf,UAAU,GAAkB,UAAU,CAAC,WAAW,CACnE,GAAG,CAAC,MAAM,CACX;mBAHkB,GAAG;0BACH,UAAU;IAG5B,CAAC;IAEJ,IAAc,MAAM;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAgC;QACnD,IAAI,CAAC,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxD,MAAM,SAAS,CACb,MAAM,EACN,uBAAuB,EAAE,EACzB,KAAK,EAAE,EAAiB,EAAE,EAAE;YAC1B,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC,CACF,CAAA;IACH,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,EAAiB;QACjD,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAM;QACR,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,iBAAiB,CAAC,OAAO;gBAC5B,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;gBAClC,MAAK;YACP,KAAK,iBAAiB,CAAC,UAAU;gBAC/B,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAK;YACP,KAAK,iBAAiB,CAAC,eAAe;gBACpC,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAA;gBACtC,MAAK;QACT,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,2DAA2D;IACnD,eAAe,CAAC,GAAW;QACjC,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1C,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,EAGnC;QACC,MAAM,GAAG,GAAe,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,gPAAgP;YAChP,MAAM,CAAC,KAAK,CAAC,IAAI,CAAA,4CAA4C,GAAG,EAAE,CAAC,CAAA;YACnE,OAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAA;YACrE,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;gBAC/C,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACjE,OAAM;YACR,CAAC;YACD,kLAAkL;YAClL,MAAM,CAAC,KAAK;YACV,mLAAmL;YACnL,IAAI,CAAA,qCAAqC,EAAE,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACpF,CAAA;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,2BAA2B,CACzC,MAAqB,EACrB,GAAe,EACf,GAAW;QAEX,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;YAChD,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,EAGlC;QACC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;YACjE,IAAI,SAAS,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;gBACjD,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;gBACvE,OAAM;YACR,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,SAAQ;gBACV,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gBAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/B,sPAAsP;oBACtP,MAAM,CAAC,KAAK,CAAC,IAAI,CAAA,2CAA2C,GAAG,EAAE,CAAC,CAAA;oBAClE,SAAQ;gBACV,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBACrD,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,EAAE,CAAC,QAAQ;iBACjB,CAAC,CAAA;gBACF,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iOAAiO;YACjO,MAAM,CAAC,KAAK;YACV,8GAA8G;YAC9G,IAAI,CAAA,oCAAoC,EAAE,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACnF,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,4BAA4B,CACxC,UAAyB,EACzB,EAAsC,EACtC,SAAmB;QAEnB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QACjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;gBACrB,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;gBACrB,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;gBACrB,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAChD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;gBACrB,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnC,4SAA4S;YAC5S,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;gBAChD,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;YAClD,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,uBAAuB,CACrC,EAA4B;QAE5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,uOAAuO;YACvO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAA,gDAAgD,GAAG,EAAE,CAAC,CAAA;YACvE,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,6EAA6E;IAC7E,6EAA6E;IACnE,KAAK,CAAC,sBAAsB,CACpC,GAAW,EACX,QAAyC;QAEzC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,UAAU,EAAE,CAAA;QACjC,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAA;YAClB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,uHAAuH;gBACvH,EAAE,CAAC,GAAG,CAAC,CAAC,GAAkB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YACjE,CAAC,CAAC,CAAA;YACF,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,OAAO,EAAE,CAAA;YACZ,wGAAwG;YACxG,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YACnD,sNAAsN;YACtN,MAAM,CAAC,KAAK;YACV,6KAA6K;YAC7K,IAAI,CAAA,qCAAqC,GAAG,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAChF,CAAA;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -6,12 +6,15 @@ export declare class TreeIndex {
|
|
|
6
6
|
protected readonly root: TrieNode;
|
|
7
7
|
protected fileCount: number;
|
|
8
8
|
add(path: string): void;
|
|
9
|
-
has(path: string): boolean;
|
|
10
|
-
hasPath(path: string): boolean;
|
|
9
|
+
protected has(path: string): boolean;
|
|
10
|
+
protected hasPath(path: string): boolean;
|
|
11
11
|
listChildren(dir: string): string[];
|
|
12
|
-
getFilesUnder(dir: string): string[];
|
|
13
|
-
allPaths(): string[];
|
|
12
|
+
protected getFilesUnder(dir: string): string[];
|
|
13
|
+
protected allPaths(): string[];
|
|
14
14
|
get size(): number;
|
|
15
|
+
pathExists(path: string): boolean;
|
|
16
|
+
getFilesPath(paths: string | string[]): string[];
|
|
17
|
+
private getFilesPathFor;
|
|
15
18
|
protected navigate(path: string): TrieNode | undefined;
|
|
16
19
|
protected collectFiles(node: TrieNode, prefix: string, out: string[]): void;
|
|
17
20
|
}
|
package/lib/adapter/treeIndex.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { PATH_SEP } from '../constant/fsConstants.js';
|
|
3
|
+
import { pushAll } from '../utils/arrayUtils.js';
|
|
4
|
+
import { ROOT_PATHS } from './pathMatching.js';
|
|
3
5
|
const createNode = () => ({
|
|
4
6
|
children: new Map(),
|
|
5
7
|
isFile: false,
|
|
@@ -23,6 +25,10 @@ export class TreeIndex {
|
|
|
23
25
|
this.fileCount++;
|
|
24
26
|
}
|
|
25
27
|
}
|
|
28
|
+
// Not part of the public surface: the ROOT_PATHS-aware pathExists/
|
|
29
|
+
// getFilesPath wrappers below are every caller's actual entry point.
|
|
30
|
+
// Keeping these raw lookups protected stops a future caller from
|
|
31
|
+
// bypassing the ROOT_PATHS branch those wrappers exist for.
|
|
26
32
|
has(path) {
|
|
27
33
|
return this.navigate(path)?.isFile === true;
|
|
28
34
|
}
|
|
@@ -46,9 +52,37 @@ export class TreeIndex {
|
|
|
46
52
|
this.collectFiles(this.root, '', result);
|
|
47
53
|
return result;
|
|
48
54
|
}
|
|
55
|
+
// Stays public (unlike has/hasPath/getFilesUnder/allPaths above): no
|
|
56
|
+
// ROOT_PATHS-aware wrapper exposes the exact indexed-file count —
|
|
57
|
+
// pathExists/getFilesPath only answer boolean/list questions — so this
|
|
58
|
+
// is the sole way to pin the add() idempotency guarantee (the same path
|
|
59
|
+
// added twice must not double-count).
|
|
49
60
|
get size() {
|
|
50
61
|
return this.fileCount;
|
|
51
62
|
}
|
|
63
|
+
// The two ROOT_PATHS-aware lookups every caller used to ask GitAdapter
|
|
64
|
+
// for (pathExistsImpl, getFilesPathCached) — now answered by the index
|
|
65
|
+
// itself instead of a scope-keyed cache lookup.
|
|
66
|
+
pathExists(path) {
|
|
67
|
+
if (ROOT_PATHS.has(path))
|
|
68
|
+
return this.size > 0;
|
|
69
|
+
return this.hasPath(path);
|
|
70
|
+
}
|
|
71
|
+
getFilesPath(paths) {
|
|
72
|
+
const list = Array.isArray(paths) ? paths : [paths];
|
|
73
|
+
const result = [];
|
|
74
|
+
for (const path of list) {
|
|
75
|
+
pushAll(result, this.getFilesPathFor(path));
|
|
76
|
+
}
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
getFilesPathFor(path) {
|
|
80
|
+
if (ROOT_PATHS.has(path))
|
|
81
|
+
return this.allPaths();
|
|
82
|
+
if (this.has(path))
|
|
83
|
+
return [path];
|
|
84
|
+
return this.getFilesUnder(path);
|
|
85
|
+
}
|
|
52
86
|
navigate(path) {
|
|
53
87
|
if (!path)
|
|
54
88
|
return this.root;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeIndex.js","sourceRoot":"","sources":["../../src/adapter/treeIndex.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"treeIndex.js","sourceRoot":"","sources":["../../src/adapter/treeIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TreeIndex } from './treeIndex.js';
|
|
2
|
+
export type TreeReader = Readonly<{
|
|
3
|
+
pathExists(revision: string, path: string): boolean;
|
|
4
|
+
filesUnder(revision: string, paths: string | string[]): string[];
|
|
5
|
+
children(revision: string, dir: string): string[];
|
|
6
|
+
}>;
|
|
7
|
+
export declare const createTreeReader: (entries: ReadonlyMap<string, TreeIndex>) => TreeReader;
|
|
8
|
+
export declare const EMPTY_TREE_READER: TreeReader;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { TreeIndex } from './treeIndex.js';
|
|
3
|
+
// Null Object. An index with no entries answers every question with exactly
|
|
4
|
+
// the empty/false result each reader used to spell out for itself as
|
|
5
|
+
// `at(rev)?.x() ?? default` — including for ROOT_PATHS, where pathExists
|
|
6
|
+
// short-circuits to `size > 0` instead of walking to the (always present)
|
|
7
|
+
// root node.
|
|
8
|
+
const NO_INDEX = new TreeIndex();
|
|
9
|
+
export const createTreeReader = (entries) => {
|
|
10
|
+
const indexAt = (revision) => entries.get(revision) ?? NO_INDEX;
|
|
11
|
+
return {
|
|
12
|
+
pathExists: (revision, path) => indexAt(revision).pathExists(path),
|
|
13
|
+
filesUnder: (revision, paths) => indexAt(revision).getFilesPath(paths),
|
|
14
|
+
children: (revision, dir) => indexAt(revision).listChildren(dir),
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
// Safe default for callers/tests that never touch tree-index-backed
|
|
18
|
+
// lookups: every read resolves to the same empty degradation a revision
|
|
19
|
+
// that was never built would produce. Expressed via the real factory over
|
|
20
|
+
// an empty map so it cannot drift from what createTreeReader actually does.
|
|
21
|
+
export const EMPTY_TREE_READER = createTreeReader(new Map());
|
|
22
|
+
//# sourceMappingURL=treeReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeReader.js","sourceRoot":"","sources":["../../src/adapter/treeReader.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAwB1C,4EAA4E;AAC5E,qEAAqE;AACrE,yEAAyE;AACzE,0EAA0E;AAC1E,aAAa;AACb,MAAM,QAAQ,GAAkB,IAAI,SAAS,EAAE,CAAA;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAuC,EAC3B,EAAE;IACd,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAiB,EAAE,CAClD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAA;IACnC,OAAO;QACL,UAAU,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAClE,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;QACtE,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;KACjE,CAAA;AACH,CAAC,CAAA;AAED,oEAAoE;AACpE,wEAAwE;AACxE,0EAA0E;AAC1E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAe,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA"}
|
|
@@ -7,6 +7,7 @@ export default class SourceDeltaGenerate extends SfCommand<SgdResult> {
|
|
|
7
7
|
static readonly flags: {
|
|
8
8
|
from: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
9
|
to: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'merge-base': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
'generate-delta': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
12
|
'output-dir': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
13
|
'repo-dir': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -27,6 +27,10 @@ export default class SourceDeltaGenerate extends SfCommand {
|
|
|
27
27
|
summary: messages.getMessage('flags.to.summary'),
|
|
28
28
|
default: TO_DEFAULT_VALUE,
|
|
29
29
|
}),
|
|
30
|
+
'merge-base': Flags.boolean({
|
|
31
|
+
char: 'b',
|
|
32
|
+
summary: messages.getMessage('flags.merge-base.summary'),
|
|
33
|
+
}),
|
|
30
34
|
'generate-delta': Flags.boolean({
|
|
31
35
|
char: 'd',
|
|
32
36
|
summary: messages.getMessage('flags.generate-delta.summary'),
|
|
@@ -139,6 +143,7 @@ export default class SourceDeltaGenerate extends SfCommand {
|
|
|
139
143
|
ignoreWhitespace: flags['ignore-whitespace'],
|
|
140
144
|
include: flags['include-file'],
|
|
141
145
|
includeDestructive: flags['include-destructive-file'],
|
|
146
|
+
mergeBase: flags['merge-base'],
|
|
142
147
|
output: flags['output-dir'],
|
|
143
148
|
repo: flags['repo-dir'],
|
|
144
149
|
source: flags['source-dir'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../../src/commands/sgd/source/delta.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../../src/commands/sgd/source/delta.ts"],"names":[],"mappings":"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"}
|
package/lib/main.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import GitAdapter from './adapter/GitAdapter.js';
|
|
3
3
|
import IOExecutor from './adapter/ioExecutor.js';
|
|
4
|
+
import { createTreeReader, EMPTY_TREE_READER } from './adapter/treeReader.js';
|
|
4
5
|
import { getDefinition } from './metadata/metadataManager.js';
|
|
5
6
|
import { getPostProcessors } from './post-processor/postProcessorManager.js';
|
|
6
7
|
import DiffLineInterpreter from './service/diffLineInterpreter.js';
|
|
@@ -47,6 +48,14 @@ export default async (configInput) => {
|
|
|
47
48
|
else {
|
|
48
49
|
lines = repoGitDiffHelper.getLines();
|
|
49
50
|
}
|
|
51
|
+
// Built here and threaded to every reader (DiffLineInterpreter,
|
|
52
|
+
// RenameResolver, IOExecutor, the post-processors) rather than cached
|
|
53
|
+
// on GitAdapter: one TreeIndex per revision, for this run only, so a
|
|
54
|
+
// reader can never see a different scope than the one this block just
|
|
55
|
+
// built under — the lesson from the shared, scope-keyed cache this
|
|
56
|
+
// replaces (see design history) is that a cache keyed by a value each
|
|
57
|
+
// reader recomputes is an implicit contract that will drift.
|
|
58
|
+
let trees = EMPTY_TREE_READER;
|
|
50
59
|
if (config.generateDelta) {
|
|
51
60
|
const gitAdapter = GitAdapter.getInstance(config);
|
|
52
61
|
let scopePaths = config.source;
|
|
@@ -56,14 +65,23 @@ export default async (configInput) => {
|
|
|
56
65
|
];
|
|
57
66
|
}
|
|
58
67
|
if (scopePaths.length > 0) {
|
|
59
|
-
await Promise.all([
|
|
60
|
-
gitAdapter.
|
|
61
|
-
gitAdapter.
|
|
68
|
+
const [toIndex, fromIndex] = await Promise.all([
|
|
69
|
+
gitAdapter.buildTreeIndex(config.to, scopePaths),
|
|
70
|
+
gitAdapter.buildTreeIndex(config.from, scopePaths),
|
|
62
71
|
]);
|
|
72
|
+
const entries = new Map();
|
|
73
|
+
// Stryker disable ConditionalExpression -- equivalent: forcing either guard to always run stores `undefined` at that revision key instead of skipping it, but the only reader is createTreeReader's `entries.get(revision) ?? NO_INDEX`, and Map.get answers `undefined` for an absent key and an explicitly-undefined value alike. `entries` is local to this block and exposes no has/size/enumeration, so no observer can tell the two apart
|
|
74
|
+
if (toIndex)
|
|
75
|
+
entries.set(config.to, toIndex);
|
|
76
|
+
if (fromIndex)
|
|
77
|
+
entries.set(config.from, fromIndex);
|
|
78
|
+
// Stryker restore ConditionalExpression
|
|
79
|
+
trees = createTreeReader(entries);
|
|
63
80
|
}
|
|
64
81
|
}
|
|
65
|
-
const
|
|
66
|
-
const
|
|
82
|
+
const ctx = { config, metadata, trees };
|
|
83
|
+
const lineProcessor = new DiffLineInterpreter(ctx);
|
|
84
|
+
const postProcessors = getPostProcessors(ctx);
|
|
67
85
|
// First pass: build the read model from handler output alone so collectors
|
|
68
86
|
// (FlowTranslationProcessor) introspect the handler-pass package view before
|
|
69
87
|
// include lines exist.
|
|
@@ -74,9 +92,9 @@ export default async (configInput) => {
|
|
|
74
92
|
// RepoGitDiff captured from `-M` output — into (type, from, to) triples.
|
|
75
93
|
// Pairs for ignored paths or bundle helper files (same member on both
|
|
76
94
|
// sides) resolve to no triple.
|
|
77
|
-
const renameTriples = await new RenameResolver(
|
|
95
|
+
const renameTriples = await new RenameResolver(ctx).resolve(repoGitDiffHelper.getRenamePairs());
|
|
78
96
|
const { changes, copies, warnings: assemblyWarnings, } = assembleChanges(handlerResult, postResult, renameTriples);
|
|
79
|
-
await new IOExecutor(
|
|
97
|
+
await new IOExecutor(ctx).execute(copies);
|
|
80
98
|
const processorWarnings = await postProcessors.executeRemaining(changes);
|
|
81
99
|
// The diff is fully drained by this point (the same assumption
|
|
82
100
|
// getRenamePairs() above already relies on), so the per-scope
|
|
@@ -93,8 +111,8 @@ export default async (configInput) => {
|
|
|
93
111
|
// joined aggregate, or one long scope name silently
|
|
94
112
|
// elides every scope listed after it.
|
|
95
113
|
unmatchedScopes.map(sanitizeForMessage).join(', '),
|
|
96
|
-
requestedFrom,
|
|
97
|
-
requestedTo,
|
|
114
|
+
sanitizeForMessage(requestedFrom),
|
|
115
|
+
sanitizeForMessage(requestedTo),
|
|
98
116
|
])),
|
|
99
117
|
]
|
|
100
118
|
: [];
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,UAAU,MAAM,yBAAyB,CAAA;AAChD,OAAO,UAAU,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,mBAAmB,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
1
|
import type { Config } from '../types/config.js';
|
|
3
2
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
3
|
+
import type { RunContext } from '../types/runContext.js';
|
|
4
4
|
import type ChangeSet from '../utils/changeSet.js';
|
|
5
5
|
export type ProcessorOutcome = Readonly<{
|
|
6
6
|
warnings: readonly Error[];
|
|
7
7
|
}>;
|
|
8
8
|
export declare const emptyOutcome: () => ProcessorOutcome;
|
|
9
9
|
export default abstract class BaseProcessor {
|
|
10
|
-
protected readonly
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
protected readonly ctx: RunContext;
|
|
11
|
+
constructor(ctx: RunContext);
|
|
12
|
+
protected get config(): Config;
|
|
13
13
|
get isCollector(): boolean;
|
|
14
14
|
abstract process(changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
15
15
|
transformAndCollect(_changes: ChangeSet): Promise<HandlerResult>;
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
import { emptyResult } from '../types/handlerResult.js';
|
|
3
3
|
export const emptyOutcome = () => ({ warnings: [] });
|
|
4
4
|
export default class BaseProcessor {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
ctx;
|
|
6
|
+
constructor(ctx) {
|
|
7
|
+
this.ctx = ctx;
|
|
8
|
+
}
|
|
9
|
+
get config() {
|
|
10
|
+
return this.ctx.config;
|
|
10
11
|
}
|
|
11
12
|
get isCollector() {
|
|
12
13
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseProcessor.js","sourceRoot":"","sources":["../../src/post-processor/baseProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"baseProcessor.js","sourceRoot":"","sources":["../../src/post-processor/baseProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAIZ,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAKvD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAqB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;AAEtE,MAAM,CAAC,OAAO,OAAgB,aAAa;IACV,GAAG;IAAlC,YAA+B,GAAe;mBAAf,GAAG;IAAe,CAAC;IAElD,IAAc,MAAM;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IACxB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IAIM,KAAK,CAAC,mBAAmB,CAC9B,QAAmB;QAEnB,OAAO,WAAW,EAAE,CAAA;IACtB,CAAC;CACF"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
|
-
import type { Config } from '../types/config.js';
|
|
3
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
4
2
|
import type ChangeSet from '../utils/changeSet.js';
|
|
5
3
|
import { IgnoreHelper } from '../utils/ignoreHelper.js';
|
|
@@ -20,7 +18,6 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
20
18
|
protected ignoreHelper: IgnoreHelper | undefined;
|
|
21
19
|
protected isOutputEqualsToRepo: boolean | undefined;
|
|
22
20
|
protected packagedFlows: Set<string>;
|
|
23
|
-
constructor(config: Config, metadata: MetadataRepository);
|
|
24
21
|
get isCollector(): boolean;
|
|
25
22
|
process(_changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
26
23
|
transformAndCollect(changes: ChangeSet): Promise<HandlerResult>;
|
|
@@ -40,14 +40,10 @@ const emptyTranslationMerge = () => ({
|
|
|
40
40
|
seenFullNames: new Set(),
|
|
41
41
|
});
|
|
42
42
|
export default class FlowTranslationProcessor extends BaseProcessor {
|
|
43
|
-
translations;
|
|
43
|
+
translations = new Map();
|
|
44
44
|
ignoreHelper;
|
|
45
45
|
isOutputEqualsToRepo;
|
|
46
46
|
packagedFlows = new Set();
|
|
47
|
-
constructor(config, metadata) {
|
|
48
|
-
super(config, metadata);
|
|
49
|
-
this.translations = new Map();
|
|
50
|
-
}
|
|
51
47
|
get isCollector() {
|
|
52
48
|
return true;
|
|
53
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowTranslationProcessor.js","sourceRoot":"","sources":["../../src/post-processor/flowTranslationProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"flowTranslationProcessor.js","sourceRoot":"","sources":["../../src/post-processor/flowTranslationProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import GitAdapter from '../adapter/GitAdapter.js';
|
|
2
2
|
import { ADDITION, DELETION } from '../constant/gitConstants.js';
|
|
3
|
-
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
4
|
-
import type { Config } from '../types/config.js';
|
|
5
3
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
4
|
+
import type { RunContext } from '../types/runContext.js';
|
|
6
5
|
import type ChangeSet from '../utils/changeSet.js';
|
|
7
6
|
import BaseProcessor, { type ProcessorOutcome } from './baseProcessor.js';
|
|
8
7
|
type GitChange = typeof ADDITION | typeof DELETION;
|
|
9
8
|
export default class IncludeProcessor extends BaseProcessor {
|
|
10
9
|
protected readonly gitAdapter: GitAdapter;
|
|
11
|
-
constructor(
|
|
10
|
+
constructor(ctx: RunContext);
|
|
12
11
|
get isCollector(): boolean;
|
|
13
12
|
protected _shouldProcess(): boolean;
|
|
14
13
|
process(_changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
@@ -15,8 +15,8 @@ import { log } from '../utils/LoggingDecorator.js';
|
|
|
15
15
|
import BaseProcessor, { emptyOutcome, } from './baseProcessor.js';
|
|
16
16
|
export default class IncludeProcessor extends BaseProcessor {
|
|
17
17
|
gitAdapter;
|
|
18
|
-
constructor(
|
|
19
|
-
super(
|
|
18
|
+
constructor(ctx) {
|
|
19
|
+
super(ctx);
|
|
20
20
|
this.gitAdapter = GitAdapter.getInstance(this.config);
|
|
21
21
|
}
|
|
22
22
|
get isCollector() {
|
|
@@ -40,7 +40,7 @@ export default class IncludeProcessor extends BaseProcessor {
|
|
|
40
40
|
const includeHelper = await buildIncludeHelper(this.config);
|
|
41
41
|
const includeLines = new Map();
|
|
42
42
|
const gitChanges = [ADDITION, DELETION];
|
|
43
|
-
const lines =
|
|
43
|
+
const lines = this.ctx.trees.filesUnder(this.config.to, this.config.source);
|
|
44
44
|
for (const line of lines) {
|
|
45
45
|
gitChanges.forEach((changeType) => {
|
|
46
46
|
const changedLine = `${changeType}${TAB}${line}`;
|
|
@@ -61,7 +61,7 @@ export default class IncludeProcessor extends BaseProcessor {
|
|
|
61
61
|
return emptyResult();
|
|
62
62
|
}
|
|
63
63
|
const firstSHA = await this.gitAdapter.getFirstCommitRef();
|
|
64
|
-
const lineProcessor = new DiffLineInterpreter(this.
|
|
64
|
+
const lineProcessor = new DiffLineInterpreter(this.ctx);
|
|
65
65
|
const results = [];
|
|
66
66
|
if (includeLines.has(ADDITION)) {
|
|
67
67
|
const result = await lineProcessor.process(includeLines.get(ADDITION), {
|