sfdx-git-delta 7.4.3 → 7.4.4
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 +35 -14
- package/lib/service/inFileHandler.d.ts +1 -0
- package/lib/service/inFileHandler.js +17 -1
- package/lib/service/inFileHandler.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +27 -19
package/README.md
CHANGED
|
@@ -55,13 +55,12 @@
|
|
|
55
55
|
- [Explicitly including specific files for inclusion or destruction regardless of diff](#explicitly-including-specific-files-for-inclusion-or-destruction-regardless-of-diff)
|
|
56
56
|
- [Scoping delta generation to a specific folder](#scoping-delta-generation-to-a-specific-folder)
|
|
57
57
|
- [Scope delta generation to the sfdx-project.json package directories](#scope-delta-generation-to-the-sfdx-projectjson-package-directories)
|
|
58
|
-
- [
|
|
58
|
+
- [Run specified tests using the SGD manifest](#run-specified-tests-using-the-sgd-manifest)
|
|
59
59
|
- [Condition deployment on package.xml and destructiveChange content](#condition-deployment-on-packagexml-and-destructivechange-content)
|
|
60
60
|
- [Use the module in your own node application](#use-the-module-in-your-own-node-application)
|
|
61
61
|
- [Handle flow deletion](#handle-flow-deletion)
|
|
62
62
|
- [Decomposed Metadata Types](#decomposed-metadata-types)
|
|
63
63
|
- [Debugging](#debugging)
|
|
64
|
-
- [Complementary Plugins](#complementary-plugins)
|
|
65
64
|
- [Changelog](#changelog)
|
|
66
65
|
- [Built With](#built-with)
|
|
67
66
|
- [Used by](#used-by)
|
|
@@ -214,7 +213,7 @@ FLAG DESCRIPTIONS
|
|
|
214
213
|
`--source-dir force-app` does not match `nested/force-app/...`.
|
|
215
214
|
```
|
|
216
215
|
|
|
217
|
-
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v7.4.
|
|
216
|
+
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v7.4.4/src/commands/sgd/source/delta.ts)_
|
|
218
217
|
<!-- commandsstop -->
|
|
219
218
|
|
|
220
219
|
### Windows users
|
|
@@ -481,6 +480,8 @@ $ sf sgd source delta --from commit --ignore-destructive-file destructiveignore
|
|
|
481
480
|
|
|
482
481
|
```
|
|
483
482
|
|
|
483
|
+
`--ignore-destructive-file [-D]` also covers sub-components deleted inside a modified file (a label removed from `CustomLabels.labels-meta.xml`, a workflow rule removed from a `.workflow-meta.xml`, etc.), while the additions and modifications of that same file still reach `package.xml`. Patterns match file paths, so a pattern matching `CustomLabels.labels-meta.xml` keeps every label deleted from that file out of `destructiveChanges.xml`, not a single label.
|
|
484
|
+
|
|
484
485
|
`--ignore-destructive-file [-D]` does not affect the move detection described above. Whether a moved addition can cancel its deletion is decided purely against the `--ignore-file [-i]` patterns — the same file that held the addition in the first place — never the destructive-only one. A permissive `--ignore-destructive-file [-D]` does not turn the move back into a destructive change: as long as the component has no file outside `--ignore-file [-i]`'s patterns at `--to`, the deletion still cancels.
|
|
485
486
|
|
|
486
487
|
If SGD cannot read the file listing at `--to`, the move check is skipped, the deletion is reported as usual, and SGD emits a warning noting the check could not run.
|
|
@@ -575,12 +576,39 @@ sf sgd source delta --from baseline --to HEAD --output-dir ./delta --generate-de
|
|
|
575
576
|
> See [Scoping delta generation to specific folders](#scoping-delta-generation-to-specific-folders) for the `--source-dir` behavior.
|
|
576
577
|
> Prefer `--ignore-file [-i]` when you only need to skip a few known paths (e.g. `**/.claude/**`) without coupling to `sfdx-project.json`.
|
|
577
578
|
|
|
578
|
-
###
|
|
579
|
+
### Run specified tests using the SGD manifest
|
|
580
|
+
|
|
581
|
+
Depending on your testing strategy, you may want to run only the Apex tests related to the delta instead of every local test. Three options use the `package.xml` produced by SGD to drive the test selection:
|
|
582
|
+
|
|
583
|
+
#### 1. Build the test list from the added and modified Apex classes
|
|
584
|
+
|
|
585
|
+
[Generate a space-separated list of the added and modified Apex classes](https://github.com/scolladon/sfdx-git-delta/issues/126) by parsing the `package.xml` produced by SGD with [yq](https://github.com/kislyuk/yq):
|
|
586
|
+
|
|
587
|
+
```sh
|
|
588
|
+
TESTS=$(xq . < package/package.xml | jq -r '.Package.types | [.] | flatten | map(select(.name=="ApexClass")) | .[] | .members | [.] | flatten | map(select(. | index("*") | not)) | unique | join(" ")')
|
|
589
|
+
sf project deploy start -x package/package.xml --test-level RunSpecifiedTests --tests $TESTS
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
`--tests` expects a space-separated list, so `$TESTS` is left unquoted to expand into one argument per class. This only works when the delta contains the test classes themselves, or when your test class names can be derived from the changed classes.
|
|
579
593
|
|
|
580
|
-
|
|
581
|
-
To cover this need, parse the content of the package.xml file produced by SGD using [yq](https://github.com/kislyuk/yq):
|
|
594
|
+
#### 2. Resolve tests from annotations with apex-test-list
|
|
582
595
|
|
|
583
|
-
|
|
596
|
+
The [apex-test-list](https://github.com/renatoliveira/apex-test-list) plugin (by [renatoliveira](https://github.com/renatoliveira)) reads `@Tests:` / `@TestSuites:` annotations in your Apex classes and resolves the tests to run for the components listed in the SGD manifest:
|
|
597
|
+
|
|
598
|
+
```apex
|
|
599
|
+
// @Tests: AccountServiceTest, AccountTriggerTest
|
|
600
|
+
public class AccountService { }
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
```sh
|
|
604
|
+
echo y | sf plugins install apextestlist
|
|
605
|
+
sf sgd source delta --to "HEAD" --from "HEAD~1" --output-dir "."
|
|
606
|
+
sf project deploy start -x package/package.xml --test-level RunSpecifiedTests $(sf apextests list -x package/package.xml --format sf)
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
#### 3. Let Salesforce pick with RunRelevantTests
|
|
610
|
+
|
|
611
|
+
Salesforce's [`RunRelevantTests`](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_run_relevant_tests.htm&release=260&type=5) test level (beta, Spring '26) analyzes the deployment payload server-side and runs only the tests relevant to it. Deploy the SGD manifest with it.
|
|
584
612
|
|
|
585
613
|
### Review-centric: list components by change kind
|
|
586
614
|
|
|
@@ -779,13 +807,6 @@ example:
|
|
|
779
807
|
DEBUG=sfdx-git-delta SF_LOG_LEVEL=trace sf sgd source delta --from "HEAD~1" --to "HEAD"
|
|
780
808
|
```
|
|
781
809
|
|
|
782
|
-
## Complementary Plugins
|
|
783
|
-
|
|
784
|
-
These plugins have been designed to work with SGD:
|
|
785
|
-
|
|
786
|
-
- [apex-test-list](https://github.com/renatoliveira/apex-test-list) - Developer: [renatoliveira](https://github.com/renatoliveira) - This plugin determines the specified Apex tests by reading test annotations made anywhere inside your Apex classes. You can have this plugin scan the package.xml created by SGD to determine the required Apex tests to run during deployment.
|
|
787
|
-
- [apex-tests-git-delta](https://github.com/mcarvin8/apex-tests-git-delta) - Developer: [mcarvin8](https://github.com/mcarvin8) - This plugin determines the specified Apex tests by reading the commit messages in the commit range. You can use the same `--from` and `--to` commit hashes when using SGD and apex-tests-git-delta to determine the required Apex tests to run during deployment.
|
|
788
|
-
|
|
789
810
|
## Changelog
|
|
790
811
|
|
|
791
812
|
[changelog.md](CHANGELOG.md) is available for consultation.
|
|
@@ -15,6 +15,7 @@ export default class InFileHandler extends StandardHandler {
|
|
|
15
15
|
type: string;
|
|
16
16
|
member: string;
|
|
17
17
|
}[]): void;
|
|
18
|
+
protected _keepsDestructiveChanges(): Promise<boolean>;
|
|
18
19
|
protected _getQualifiedName(): string;
|
|
19
20
|
protected _delegateFileCopy(): boolean;
|
|
20
21
|
protected _shouldTreatDeletionAsDeletion(): boolean | undefined;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { basename } from 'node:path/posix';
|
|
3
|
+
import { TAB } from '../constant/cliConstants.js';
|
|
3
4
|
import { DOT } from '../constant/fsConstants.js';
|
|
5
|
+
import { DELETION, MODIFICATION } from '../constant/gitConstants.js';
|
|
4
6
|
import { isPackable } from '../metadata/metadataManager.js';
|
|
5
7
|
import { ChangeKind, CopyOperationKind, ManifestTarget, } from '../types/handlerResult.js';
|
|
6
8
|
import { pushAll } from '../utils/arrayUtils.js';
|
|
7
9
|
import { wrapError } from '../utils/errorUtils.js';
|
|
10
|
+
import { buildIgnoreHelper } from '../utils/ignoreHelper.js';
|
|
8
11
|
import { Logger, lazy } from '../utils/LoggingService.js';
|
|
9
12
|
import { MessageService } from '../utils/MessageService.js';
|
|
10
13
|
import MetadataDiff from '../utils/metadataDiff/index.js';
|
|
@@ -34,7 +37,14 @@ export default class InFileHandler extends StandardHandler {
|
|
|
34
37
|
const elements = [];
|
|
35
38
|
const copies = [];
|
|
36
39
|
const outcome = await this.metadataDiff.run(this.element.basePath);
|
|
37
|
-
|
|
40
|
+
// RATIONALE: members deleted inside a modified file arrive on an `M`
|
|
41
|
+
// line, which the upstream line filter checks against the global
|
|
42
|
+
// ignore only. The destructive ignore must still apply to them.
|
|
43
|
+
// Deletion lines are left alone: the main diff already filtered them,
|
|
44
|
+
// and the include pass's ones must win over the ignore.
|
|
45
|
+
if (await this._keepsDestructiveChanges()) {
|
|
46
|
+
this._collectManifestFromComparison(elements, ManifestTarget.DestructiveChanges, ChangeKind.Delete, outcome.manifests.deleted);
|
|
47
|
+
}
|
|
38
48
|
this._collectManifestFromComparison(elements, ManifestTarget.Package, ChangeKind.Add, outcome.manifests.added);
|
|
39
49
|
this._collectManifestFromComparison(elements, ManifestTarget.Package, ChangeKind.Modify, outcome.manifests.modified);
|
|
40
50
|
// RATIONALE: InFile elements are not independently deployable; the
|
|
@@ -86,6 +96,12 @@ export default class InFileHandler extends StandardHandler {
|
|
|
86
96
|
}
|
|
87
97
|
}
|
|
88
98
|
}
|
|
99
|
+
async _keepsDestructiveChanges() {
|
|
100
|
+
if (this.changeType !== MODIFICATION)
|
|
101
|
+
return true;
|
|
102
|
+
const ignoreHelper = await buildIgnoreHelper(this.config);
|
|
103
|
+
return ignoreHelper.keep(`${DELETION}${TAB}${this.element.basePath}`);
|
|
104
|
+
}
|
|
89
105
|
_getQualifiedName() {
|
|
90
106
|
return `${getRootType(this.element.basePath)}${DOT}`;
|
|
91
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inFileHandler.js","sourceRoot":"","sources":["../../src/service/inFileHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inFileHandler.js","sourceRoot":"","sources":["../../src/service/inFileHandler.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sfdx-git-delta",
|
|
3
|
-
"version": "7.4.
|
|
3
|
+
"version": "7.4.4",
|
|
4
4
|
"description": "Generate the sfdx content in source format and destructive change from two git commits",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"salesforce",
|
|
@@ -48,37 +48,37 @@
|
|
|
48
48
|
"access": "public"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@oclif/core": "5.
|
|
52
|
-
"@salesforce/core": "9.2.
|
|
51
|
+
"@oclif/core": "5.1.2",
|
|
52
|
+
"@salesforce/core": "9.2.2",
|
|
53
53
|
"@salesforce/sf-plugins-core": "13.0.4",
|
|
54
|
-
"@salesforce/source-deploy-retrieve": "13.4.
|
|
54
|
+
"@salesforce/source-deploy-retrieve": "13.4.2",
|
|
55
55
|
"@scolladon/tsgit": "4.0.0",
|
|
56
|
-
"ignore": "7.0.
|
|
56
|
+
"ignore": "7.0.10",
|
|
57
57
|
"txml": "6.0.3",
|
|
58
58
|
"zod": "4.6.5"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@biomejs/biome": "2.5.14",
|
|
62
|
-
"@commitlint/cli": "21.2.
|
|
63
|
-
"@commitlint/config-conventional": "21.2.
|
|
62
|
+
"@commitlint/cli": "21.2.3",
|
|
63
|
+
"@commitlint/config-conventional": "21.2.3",
|
|
64
64
|
"@ls-lint/ls-lint": "2.3.1",
|
|
65
|
-
"@oclif/plugin-help": "7.0.
|
|
65
|
+
"@oclif/plugin-help": "7.0.2",
|
|
66
66
|
"@salesforce/cli-plugins-testkit": "5.3.66",
|
|
67
67
|
"@salesforce/dev-config": "4.3.3",
|
|
68
68
|
"@stryker-mutator/core": "10.0.0",
|
|
69
69
|
"@stryker-mutator/vitest-runner": "10.0.0",
|
|
70
|
-
"@types/node": "26.6.
|
|
71
|
-
"@vitest/coverage-v8": "5.0.
|
|
70
|
+
"@types/node": "26.6.3",
|
|
71
|
+
"@vitest/coverage-v8": "5.0.2",
|
|
72
72
|
"husky": "9.1.7",
|
|
73
|
-
"knip": "6.
|
|
74
|
-
"lint-staged": "17.
|
|
73
|
+
"knip": "6.38.0",
|
|
74
|
+
"lint-staged": "17.6.0",
|
|
75
75
|
"ls-engines": "0.10.1",
|
|
76
|
-
"oclif": "6.0.
|
|
76
|
+
"oclif": "6.0.2",
|
|
77
77
|
"pkg-pr-new": "0.0.88",
|
|
78
78
|
"shx": "0.4.0",
|
|
79
79
|
"typescript": "7.0.2",
|
|
80
80
|
"validate-branch-name": "1.3.2",
|
|
81
|
-
"vitest": "5.0.
|
|
81
|
+
"vitest": "5.0.2",
|
|
82
82
|
"wireit": "0.14.13"
|
|
83
83
|
},
|
|
84
84
|
"overrides": {
|
|
@@ -186,7 +186,8 @@
|
|
|
186
186
|
"**/biome.json",
|
|
187
187
|
"tsconfig.json",
|
|
188
188
|
"__tests__/tsconfig.json",
|
|
189
|
-
"tooling/tsconfig.json"
|
|
189
|
+
"tooling/tsconfig.json",
|
|
190
|
+
"__tests__/perf/tsconfig.json"
|
|
190
191
|
],
|
|
191
192
|
"output": [],
|
|
192
193
|
"dependencies": [
|
|
@@ -203,7 +204,8 @@
|
|
|
203
204
|
"**/biome.json",
|
|
204
205
|
"tsconfig.json",
|
|
205
206
|
"__tests__/tsconfig.json",
|
|
206
|
-
"tooling/tsconfig.json"
|
|
207
|
+
"tooling/tsconfig.json",
|
|
208
|
+
"__tests__/perf/tsconfig.json"
|
|
207
209
|
],
|
|
208
210
|
"output": [],
|
|
209
211
|
"dependencies": [
|
|
@@ -219,6 +221,7 @@
|
|
|
219
221
|
"tsconfig.json",
|
|
220
222
|
"__tests__/tsconfig.json",
|
|
221
223
|
"tooling/tsconfig.json",
|
|
224
|
+
"__tests__/perf/tsconfig.json",
|
|
222
225
|
"knip.config.ts"
|
|
223
226
|
],
|
|
224
227
|
"output": [],
|
|
@@ -245,7 +248,7 @@
|
|
|
245
248
|
"output": []
|
|
246
249
|
},
|
|
247
250
|
"lint:types": {
|
|
248
|
-
"command": "tsc -p tooling && tsc -p __tests__",
|
|
251
|
+
"command": "tsc -p tooling && tsc -p __tests__ && tsc -p __tests__/perf",
|
|
249
252
|
"files": [
|
|
250
253
|
"tooling/**",
|
|
251
254
|
"src/**/*.ts",
|
|
@@ -254,10 +257,14 @@
|
|
|
254
257
|
"tsconfig.json",
|
|
255
258
|
"__tests__/tsconfig.json",
|
|
256
259
|
"tooling/tsconfig.json",
|
|
260
|
+
"__tests__/perf/tsconfig.json",
|
|
257
261
|
"package.json",
|
|
258
262
|
"package-lock.json"
|
|
259
263
|
],
|
|
260
|
-
"output": []
|
|
264
|
+
"output": [],
|
|
265
|
+
"dependencies": [
|
|
266
|
+
"build"
|
|
267
|
+
]
|
|
261
268
|
},
|
|
262
269
|
"prepack": {
|
|
263
270
|
"command": "oclif manifest && oclif readme",
|
|
@@ -334,7 +341,8 @@
|
|
|
334
341
|
"perf-memory.json"
|
|
335
342
|
],
|
|
336
343
|
"dependencies": [
|
|
337
|
-
"build"
|
|
344
|
+
"build",
|
|
345
|
+
"lint:types"
|
|
338
346
|
]
|
|
339
347
|
},
|
|
340
348
|
"test:mutation": {
|