@jayree/sfdx-plugin-manifest 3.3.28 → 3.4.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +3 -3
  3. package/lib/SDR-extra/collections/componentSetExtra.js +1 -1
  4. package/lib/SDR-extra/collections/componentSetExtra.js.map +1 -1
  5. package/lib/SDR-extra/resolve/gitDiffResolver.d.ts +4 -5
  6. package/lib/SDR-extra/resolve/gitDiffResolver.js +45 -160
  7. package/lib/SDR-extra/resolve/gitDiffResolver.js.map +1 -1
  8. package/lib/SDR-extra/resolve/treeContainersExtra.d.ts +1 -2
  9. package/lib/SDR-extra/resolve/treeContainersExtra.js +28 -15
  10. package/lib/SDR-extra/resolve/treeContainersExtra.js.map +1 -1
  11. package/lib/SDR-extra/utils/gitComponentSetArray.d.ts +25 -0
  12. package/lib/SDR-extra/utils/gitComponentSetArray.js +142 -0
  13. package/lib/SDR-extra/utils/gitComponentSetArray.js.map +1 -0
  14. package/lib/SDR-extra/utils/index.d.ts +1 -0
  15. package/lib/SDR-extra/utils/index.js +1 -0
  16. package/lib/SDR-extra/utils/index.js.map +1 -1
  17. package/lib/SDR-extra/utils/localGitRepo.d.ts +19 -23
  18. package/lib/SDR-extra/utils/localGitRepo.js +129 -129
  19. package/lib/SDR-extra/utils/localGitRepo.js.map +1 -1
  20. package/lib/SDR-extra/utils/moveDetection.d.ts +16 -0
  21. package/lib/SDR-extra/utils/moveDetection.js +137 -0
  22. package/lib/SDR-extra/utils/moveDetection.js.map +1 -0
  23. package/lib/SDR-extra/utils/statusMatrix.d.ts +10 -0
  24. package/lib/SDR-extra/utils/statusMatrix.js +78 -0
  25. package/lib/SDR-extra/utils/statusMatrix.js.map +1 -0
  26. package/lib/SDR-extra/utils/worthWalking.d.ts +1 -0
  27. package/lib/SDR-extra/utils/worthWalking.js +19 -0
  28. package/lib/SDR-extra/utils/worthWalking.js.map +1 -0
  29. package/lib/commands/jayree/manifest/git/diff.js +4 -1
  30. package/lib/commands/jayree/manifest/git/diff.js.map +1 -1
  31. package/lib/tsconfig.tsbuildinfo +1 -1
  32. package/npm-shrinkwrap.json +867 -416
  33. package/oclif.lock +335 -249
  34. package/oclif.manifest.json +1 -1
  35. package/package.json +6 -3
