sfdx-git-delta 5.0.7 → 5.1.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/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/lib/utils/childProcessUtils.d.ts +2 -1
- package/lib/utils/childProcessUtils.js +9 -1
- package/lib/utils/childProcessUtils.js.map +1 -1
- package/lib/utils/cliHelper.d.ts +2 -1
- package/lib/utils/cliHelper.js +24 -8
- package/lib/utils/cliHelper.js.map +1 -1
- package/lib/utils/gitConstants.d.ts +1 -0
- package/lib/utils/gitConstants.js +1 -0
- package/lib/utils/gitConstants.js.map +1 -1
- package/lib/utils/packageConstructor.js +3 -2
- package/lib/utils/packageConstructor.js.map +1 -1
- package/lib/utils/repoSetup.d.ts +0 -1
- package/lib/utils/repoSetup.js +4 -18
- package/lib/utils/repoSetup.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [5.1.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.0.7...v5.1.0) (2022-03-30)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* verify `--from` and `--to` parameters to be valid git pointer ([#248](https://github.com/scolladon/sfdx-git-delta/issues/248)) ([6c8accc](https://github.com/scolladon/sfdx-git-delta/commit/6c8accc8adfaaaf76c0ed298a14a3feb7de5ecd8))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* use more robust comparison for package.xml generation ([#279](https://github.com/scolladon/sfdx-git-delta/issues/279)) ([f028375](https://github.com/scolladon/sfdx-git-delta/commit/f0283753fc0fbcfec7c242f40913515aea306466))
|
|
16
|
+
|
|
5
17
|
### [5.0.7](https://github.com/scolladon/sfdx-git-delta/compare/v5.0.6...v5.0.7) (2022-03-29)
|
|
6
18
|
|
|
7
19
|
|
package/README.md
CHANGED
|
@@ -181,7 +181,7 @@ OPTIONS
|
|
|
181
181
|
this command invocation
|
|
182
182
|
```
|
|
183
183
|
|
|
184
|
-
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.0
|
|
184
|
+
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.1.0/src/commands/sgd/source/delta.ts)_
|
|
185
185
|
<!-- commandsstop -->
|
|
186
186
|
|
|
187
187
|
### Windows users
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export function getStreamContent(stream: any): Promise<string>;
|
|
2
|
+
export function linify(stream: any): AsyncGenerator<string, void, unknown>;
|
|
1
3
|
export function treatPathSep(data: any): any;
|
|
2
4
|
export function sanitizePath(data: any): any;
|
|
3
|
-
export function linify(stream: any): AsyncGenerator<string, void, unknown>;
|
|
@@ -18,7 +18,15 @@ async function* linify(stream) {
|
|
|
18
18
|
yield previous;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
const getStreamContent = async (stream) => {
|
|
22
|
+
const content = [];
|
|
23
|
+
for await (const chunk of stream.stdout) {
|
|
24
|
+
content.push(chunk);
|
|
25
|
+
}
|
|
26
|
+
return content.join('');
|
|
27
|
+
};
|
|
28
|
+
module.exports.getStreamContent = getStreamContent;
|
|
29
|
+
module.exports.linify = linify;
|
|
21
30
|
module.exports.treatPathSep = treatPathSep;
|
|
22
31
|
module.exports.sanitizePath = sanitizePath;
|
|
23
|
-
module.exports.linify = linify;
|
|
24
32
|
//# sourceMappingURL=childProcessUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childProcessUtils.js","sourceRoot":"","sources":["../../src/utils/childProcessUtils.js"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE1C,MAAM,QAAQ,GAAG,QAAQ,CAAA;AAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AACzD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAC1B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5E,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM;IAC3B,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,QAAQ,IAAI,KAAK,CAAA;QACjB,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxC,OAAO,QAAQ,IAAI,CAAC,EAAE;YACpB,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YACjC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YACvC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SACrC;KACF;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,QAAQ,CAAA;KACf;AACH,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"childProcessUtils.js","sourceRoot":"","sources":["../../src/utils/childProcessUtils.js"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE1C,MAAM,QAAQ,GAAG,QAAQ,CAAA;AAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AACzD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAC1B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5E,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM;IAC3B,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,QAAQ,IAAI,KAAK,CAAA;QACjB,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxC,OAAO,QAAQ,IAAI,CAAC,EAAE;YACpB,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YACjC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YACvC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SACrC;KACF;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,QAAQ,CAAA;KACf;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;IACtC,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QACvC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACpB;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;AAClD,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;AAC9B,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;AAC1C,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA"}
|
package/lib/utils/cliHelper.d.ts
CHANGED
|
@@ -8,9 +8,10 @@ declare class CLIHelper {
|
|
|
8
8
|
constructor(config: any);
|
|
9
9
|
config: any;
|
|
10
10
|
repoSetup: RepoSetup;
|
|
11
|
+
_validateGitSha(): Promise<any[]>;
|
|
11
12
|
validateConfig(): Promise<void>;
|
|
12
13
|
_filterDirectories(): Promise<any>;
|
|
13
14
|
_filterFiles(): Promise<any>;
|
|
14
|
-
_sanitizeConfig():
|
|
15
|
+
_sanitizeConfig(): void;
|
|
15
16
|
}
|
|
16
17
|
import RepoSetup = require("./repoSetup");
|
package/lib/utils/cliHelper.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
const asyncFilter = require('./asyncFilter');
|
|
3
3
|
const RepoSetup = require('./repoSetup');
|
|
4
|
-
const { sanitizePath } = require('./childProcessUtils');
|
|
5
|
-
const { GIT_FOLDER } = require('./gitConstants');
|
|
4
|
+
const { sanitizePath, getStreamContent } = require('./childProcessUtils');
|
|
5
|
+
const { COMMIT_REF_TYPE, GIT_FOLDER } = require('./gitConstants');
|
|
6
|
+
const { spawn } = require('child_process');
|
|
6
7
|
const { stat } = require('fs').promises;
|
|
7
8
|
const { join } = require('path');
|
|
8
9
|
const fsExists = async (dir, fn) => {
|
|
@@ -19,17 +20,31 @@ const fileExists = async (file) => await fsExists(file, 'isFile');
|
|
|
19
20
|
const isGit = async (dir) => {
|
|
20
21
|
return await dirExists(join(dir, GIT_FOLDER));
|
|
21
22
|
};
|
|
23
|
+
const commitCheckParams = ['cat-file', '-t'];
|
|
24
|
+
const isBlank = str => !str || /^\s*$/.test(str);
|
|
22
25
|
class CLIHelper {
|
|
23
26
|
constructor(config) {
|
|
24
27
|
this.config = config;
|
|
25
28
|
this.repoSetup = new RepoSetup(config);
|
|
26
29
|
}
|
|
30
|
+
async _validateGitSha() {
|
|
31
|
+
const errors = [];
|
|
32
|
+
await Promise.all(['to', 'from']
|
|
33
|
+
.filter(field => !isBlank(this.config[field]) ||
|
|
34
|
+
errors.push(`--${field} is blank: '${this.config[field]}'`))
|
|
35
|
+
.map(async (field) => {
|
|
36
|
+
const refType = await getStreamContent(spawn('git', [...commitCheckParams, this.config[field]], {
|
|
37
|
+
cwd: this.config.repo,
|
|
38
|
+
}));
|
|
39
|
+
if ((refType === null || refType === void 0 ? void 0 : refType.replace(/\s/g, '')) !== COMMIT_REF_TYPE) {
|
|
40
|
+
errors.push(`--${field} is not a valid sha pointer: '${this.config[field]}'`);
|
|
41
|
+
}
|
|
42
|
+
}));
|
|
43
|
+
return errors;
|
|
44
|
+
}
|
|
27
45
|
async validateConfig() {
|
|
28
|
-
|
|
46
|
+
this._sanitizeConfig();
|
|
29
47
|
const errors = [];
|
|
30
|
-
if (typeof this.config.to !== 'string') {
|
|
31
|
-
errors.push(`to ${this.config.to} is not a sha`);
|
|
32
|
-
}
|
|
33
48
|
if (isNaN(this.config.apiVersion)) {
|
|
34
49
|
errors.push(`api-version ${this.config.apiVersion} is not a number`);
|
|
35
50
|
}
|
|
@@ -45,6 +60,8 @@ class CLIHelper {
|
|
|
45
60
|
if (!isGitRepo) {
|
|
46
61
|
errors.push(`${this.config.repo} is not a git repository`);
|
|
47
62
|
}
|
|
63
|
+
const gitErrors = await this._validateGitSha();
|
|
64
|
+
errors.push(...gitErrors);
|
|
48
65
|
const isToEqualHead = await isToEqualHeadPromise;
|
|
49
66
|
if (!isToEqualHead && this.config.generateDelta) {
|
|
50
67
|
errors.push(`--generate-delta (-d) parameter cannot be used when --to (-t) parameter is not equivalent to HEAD`);
|
|
@@ -71,14 +88,13 @@ class CLIHelper {
|
|
|
71
88
|
return !exist;
|
|
72
89
|
});
|
|
73
90
|
}
|
|
74
|
-
|
|
91
|
+
_sanitizeConfig() {
|
|
75
92
|
this.config.apiVersion = parseInt(this.config.apiVersion);
|
|
76
93
|
this.config.repo = sanitizePath(this.config.repo);
|
|
77
94
|
this.config.source = sanitizePath(this.config.source);
|
|
78
95
|
this.config.output = sanitizePath(this.config.output);
|
|
79
96
|
this.config.ignore = sanitizePath(this.config.ignore);
|
|
80
97
|
this.config.ignoreDestructive = sanitizePath(this.config.ignoreDestructive);
|
|
81
|
-
this.config.from = await this.repoSetup.computeFromRef();
|
|
82
98
|
this.config.include = sanitizePath(this.config.include);
|
|
83
99
|
this.config.includeDestructive = sanitizePath(this.config.includeDestructive);
|
|
84
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliHelper.js","sourceRoot":"","sources":["../../src/utils/cliHelper.js"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AACxC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"cliHelper.js","sourceRoot":"","sources":["../../src/utils/cliHelper.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitConstants.js","sourceRoot":"","sources":["../../src/utils/gitConstants.js"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA;AAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA;AAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAA;AACjC,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG,QAAQ,CAAA;AAC7C,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAA;AAClC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAA;AAC1B,MAAM,CAAC,OAAO,CAAC,wBAAwB,GAAG;IACxC,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,iCAAiC;CAClC,CAAA;AACD,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAA;AACzB,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAA"}
|
|
1
|
+
{"version":3,"file":"gitConstants.js","sourceRoot":"","sources":["../../src/utils/gitConstants.js"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA;AAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA;AAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAA;AACjC,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAA;AACzC,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG,QAAQ,CAAA;AAC7C,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAA;AAClC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAA;AAC1B,MAAM,CAAC,OAAO,CAAC,wBAAwB,GAAG;IACxC,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,iCAAiC;CAClC,CAAA;AACD,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAA;AACzB,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
const { create } = require('xmlbuilder2');
|
|
3
3
|
const xmlConf = { indent: ' ', newline: '\n', prettyPrint: true };
|
|
4
|
+
const frLocale = 'fr';
|
|
4
5
|
module.exports = class PackageConstructor {
|
|
5
6
|
constructor(config, metadata) {
|
|
6
7
|
this.config = config;
|
|
@@ -22,7 +23,7 @@ module.exports = class PackageConstructor {
|
|
|
22
23
|
.forEach(metadataType => {
|
|
23
24
|
var _a, _b;
|
|
24
25
|
return [...strucDiffPerType.get(metadataType)]
|
|
25
|
-
.sort()
|
|
26
|
+
.sort(Intl.Collator(frLocale).compare)
|
|
26
27
|
.reduce((type, member) => {
|
|
27
28
|
type.ele('members').txt(member);
|
|
28
29
|
return type;
|
|
@@ -40,6 +41,6 @@ const sortTypesWithMetadata = metadata => (x, y) => {
|
|
|
40
41
|
return -1; // @deprecated To remove when the order will not impact the result of the deployment
|
|
41
42
|
const xMeta = (_b = (_a = metadata.get(x)) === null || _a === void 0 ? void 0 : _a.xmlName) !== null && _b !== void 0 ? _b : x;
|
|
42
43
|
const yMeta = (_d = (_c = metadata.get(y)) === null || _c === void 0 ? void 0 : _c.xmlName) !== null && _d !== void 0 ? _d : y;
|
|
43
|
-
return
|
|
44
|
+
return new Intl.Collator(frLocale).compare(xMeta, yMeta);
|
|
44
45
|
};
|
|
45
46
|
//# sourceMappingURL=packageConstructor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageConstructor.js","sourceRoot":"","sources":["../../src/utils/packageConstructor.js"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AACzC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"packageConstructor.js","sourceRoot":"","sources":["../../src/utils/packageConstructor.js"],"names":[],"mappings":"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"}
|
package/lib/utils/repoSetup.d.ts
CHANGED
package/lib/utils/repoSetup.js
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
const { getStreamContent } = require('./childProcessUtils');
|
|
2
3
|
const { spawn } = require('child_process');
|
|
3
4
|
const HEAD = 'HEAD';
|
|
4
5
|
const revparseParams = ['rev-parse'];
|
|
5
|
-
const revlistParams = ['rev-list', '--max-parents=0', HEAD];
|
|
6
6
|
const gitConfig = ['config', 'core.quotepath', 'off'];
|
|
7
|
-
const _getStreamContent = async (stream) => {
|
|
8
|
-
const content = [];
|
|
9
|
-
for await (const chunk of stream) {
|
|
10
|
-
content.push(chunk);
|
|
11
|
-
}
|
|
12
|
-
return content.join('');
|
|
13
|
-
};
|
|
14
7
|
class RepoSetup {
|
|
15
8
|
constructor(config) {
|
|
16
9
|
this.config = config;
|
|
@@ -22,19 +15,12 @@ class RepoSetup {
|
|
|
22
15
|
if (this.config.to === HEAD) {
|
|
23
16
|
return true;
|
|
24
17
|
}
|
|
25
|
-
const headSHA = await
|
|
26
|
-
const toSHA = await
|
|
18
|
+
const headSHA = await getStreamContent(spawn('git', [...revparseParams, HEAD], this.spawnConfig));
|
|
19
|
+
const toSHA = await getStreamContent(spawn('git', [...revparseParams, this.config.to], this.spawnConfig));
|
|
27
20
|
return toSHA === headSHA;
|
|
28
21
|
}
|
|
29
22
|
async repoConfiguration() {
|
|
30
|
-
await
|
|
31
|
-
}
|
|
32
|
-
async computeFromRef() {
|
|
33
|
-
let firstCommitSHA = this.config.from;
|
|
34
|
-
if (!firstCommitSHA) {
|
|
35
|
-
firstCommitSHA = await _getStreamContent(spawn('git', revlistParams, this.spawnConfig).stdout);
|
|
36
|
-
}
|
|
37
|
-
return firstCommitSHA;
|
|
23
|
+
await getStreamContent(spawn('git', gitConfig, this.spawnConfig));
|
|
38
24
|
}
|
|
39
25
|
}
|
|
40
26
|
module.exports = RepoSetup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repoSetup.js","sourceRoot":"","sources":["../../src/utils/repoSetup.js"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"repoSetup.js","sourceRoot":"","sources":["../../src/utils/repoSetup.js"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAE1C,MAAM,IAAI,GAAG,MAAM,CAAA;AAEnB,MAAM,cAAc,GAAG,CAAC,WAAW,CAAC,CAAA;AACpC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAA;AAErD,MAAM,SAAS;IACb,YAAY,MAAM;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG;YACjB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;SACtB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAC1D,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CACpE,CAAA;QAED,OAAO,KAAK,KAAK,OAAO,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;IACnE,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA"}
|
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"5.0
|
|
1
|
+
{"version":"5.1.0","commands":{"sgd:source:delta":{"id":"sgd:source:delta","description":"Generate the sfdx content in source format and destructive change from two git commits","usage":"<%= command.id %> -f <string> [-t <string>] [-r <filepath>] [-i <filepath>] [-D <filepath>] [-s <filepath>] [-W] [-o <filepath>] [-a <number>] [-d] [-n <filepath>] [-N <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"sfdx-git-delta","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"format output as json","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"},"to":{"name":"to","type":"option","char":"t","description":"commit sha to where the diff is done","default":"HEAD"},"from":{"name":"from","type":"option","char":"f","description":"commit sha from where the diff is done [git rev-list --max-parents=0 HEAD]","required":true},"repo":{"name":"repo","type":"option","char":"r","description":"git repository location","default":"."},"ignore":{"name":"ignore","type":"option","char":"i","description":"file listing paths to explicitly ignore for any diff actions"},"ignore-destructive":{"name":"ignore-destructive","type":"option","char":"D","description":"file listing paths to explicitly ignore for any destructive actions"},"source":{"name":"source","type":"option","char":"s","description":"source folder focus location related to --repo","default":"."},"ignore-whitespace":{"name":"ignore-whitespace","type":"boolean","char":"W","description":"ignore git diff whitespace (space, tab, eol) changes","allowNo":false},"output":{"name":"output","type":"option","char":"o","description":"source package specific output","default":"./output"},"api-version":{"name":"api-version","type":"option","char":"a","description":"salesforce API version","default":54},"generate-delta":{"name":"generate-delta","type":"boolean","char":"d","description":"generate delta files in [--output] folder","allowNo":false},"include":{"name":"include","type":"option","char":"n","description":"file listing paths to explicitly include for any diff actions"},"include-destructive":{"name":"include-destructive","type":"option","char":"N","description":"file listing paths to explicitly include for any destructive actions"}},"args":[]}}}
|