@jayree/sfdx-plugin-manifest 2.7.4 → 2.8.1

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 (33) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +83 -66
  3. package/lib/SDR-extra/utils/localGitRepo.js +1 -1
  4. package/lib/SDR-extra/utils/localGitRepo.js.map +1 -1
  5. package/lib/commands/jayree/manifest/beta/git/diff.d.ts +8 -6
  6. package/lib/commands/jayree/manifest/beta/git/diff.js +11 -11
  7. package/lib/commands/jayree/manifest/beta/git/diff.js.map +1 -1
  8. package/lib/commands/jayree/manifest/cleanup.d.ts +11 -9
  9. package/lib/commands/jayree/manifest/cleanup.js +78 -18
  10. package/lib/commands/jayree/manifest/cleanup.js.map +1 -1
  11. package/lib/commands/jayree/manifest/generate.d.ts +18 -11
  12. package/lib/commands/jayree/manifest/generate.js +57 -48
  13. package/lib/commands/jayree/manifest/generate.js.map +1 -1
  14. package/lib/commands/jayree/manifest/git/diff.d.ts +17 -11
  15. package/lib/commands/jayree/manifest/git/diff.js +479 -55
  16. package/lib/commands/jayree/manifest/git/diff.js.map +1 -1
  17. package/messages/{gitdiffbeta.md → gitdiff.md} +7 -0
  18. package/messages/manifestcleanup.md +21 -0
  19. package/messages/manifestgenerate.md +43 -0
  20. package/oclif.manifest.json +121 -262
  21. package/package.json +19 -20
  22. package/lib/jayreeSfdxCommand.d.ts +0 -8
  23. package/lib/jayreeSfdxCommand.js +0 -26
  24. package/lib/jayreeSfdxCommand.js.map +0 -1
  25. package/lib/utils/gitdiff.d.ts +0 -57
  26. package/lib/utils/gitdiff.js +0 -442
  27. package/lib/utils/gitdiff.js.map +0 -1
  28. package/lib/utils/manifest.d.ts +0 -1
  29. package/lib/utils/manifest.js +0 -66
  30. package/lib/utils/manifest.js.map +0 -1
  31. package/messages/gitdiff.json +0 -12
  32. package/messages/manifestcleanup.json +0 -6
  33. package/messages/manifestgenerate.json +0 -16
