@jayree/sfdx-plugin-manifest 3.6.23 → 3.6.25

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 CHANGED
@@ -1,3 +1,21 @@
1
+ ## [3.6.25](https://github.com/jayree/sfdx-plugin-manifest/compare/3.6.24...3.6.25) (2025-01-05)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **deps:** bump @salesforce/source-tracking from 7.3.4 to 7.3.5 ([#1608](https://github.com/jayree/sfdx-plugin-manifest/issues/1608)) ([f09379d](https://github.com/jayree/sfdx-plugin-manifest/commit/f09379d989899ab75a6e9ba95006386981105ab1))
7
+
8
+
9
+
10
+ ## [3.6.24](https://github.com/jayree/sfdx-plugin-manifest/compare/3.6.23...3.6.24) (2024-12-29)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **deps:** bump @salesforce/source-deploy-retrieve ([#1606](https://github.com/jayree/sfdx-plugin-manifest/issues/1606)) ([60e0a66](https://github.com/jayree/sfdx-plugin-manifest/commit/60e0a665550b24356242c2456f7b651e9f0fcad6))
16
+
17
+
18
+
1
19
  ## [3.6.23](https://github.com/jayree/sfdx-plugin-manifest/compare/3.6.22...3.6.23) (2024-12-21)
2
20
 
3
21
 
