A Salesforce CLI plugin containing commands to generate and compare sfdx source snapshot files or manipulate local source tracking.
npm install @jayree/sfdx-plugin-sourceA Salesforce CLI plugin containing commands to generate and compare sfdx source snapshot files.





``bash`
sfdx plugins:install @jayree/sfdx-plugin-source
* sfdx jayree project compare snapshot
* sfdx jayree project fix
* sfdx jayree project generate snapshot
* sfdx jayree project list tracking
* sfdx jayree project store tracking get
* sfdx jayree project store tracking set
Compare sfdx source snapshot files.
`
USAGE
$ sfdx jayree project compare snapshot [--json] [--flags-dir
FLAGS
--filepath=
GLOBAL FLAGS
--flags-dir=
--json Format output as json.
ALIASES
$ sfdx jayree source snapshot compare
`
_See code: src/commands/jayree/project/compare/snapshot.ts_
Fix retrieved metadata.
`
USAGE
$ sfdx jayree project fix [--json] [--flags-dir
FLAGS
-o, --target-org=
-t, --task=
GLOBAL FLAGS
--flags-dir=
--json Format output as json.
ALIASES
$ sfdx jayree source fix
`
_See code: src/commands/jayree/project/fix.ts_
Generate sfdx source snapshot files.
`
USAGE
$ sfdx jayree project generate snapshot [--json] [--flags-dir
FLAGS
--filepath=
GLOBAL FLAGS
--flags-dir=
--json Format output as json.
ALIASES
$ sfdx jayree source snapshot generate
`
_See code: src/commands/jayree/project/generate/snapshot.ts_
List changes in a scratch org by remote revision counter number.
`
USAGE
$ sfdx jayree project list tracking -o
FLAGS
-o, --target-org=
configuration variable is already set.
-r, --revision=
--api-version=
GLOBAL FLAGS
--flags-dir=
--json Format output as json.
ALIASES
$ sfdx jayree source tracking list
EXAMPLES
$ sfdx jayree:source:tracking:list
$ sfdx jayree:source:tracking:list -u me@my.org
$ sfdx jayree:source:tracking:list -u me@my.org -r 101
`
_See code: src/commands/jayree/project/list/tracking.ts_
Get stored revision counter number.
`
USAGE
$ sfdx jayree project store tracking get -o
FLAGS
-o, --target-org=
configuration variable is already set.
GLOBAL FLAGS
--flags-dir=
--json Format output as json.
ALIASES
$ sfdx jayree source tracking store get
EXAMPLES
$ sfdx jayree:source:tracking:store:get
$ sfdx jayree:source:tracking:store:get -u me@my.org
`
_See code: src/commands/jayree/project/store/tracking/get.ts_
Store revision counter number.
`
USAGE
$ sfdx jayree project store tracking set -o
FLAGS
-o, --target-org=
configuration variable is already set.
-r, --revision=
--api-version=
GLOBAL FLAGS
--flags-dir=
--json Format output as json.
ALIASES
$ sfdx jayree source tracking store set
EXAMPLES
$ sfdx jayree:source:tracking:store:set
$ sfdx jayree:source:tracking:store:set -u me@my.org
$ sfdx jayree:source:tracking:store:set -u MyTestOrg1 -r 101
`
_See code: src/commands/jayree/project/store/tracking/set.ts_
- Resets source tracking using force:source:tracking:reset before executing force:source:pull or project:retrieve:start.
> _IMPORTANT:_ This hook will only run if SFDX_ENABLE_JAYREE_HOOKS_RESET_BEFORE_PULL=true is set. It uses the stored serverMaxRevisionCounter as revision counter number (see: jayree:source:tracking:store:set). If the hook doesn't find a stored value it asks if the current local revision counter number should be stored and used.
- Disables the prettierFormat hook. See sfdx-plugin-prettier for more details.
- Applies source fixes of the jayree project fix command, deletes and moves source files to separate package directories. See the configuration file sfdx-project.json for examples. Set "isActive": true,´ to apply this fix during scopedPostRetrieve hook.
> _IMPORTANT:_ Since the hook is not able to update the (JSON) output of the command, an additional output is generated. Set the environment variable SFDX_ENABLE_JAYREE_HOOKS_JSON_OUTPUT=true and additional comma-separated JSON output will be appended, where the output must be parsed as an array, e.g. `JSON.parse([${stdout}]). See an example below:
`javascript
import execa from "execa";
import { CliUx } from "@oclif/core";
async function run() {
const { stdout } = await execa("sfdx", [
"force:source:retrieve",
"--metadata",
"Group:*",
"--json"
]);
const parsedStdout = JSON.parse([${stdout}]);
CliUx.ux.styledJSON(
parsedStdout.length > 1
? {
...parsedStdout[0],
result: {
...parsedStdout[0].result,
fixedFiles: parsedStdout[1].fixedFiles
}
}
: parsedStdout[0]
);
}
run();
`
- Calls prettierFormat` hook. See sfdx-plugin-prettier for more details.