sfciutils
v1.3.5
Published
Salesforce DX plugin for centralising utilities for CI/CD
Downloads
56
Readme
sfciutils
Salesforce DX plugin for centralising utilities for CI/CD
$ npm install -g sfciutils
$ sfdx COMMAND
running command...
$ sfdx (--version)
sfciutils/1.3.5 darwin-x64 node-v19.3.0
$ sfdx --help [COMMAND]
USAGE
$ sfdx COMMAND
...
sfdx ciutils:deployment:getDeploymentId [-p <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx ciutils:deployment:reportOnDeployment [-d <id>] [-f] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx ciutils:entitlement:removeIfEqual [-r <string>] [-u <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx ciutils:flow:removeIfEqual [-r <string>] [-u <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx ciutils:profiles:split -i <string> -o <string> [-d] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx ciutils:testclass:generateList [-p <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx ciutils:deployment:getDeploymentId [-p <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Analyses and returns the ID of a deployment request performed with sfdx.
USAGE
$ sfdx ciutils:deployment:getDeploymentId [-p <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-p, --path=<value> the path of the json file resulting
from sfdx force:source:deploy
command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
Analyses and returns the ID of a deployment request performed with sfdx.
EXAMPLES
$ sfdx ciutils:deployment:getDeloymentId --path [path to JSON result from sfdx force:source:deploy]
See code: src/commands/ciutils/deployment/getDeploymentId.ts
sfdx ciutils:deployment:reportOnDeployment [-d <id>] [-f] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Generates a report based on a deployment ID.
USAGE
$ sfdx ciutils:deployment:reportOnDeployment [-d <id>] [-f] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-d, --deploymentid=<value> The ID of the deployment to reprort
on
-f, --untildone will print status updates every 30s
until the deployment is finished
-u, --targetusername=<value> username or alias for the target
org; overrides default target org
--apiversion=<value> override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
Generates a report based on a deployment ID.
EXAMPLES
$ sfdx ciutils:deployment:reportOnDeployment --deploymentId [Id of a deployment]
See code: src/commands/ciutils/deployment/reportOnDeployment.ts
sfdx ciutils:entitlement:removeIfEqual [-r <string>] [-u <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
removes components from the deployment folder in case they already exist and are the same.
USAGE
$ sfdx ciutils:entitlement:removeIfEqual [-r <string>] [-u <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-r, --retrieved=<value> path to component retrieved from
destination org for comparison
-u, --toupload=<value> path to component that are going to
be deployed
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
removes components from the deployment folder in case they already exist and are the same.
EXAMPLES
$ sfdx ciutils:entitlement:removeIfEqual --retrieved --toupload
Class1,Class2,Class3
See code: src/commands/ciutils/entitlement/removeIfEqual.ts
sfdx ciutils:flow:removeIfEqual [-r <string>] [-u <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
removes components from the deployment folder in case they already exist and are the same.
USAGE
$ sfdx ciutils:flow:removeIfEqual [-r <string>] [-u <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-r, --retrieved=<value> path to component retrieved from
destination org for comparison
-u, --toupload=<value> path to component that are going to
be deployed
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
removes components from the deployment folder in case they already exist and are the same.
EXAMPLES
$ sfdx ciutils:entitlement:removeIfEqual --retrieved --toupload
Class1,Class2,Class3
See code: src/commands/ciutils/flow/removeIfEqual.ts
sfdx ciutils:profiles:split -i <string> -o <string> [-d] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Split profiles into smaller parts.
USAGE
$ sfdx ciutils:profiles:split -i <string> -o <string> [-d] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-d, --delete Delete the existing profiles once
converted?
-i, --input=<value> (required) [default:
force-app/main/default/profiles] the
input directory where the full
profiles exist.
-o, --output=<value> (required) [default:
force-app/main/default/profiles] the
output directory to store the
chunked profiles.
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
Split profiles into smaller parts.
EXAMPLES
sfdx metadata:profiles:split -i force-app/main/default/profiles -o force-app/main/default/test
//Splits profiles located in specified input dir and copies them into the output dir.
See code: src/commands/ciutils/profiles/split.ts
sfdx ciutils:testclass:generateList [-p <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
generates a comma separated string with all the names of test classes in the referred folder
USAGE
$ sfdx ciutils:testclass:generateList [-p <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-p, --path=<value> path to Apex classes
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
generates a comma separated string with all the names of test classes in the referred folder
EXAMPLES
$ sfdx ciutils:testclass:generateList --path
Class1,Class2,Class3
See code: src/commands/ciutils/testclass/generateList.ts
Debugging your plugin
We recommend using the Visual Studio Code (VS Code) IDE for your plugin development. Included in the .vscode
directory of this plugin is a launch.json
config file, which allows you to attach a debugger to the node process when running your commands.
To debug the hello:org
command:
- Start the inspector
If you linked your plugin to the sfdx cli, call your command with the dev-suspend
switch:
$ sfdx hello:org -u [email protected] --dev-suspend
Alternatively, to call your command using the bin/run
script, set the NODE_OPTIONS
environment variable to --inspect-brk
when starting the debugger:
$ NODE_OPTIONS=--inspect-brk bin/run hello:org -u [email protected]
- Set some breakpoints in your command code
- Click on the Debug icon in the Activity Bar on the side of VS Code to open up the Debug view.
- In the upper left hand corner of VS Code, verify that the "Attach to Remote" launch configuration has been chosen.
- Hit the green play button to the left of the "Attach to Remote" launch configuration window. The debugger should now be suspended on the first line of the program.
- Hit the green play button at the top middle of VS Code (this play button will be to the right of the play button that you clicked in step #5). Congrats, you are debugging!