package/README.md CHANGED
@@ -7,24 +7,76 @@ A Salesforce CLI plugin containing commands for creating manifest files from Sal
7
7
  [![Downloads/week](https://img.shields.io/npm/dw/@jayree/sfdx-plugin-manifest.svg)](https://npmjs.org/package/@jayree/sfdx-plugin-manifest)
8
8
  [![License](https://img.shields.io/badge/License-BSD%203--Clause-brightgreen.svg)](https://raw.githubusercontent.com/jayree/sfdx-plugin-manifest/main/LICENSE.txt)
9
9
 
10
- ## Install
10
+ ## Introduction
11
11
 
12
- ```bash
13
- sf plugins:install @jayree/sfdx-plugin-manifest
14
- ```
12
+ `@jayree/sfdx-plugin-manifest` is a Salesforce CLI plugin and Node.js library designed to streamline metadata management and deployment processes. By leveraging Salesforce's native [@salesforce/source-deploy-retrieve](https://github.com/forcedotcom/source-deploy-retrieve) toolkit and [@salesforce/source-tracking](https://github.com/forcedotcom/source-tracking), it ensures compatibility with Salesforce standards. The plugin is particularly effective for incremental deployments and Git-based change tracking, making it a valuable tool for modern Salesforce development workflows.
13
+
14
+ ## Key Features
15
+
16
+ - **Dual Integration**: Use it as a Salesforce CLI plugin or integrate it into Node.js applications for programmatic workflows.
17
+ - **Native Compatibility**: Built on `@salesforce/source-deploy-retrieve` and `@salesforce/source-tracking`, ensuring alignment with Salesforce's Metadata API standards. Unlike tools with custom metadata handling, this plugin leverages native frameworks for reliability.
18
+ - **Git-Enhanced Deployments**: Simplifies deployment processes by analyzing Git changes and generating precise manifests.
19
+ - **Automated Manifest Creation**: Automatically generate [package.xml](https://trailhead.salesforce.com/en/content/learn/modules/package-xml/package-xml-adventure) files for streamlined deployments.
20
+ - **Intelligent File Tracking**: Detects and excludes renamed or moved files for accurate metadata tracking.
21
+
22
+ ## Why Use @jayree/sfdx-plugin-manifest?
23
+
24
+ Managing Salesforce metadata across teams and environments can be challenging. This plugin simplifies workflows by automating manifest creation and focusing on incremental deployments based on Git changes. It is ideal for:
25
+
26
+ - **Collaborative Development**: Streamlines workflows for teams sharing metadata repositories.
27
+ - **CI/CD Pipelines**: Ensures accurate and efficient deployments in automated pipelines.
28
+ - **Error Reduction**: Automates tasks prone to manual errors, like manifest creation.
29
+
30
+ ## Comparison with sfdx-git-delta
31
+
32
+ Both `@jayree/sfdx-plugin-manifest` and `sfdx-git-delta` are tools designed to simplify Salesforce metadata deployments. However, their **technological basis** differs:
33
+
34
+ - `@jayree/sfdx-plugin-manifest` is built on Salesforce's native [@salesforce/source-deploy-retrieve](https://github.com/forcedotcom/source-deploy-retrieve), ensuring full compatibility with Salesforce Metadata API standards.
35
+ - `sfdx-git-delta` uses custom metadata handling mechanisms, which are not directly tied to Salesforce's native APIs and frameworks, potentially introducing additional complexity.
36
+
37
+ By prioritizing native compatibility and programmatic flexibility, `@jayree/sfdx-plugin-manifest` offers a reliable solution for modern Salesforce development. While both tools are specialized for CI/CD workflows, `sfdx-git-delta` provides additional support for a small number of specific edge use cases.
38
+
39
+ ## Installation
15
40
 
16
41
  > **Note:**
17
42
  >
18
- > The `jayree manifest git diff` command uses the `isomorphic-git` module, which does not support system or global git configurations. Windows users who have `autocrlf` enabled need to set this configuration locally in the repository to enhance the performance of the command.
43
+ > The `jayree manifest git diff` command and the `SDR-extra` library use the `isomorphic-git` module, which does not support system-wide or global Git configurations. If you are a Windows user with `autocrlf` enabled, you must set this configuration locally within your repository to ensure optimal performance.
19
44
  >
20
- > To do this, execute the following command in your repository:
45
+ > To configure it, run the following command in your repository:
21
46
  >
22
47
  > ```powershell
23
48
  > git config --local core.autocrlf true
24
49
  > ```
25
50
 
51
+ ### As a Salesforce CLI Plugin
26
52
 
53
+ Install the plugin using the Salesforce CLI:
27
54
 
55
+ ```bash
56
+ sf plugins install @jayree/sfdx-plugin-manifest
57
+ ```
58
+
59
+ ### As a Node.js Module
60
+
61
+ Add the library to your Node.js project:
62
+
63
+ ```bash
64
+ npm install @jayree/sfdx-plugin-manifest
65
+ ```
66
+
67
+ Initialize a Component Set from Git Commits:
68
+
69
+ ```typescript
70
+ import { ComponentSetExtra } from '@jayree/sfdx-plugin-manifest/lib/SDR-extra/index.js';
71
+
72
+ (async () => {
73
+ const fromSingleCommit = await ComponentSetExtra.fromGitDiff(['HEAD~1']);
74
+ const fromMultipleCommits = await ComponentSetExtra.fromGitDiff([
75
+ 'commit1',
76
+ 'HEAD'
77
+ ]);
78
+ })();
79
+ ```
28
80
 
29
81
  ## Commands
30
82
 
@@ -60,7 +112,7 @@ EXAMPLES
60
112
  $ sf jayree manifest cleanup --manifest=package.xml --file=packageignore.xml
61
113
  ```
62
114
 
63
- _See code: [src/commands/jayree/manifest/cleanup.ts](https://github.com/jayree/sfdx-plugin-manifest/blob/3.6.23/src/commands/jayree/manifest/cleanup.ts)_
115
+ _See code: [src/commands/jayree/manifest/cleanup.ts](https://github.com/jayree/sfdx-plugin-manifest/blob/3.6.25/src/commands/jayree/manifest/cleanup.ts)_
64
116
 
65
117
  ### `sf jayree manifest generate`
66
118
 
@@ -98,7 +150,7 @@ EXAMPLES
98
150
  <Package xmlns='http://soap.sforce.com/2006/04/metadata'>...</Package>
99
151
  ```
100
152
 
101
- _See code: [src/commands/jayree/manifest/generate.ts](https://github.com/jayree/sfdx-plugin-manifest/blob/3.6.23/src/commands/jayree/manifest/generate.ts)_
153
+ _See code: [src/commands/jayree/manifest/generate.ts](https://github.com/jayree/sfdx-plugin-manifest/blob/3.6.25/src/commands/jayree/manifest/generate.ts)_
102
154
 
103
155
  ### `sf jayree manifest git diff REF1 [REF2]`
104
156
 
@@ -181,7 +233,7 @@ FLAG DESCRIPTIONS
181
233
  The location can be an absolute path or relative to the current working directory.
182
234
  ```
183
235
 
184
- _See code: [src/commands/jayree/manifest/git/diff.ts](https://github.com/jayree/sfdx-plugin-manifest/blob/3.6.23/src/commands/jayree/manifest/git/diff.ts)_
236
+ _See code: [src/commands/jayree/manifest/git/diff.ts](https://github.com/jayree/sfdx-plugin-manifest/blob/3.6.25/src/commands/jayree/manifest/git/diff.ts)_
185
237
  <!-- commandsstop -->
186
238
 
187
239
  ## Performance Testing