@@ -0,0 +1,137 @@
1
+ /*
2
+ * Copyright (c) 2023, jayree
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ // https://github.com/forcedotcom/source-tracking/blob/main/src/shared/local/moveDetection.ts
8
+ import path from 'node:path';
9
+ import { isUtf8 } from 'node:buffer';
10
+ import { Lifecycle } from '@salesforce/core';
11
+ import { MetadataResolver, VirtualTreeContainer, } from '@salesforce/source-deploy-retrieve';
12
+ import git from 'isomorphic-git';
13
+ import fs from 'graceful-fs';
14
+ import { isDefined } from '@salesforce/source-tracking/lib/shared/guards.js';
15
+ import { uniqueArrayConcat } from '@salesforce/source-tracking/lib/shared/functions.js';
16
+ import { IS_WINDOWS, ensurePosix, ensureWindows } from '@salesforce/source-tracking/lib/shared/local/functions.js';
17
+ import { buildMap } from '@salesforce/source-tracking/lib/shared/local/moveDetection.js';
18
+ const JOIN_CHAR = '#__#'; // the __ makes it unlikely to be used in metadata names
19
+ /** composed functions to simplified use by the shadowRepo class */
20
+ export const filenameMatchesToMap = (registry) => (projectPath) => (gitDir) => async ({ added, deleted }) => {
21
+ const resolver = new MetadataResolver(registry, VirtualTreeContainer.fromFilePaths(uniqueArrayConcat(added, deleted)));
22
+ return compareHashes(await buildMaps(addTypes(resolver)(await toFileInfo({
23
+ projectPath,
24
+ gitDir,
25
+ added,
26
+ deleted,
27
+ }))));
28
+ };
29
+ export const getLogMessage = (matches) => [
30
+ ...[...matches.fullMatches.entries()].map(([add, del]) => `The file ${IS_WINDOWS ? ensureWindows(del) : del} moved to ${IS_WINDOWS ? ensureWindows(add) : add} was ignored.`),
31
+ ...[...matches.deleteOnly.entries()].map(([add, del]) => `The file ${IS_WINDOWS ? ensureWindows(del) : del} moved to ${IS_WINDOWS ? ensureWindows(add) : add} and modified was processed.`),
32
+ ];
33
+ /** build maps of the add/deletes with filenames, returning the matches Logs if we can't make a match because buildMap puts them in the ignored bucket */
34
+ const buildMaps = async ({ addedInfo, deletedInfo }) => {
35
+ const [addedMap, addedIgnoredMap] = buildMap(addedInfo);
36
+ const [deletedMap, deletedIgnoredMap] = buildMap(deletedInfo);
37
+ // If we detected any files that have the same basename and hash, emit a warning and send telemetry
38
+ // These files will still show up as expected in the `sf project deploy preview` output
39
+ // We could add more logic to determine and display filepaths that we ignored...
40
+ // but this is likely rare enough to not warrant the added complexity
41
+ // Telemetry will help us determine how often this occurs
42
+ if (addedIgnoredMap.size || deletedIgnoredMap.size) {
43
+ const message = 'Files were found that have the same basename, hash, metadata type, and parent.';
44
+ const lifecycle = Lifecycle.getInstance();
45
+ await Promise.all([lifecycle.emitWarning(message)]);
46
+ }
47
+ return { addedMap, deletedMap };
48
+ };
49
+ /**
50
+ * builds a map of the values from both maps
51
+ * side effect: mutates the passed-in maps!
52
+ */
53
+ const compareHashes = ({ addedMap, deletedMap }) => {
54
+ const matches = new Map([...addedMap.entries()]
55
+ .map(([addedKey, addedValue]) => {
56
+ const deletedValue = deletedMap.get(addedKey);
57
+ if (deletedValue) {
58
+ // these are an exact basename + hash match + parent + type
59
+ deletedMap.delete(addedKey);
60
+ addedMap.delete(addedKey);
61
+ return [addedValue, deletedValue];
62
+ }
63
+ })
64
+ .filter(isDefined));
65
+ if (addedMap.size && deletedMap.size) {
66
+ // the remaining deletes didn't match the basename+hash of an add, and vice versa.
67
+ // They *might* match the basename,type,parent of an add, in which case we *could* have the "move, then edit" case.
68
+ const addedMapNoHash = new Map([...addedMap.entries()].map(removeHashFromEntry));
69
+ const deletedMapNoHash = new Map([...deletedMap.entries()].map(removeHashFromEntry));
70
+ const deleteOnly = new Map(Array.from(deletedMapNoHash.entries())
71
+ .filter(([k]) => addedMapNoHash.has(k))
72
+ .map(([k, v]) => [addedMapNoHash.get(k), v]));
73
+ return { fullMatches: matches, deleteOnly };
74
+ }
75
+ return { fullMatches: matches, deleteOnly: new Map() };
76
+ };
77
+ /** enrich the filenames with basename and oid (hash) */
78
+ const toFileInfo = async ({ projectPath, gitDir, added, deleted, }) => {
79
+ const headRef = await git.resolveRef({ fs, dir: projectPath, gitdir: gitDir, ref: 'HEAD' });
80
+ const [addedInfo, deletedInfo] = await Promise.all([
81
+ await Promise.all(Array.from(added).map(getHashForAddedFile(projectPath))),
82
+ await Promise.all(Array.from(deleted).map(getHashFromActualFileContents(gitDir)(projectPath)(headRef))),
83
+ ]);
84
+ return { addedInfo, deletedInfo };
85
+ };
86
+ const getHashForAddedFile = (projectPath) => async (filepath) => {
87
+ const autocrlf = (await git.getConfig({
88
+ fs,
89
+ dir: projectPath,
90
+ path: 'core.autocrlf',
91
+ }));
92
+ let object = await fs.promises.readFile(path.join(projectPath, filepath));
93
+ if (autocrlf === 'true' && isUtf8(object)) {
94
+ object = Buffer.from(object.toString('utf8').replace(/\r\n/g, '\n'));
95
+ }
96
+ return {
97
+ filename: filepath,
98
+ basename: path.basename(filepath),
99
+ hash: (await git.hashBlob({ object })).oid,
100
+ };
101
+ };
102
+ const resolveType = (resolver) => (filenames) => filenames
103
+ .flatMap((filename) => {
104
+ try {
105
+ return resolver.getComponentsFromPath(filename);
106
+ }
107
+ catch (e) {
108
+ return undefined;
109
+ }
110
+ })
111
+ .filter(isDefined);
112
+ /** where we don't have git objects to use, read the file contents to generate the hash */
113
+ const getHashFromActualFileContents = (gitdir) => (projectPath) => (oid) => async (filepath) => ({
114
+ filename: filepath,
115
+ basename: path.basename(filepath),
116
+ hash: (await git.readBlob({ fs, dir: projectPath, gitdir, filepath: IS_WINDOWS ? ensurePosix(filepath) : filepath, oid })).oid,
117
+ });
118
+ const removeHashFromEntry = ([k, v]) => [removeHashFromKey(k), v];
119
+ const removeHashFromKey = (hash) => hash.split(JOIN_CHAR).splice(1).join(JOIN_CHAR);
120
+ /** resolve the metadata types (and possibly parent components) */
121
+ const addTypes = (resolver) => (info) => {
122
+ // quick passthrough if we don't have adds and deletes
123
+ if (!info.addedInfo.length || !info.deletedInfo.length)
124
+ return { addedInfo: [], deletedInfo: [] };
125
+ const applied = getTypesForFileInfo(resolveType(resolver));
126
+ return {
127
+ addedInfo: info.addedInfo.flatMap(applied),
128
+ deletedInfo: info.deletedInfo.flatMap(applied),
129
+ };
130
+ };
131
+ const getTypesForFileInfo = (appliedResolver) => (fileInfo) => appliedResolver([fileInfo.filename]).map((c) => ({
132
+ ...fileInfo,
133
+ type: c.type.name,
134
+ parentType: c.parent?.type.name ?? '',
135
+ parentFullName: c.parent?.fullName ?? '',
136
+ }));
137
+ //# sourceMappingURL=moveDetection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moveDetection.js","sourceRoot":"","sources":["../../../src/SDR-extra/utils/moveDetection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,6FAA6F;AAC7F,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAGhB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,+DAA+D,CAAC;AAQzF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,wDAAwD;AAclF,mEAAmE;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,CAAC,QAAwB,EAAE,EAAE,CAC7B,CAAC,WAAmB,EAAE,EAAE,CACxB,CAAC,MAAc,EAAE,EAAE,CACnB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAA4B,EAAiC,EAAE;IACpF,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CACnC,QAAQ,EACR,oBAAoB,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CACtE,CAAC;IAEF,OAAO,aAAa,CAClB,MAAM,SAAS,CACb,QAAQ,CAAC,QAAQ,CAAC,CAChB,MAAM,UAAU,CAAC;QACf,WAAW;QACX,MAAM;QACN,KAAK;QACL,OAAO;KACR,CAAC,CACH,CACF,CACF,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAA6B,EAAY,EAAE,CAAC;IACxE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACvC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CACb,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CACrH;IACD,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACtC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CACb,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,8BAA8B,CACpI;CACF,CAAC;AAEF,0JAA0J;AAC1J,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAkC,EAA6B,EAAE;IAChH,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE9D,mGAAmG;IACnG,uFAAuF;IACvF,gFAAgF;IAChF,qEAAqE;IACrE,yDAAyD;IACzD,IAAI,eAAe,CAAC,IAAI,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,gFAAgF,CAAC;QACjG,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAoB,EAAwB,EAAE;IACzF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;SACpB,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;QAC9B,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACjB,2DAA2D;YAC3D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,UAAU,EAAE,YAAY,CAAU,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,SAAS,CAAC,CACrB,CAAC;IAEF,IAAI,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACrC,kFAAkF;QAClF,mHAAmH;QACnH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,CAAC,CAAC,CAAC,CACzD,CAAC;QACF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,EAAkB,EAAE,CAAC;AACzE,CAAC,CAAC;AAEF,yDAAyD;AACzD,MAAM,UAAU,GAAG,KAAK,EAAE,EACxB,WAAW,EACX,MAAM,EACN,KAAK,EACL,OAAO,GAMR,EAAkC,EAAE;IACnC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1E,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACxG,CAAC,CAAC;IACH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GACvB,CAAC,WAAmB,EAAE,EAAE,CACxB,KAAK,EAAE,QAAgB,EAA8B,EAAE;IACrD,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC;QACpC,EAAE;QACF,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,eAAe;KACtB,CAAC,CAAW,CAAC;IAEd,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1E,IAAI,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG;KAC3C,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,WAAW,GACf,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,SAAmB,EAAqB,EAAE,CACzC,SAAS;KACN,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;KACD,MAAM,CAAC,SAAS,CAAC,CAAC;AAEzB,0FAA0F;AAC1F,MAAM,6BAA6B,GACjC,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,WAAmB,EAAE,EAAE,CACxB,CAAC,GAAW,EAAE,EAAE,CAChB,KAAK,EAAE,QAAgB,EAA8B,EAAE,CAAC,CAAC;IACvD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjC,IAAI,EAAE,CACJ,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CACnH,CAAC,GAAG;CACN,CAAC,CAAC;AAEL,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAmB,EAAoB,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtG,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEpG,kEAAkE;AAClE,MAAM,QAAQ,GACZ,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAA2B,EAAkC,EAAE;IAC9D,sDAAsD;IACtD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAClG,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;KAC/C,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,mBAAmB,GACvB,CAAC,eAA2D,EAAE,EAAE,CAChE,CAAC,QAA2B,EAA+B,EAAE,CAC3D,eAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,GAAG,QAAQ;IACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;IACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE;CACzC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { StatusRow } from 'isomorphic-git';
2
+ export declare function statusMatrix({ dir, gitdir, ref1, ref2, filepaths, filter, ignored: shouldIgnore, }: {
3
+ dir: string;
4
+ gitdir?: string;
5
+ ref1: string;
6
+ ref2?: string;
7
+ filepaths?: string[];
8
+ filter?: ((arg0: string) => boolean) | undefined;
9
+ ignored?: boolean;
10
+ }): Promise<StatusRow[]>;
@@ -0,0 +1,78 @@
1
+ /*
2
+ * Copyright (c) 2023, jayree
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ // https://github.com/isomorphic-git/isomorphic-git/blob/main/src/api/statusMatrix.js
8
+ import fs from 'node:fs/promises';
9
+ import { join } from 'node:path';
10
+ import { STAGE } from 'isomorphic-git';
11
+ import { TREE } from 'isomorphic-git';
12
+ import { WORKDIR } from 'isomorphic-git';
13
+ import { walk as _walk } from 'isomorphic-git';
14
+ import { isIgnored as _isIgnored } from 'isomorphic-git';
15
+ import { worthWalking } from './worthWalking.js';
16
+ export async function statusMatrix({ dir, gitdir = join(dir, '.git'), ref1 = 'HEAD', ref2, filepaths = ['.'], filter, ignored: shouldIgnore = false, }) {
17
+ return _walk({
18
+ fs,
19
+ dir,
20
+ gitdir,
21
+ trees: [TREE({ ref: ref1 }), ref2 ? TREE({ ref: ref2 }) : WORKDIR(), ref2 ? TREE({ ref: ref2 }) : STAGE()],
22
+ // eslint-disable-next-line complexity
23
+ async map(filepath, [head, workdir, stage]) {
24
+ // Ignore ignored files, but only if they are not already tracked.
25
+ if (!head && !stage && workdir) {
26
+ if (!shouldIgnore) {
27
+ const isIgnored = await _isIgnored({
28
+ fs,
29
+ dir,
30
+ filepath,
31
+ });
32
+ if (isIgnored) {
33
+ return null;
34
+ }
35
+ }
36
+ }
37
+ // match against base paths
38
+ if (!filepaths.some((base) => worthWalking(filepath, base))) {
39
+ return null;
40
+ }
41
+ // Late filter against file names
42
+ if (filter) {
43
+ if (!filter(filepath))
44
+ return;
45
+ }
46
+ const [headType, workdirType, stageType] = await Promise.all([head?.type(), workdir?.type(), stage?.type()]);
47
+ const isBlob = [headType, workdirType, stageType].includes('blob');
48
+ // For now, bail on directories unless the file is also a blob in another tree
49
+ if ((headType === 'tree' || headType === 'special') && !isBlob)
50
+ return;
51
+ if (headType === 'commit')
52
+ return null;
53
+ if ((workdirType === 'tree' || workdirType === 'special') && !isBlob)
54
+ return;
55
+ if (stageType === 'commit')
56
+ return null;
57
+ if ((stageType === 'tree' || stageType === 'special') && !isBlob)
58
+ return;
59
+ // Figure out the oids for files, using the staged oid for the working dir oid if the stats match.
60
+ const headOid = headType === 'blob' ? await head?.oid() : undefined;
61
+ const stageOid = stageType === 'blob' ? await stage?.oid() : undefined;
62
+ let workdirOid;
63
+ if (headType !== 'blob' && workdirType === 'blob' && stageType !== 'blob') {
64
+ // We don't actually NEED the sha. Any sha will do
65
+ // TODO: update this logic to handle N trees instead of just 3.
66
+ workdirOid = '42';
67
+ }
68
+ else if (workdirType === 'blob') {
69
+ workdirOid = await workdir?.oid();
70
+ }
71
+ const entry = [undefined, headOid, workdirOid, stageOid];
72
+ const result = entry.map((value) => entry.indexOf(value));
73
+ result.shift(); // remove leading undefined entry
74
+ return [filepath, ...result];
75
+ },
76
+ });
77
+ }
78
+ //# sourceMappingURL=statusMatrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusMatrix.js","sourceRoot":"","sources":["../../../src/SDR-extra/utils/statusMatrix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const worthWalking: (filepath: string, root: string) => boolean;
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright (c) 2023, jayree
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ // https://github.com/isomorphic-git/isomorphic-git/blob/main/src/utils/worthWalking.js
8
+ export const worthWalking = (filepath, root) => {
9
+ if (filepath === '.' || root == null || root.length === 0 || root === '.') {
10
+ return true;
11
+ }
12
+ if (root.length >= filepath.length) {
13
+ return root.startsWith(filepath);
14
+ }
15
+ else {
16
+ return filepath.startsWith(root);
17
+ }
18
+ };
19
+ //# sourceMappingURL=worthWalking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worthWalking.js","sourceRoot":"","sources":["../../../src/SDR-extra/utils/worthWalking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAW,EAAE;IACtE,IAAI,QAAQ,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC"}
@@ -78,7 +78,10 @@ export default class GitDiffCommand extends SfCommand {
78
78
  ref: [args.ref1, args.ref2],
79
79
  fsPaths: flags['source-dir'],
80
80
  });
81
- this.componentSet.sourceApiVersion = flags['api-version'] ?? (await this.getSourceApiVersion());
81
+ if (flags['api-version']) {
82
+ this.componentSet.apiVersion = flags['api-version'];
83
+ this.componentSet.sourceApiVersion = flags['api-version'];
84
+ }
82
85
  if (this.outputDir) {
83
86
  await fs.ensureDir(this.outputDir);
84
87
  this.outputPath = join(this.outputDir, this.manifestName);
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../../../src/commands/jayree/manifest/git/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../../../src/commands/jayree/manifest/git/diff.ts"],"names":[],"mappings":"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"}