@@ -1,66 +0,0 @@
1
- /*
2
- * Copyright (c) 2022, 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
- import { CliUx } from '@oclif/core';
8
- import fs from 'fs-extra';
9
- import { ensureArray } from '@salesforce/kit';
10
- import { XMLParser, XMLBuilder } from 'fast-xml-parser';
11
- import { XML_DECL, XML_NS_KEY, XML_NS_URL } from '@salesforce/source-deploy-retrieve/lib/src/common/index.js';
12
- function parseManifest(xmlData) {
13
- const parser = new XMLParser({ stopNodes: ['version'], parseTagValue: false });
14
- const { Package: { types, version }, } = parser.parse(xmlData);
15
- const packageTypeMembers = ensureArray(types);
16
- return { packageTypeMembers, version };
17
- }
18
- function js2Manifest(jsData) {
19
- const js2Xml = new XMLBuilder({ format: true, indentBy: ' ', ignoreAttributes: false });
20
- jsData.Package[XML_NS_KEY] = XML_NS_URL;
21
- return XML_DECL.concat(js2Xml.build(jsData));
22
- }
23
- export async function cleanupManifestFile(manifest, ignoreManifest) {
24
- const { packageTypeMembers: manifestTypeMembers, version } = parseManifest(fs.readFileSync(manifest, 'utf8'));
25
- CliUx.ux.log(`apply '${ignoreManifest}' to '${manifest}'`);
26
- const typeMap = new Map();
27
- manifestTypeMembers.forEach((value) => {
28
- typeMap.set(value.name, ensureArray(value.members));
29
- });
30
- const { packageTypeMembers: ignoreTypeMembers } = parseManifest(fs.readFileSync(ignoreManifest, 'utf8'));
31
- ignoreTypeMembers.forEach((types) => {
32
- if (typeMap.get(types.name)) {
33
- const packageTypeMembers = ensureArray(types.members);
34
- if (packageTypeMembers.includes('*') && packageTypeMembers.length > 1) {
35
- const includemembers = packageTypeMembers.slice();
36
- includemembers.splice(includemembers.indexOf('*'), 1);
37
- const includedmembers = typeMap.get(types.name).filter((value) => includemembers.includes(value));
38
- if (includedmembers.length) {
39
- CliUx.ux.log('include only members ' + includedmembers.toString() + ' for type ' + types.name);
40
- typeMap.set(types.name, includedmembers);
41
- }
42
- }
43
- if (packageTypeMembers.includes('*') && packageTypeMembers.length === 1) {
44
- CliUx.ux.log('exclude all members for type ' + types.name);
45
- typeMap.delete(types.name);
46
- }
47
- if (!packageTypeMembers.includes('*')) {
48
- const includedmembers = typeMap.get(types.name).filter((value) => !packageTypeMembers.includes(value));
49
- typeMap.set(types.name, includedmembers);
50
- }
51
- packageTypeMembers.forEach((member) => {
52
- if (member.startsWith('!')) {
53
- typeMap.get(types.name).push(member.substring(1));
54
- }
55
- });
56
- }
57
- });
58
- const typeMembers = [];
59
- for (const [typeName, members] of typeMap.entries()) {
60
- if (members.length) {
61
- typeMembers.push({ name: typeName, members });
62
- }
63
- }
64
- await fs.writeFile(manifest, js2Manifest({ Package: { types: typeMembers, version } }));
65
- }
66
- //# sourceMappingURL=manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/utils/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- {
2
- "commandDescription": "create a manifest and destructiveChanges manifest using 'git diff' data\nUse this command to create a manifest and destructiveChanges manifest file based on the difference (git diff) of two git refs.\n\nYou can use all ways to spell <commit> which are valid for 'git diff'.\n(See https://git-scm.com/docs/git-diff)",
3
- "examples": [
4
- "$ sfdx jayree:manifest:git:diff <commit> <commit>\n$ sfdx jayree:manifest:git:diff <commit>..<commit>\nuses the changes between two arbitrary <commit>",
5
- "$ sfdx jayree:manifest:git:diff <commit>...<commit>\nuses the changes on the branch containing and up to the second <commit>, starting at a common ancestor of both <commit>.",
6
- "$ sfdx jayree:manifest:git:diff branchA..branchB\nuses the diff of what is unique in branchB (REF2) and unique in branchA (REF1)",
7
- "$ sfdx jayree:manifest:git:diff branchA...branchB\nuses the diff of what is unique in branchB (REF2)"
8
- ],
9
- "outputdir": "directory to save the created manifest files",
10
- "sourcepath": "comma-separated list of source file paths to limit the diff",
11
- "destructivechangesonly": "create a destructiveChanges manifest only (package.xml will be empty)"
12
- }
@@ -1,6 +0,0 @@
1
- {
2
- "commandDescription": "removes those tags from a manifest file that are present in a second manifest file\nUse this command to remove components or metadata types from a manifes file.\nIf the 'cleanup' manifest file (--file) doesn't exist, a template file is created, which can then be modified.",
3
- "manifestFlagDescription": "path to the manifest file",
4
- "fileFlagDescription": "path to the second 'cleanup' manifest file",
5
- "examples": ["$ sfdx jayree:manifest:cleanup --manifest=package.xml --file=packageignore.xml"]
6
- }
@@ -1,16 +0,0 @@
1
- {
2
- "commandDescription": "generate a complete manifest file form the specified org\nUse this command to generate a manifest file based on an existing org.",
3
- "configFlagDescription": "path to config file",
4
- "quickfilterFlagDescription": "csv separated list of metadata type, member or file names to filter on",
5
- "matchCaseFlagDescription": "enable 'match case' for the quickfilter",
6
- "matchWholeWordFlagDescription": "enable 'match whole word' for the quickfilter",
7
- "fileFlagDescription": "write to 'file' instead of stdout",
8
- "excludeManagedFlagDescription": "exclude managed packages from output",
9
- "excludeAllFlagDescription": "exclude all packages from output",
10
- "includeflowversionsDescription": "include flow versions as with api version 43.0",
11
- "examples": [
12
- "$ sfdx jayree:manifest:generate --targetusername myOrg@example.com",
13
- "<?xml version='1.0' encoding='UTF-8'?>",
14
- "<Package xmlns='http://soap.sforce.com/2006/04/metadata'>...</Package>"
15
- ]
16
- }