sfdx-hardis
Presented at Dreamforce 23 and Dreamforce 24!
Upgrade now to sfdx-hardis v5 !
Toolbox for Salesforce DX, by Cloudity & friends, natively compliant with most platforms and tools.
It will allow you to:
- Do with simple commands what could be done manually in minutes/hours
- Define a ready to use CI/CD Pipeline for your Salesforce project
- Backup Metadatas and monitor any Salesforce org
Please see the full list of commands in Online documentation
sfdx-hardis commands are also available with UI in SFDX Hardis Visual Studio Code Extension
See Dreamforce presentation
Installation
With IDE
You can install Visual Studio Code extension VsCode SFDX Hardis
Once installed, click on in VsCode left bar, and follow the additional installation instructions
As SFDX Plugin
Pre-requisites
- Install Node.js (recommended version)
- Install Salesforce DX by running
npm install @salesforce/cli --global
command line
Plugin installation
sf plugins install sfdx-hardis
For advanced use, please also install dependencies
sf plugins install @salesforce/plugin-packaging
sf plugins install sfdmu
sf plugins install sfdx-git-delta
sf plugins install texei-sfdx-plugin
If you are using CI/CD scripts, use echo y | sf plugins install ...
to bypass prompt.
Docker
You can use sfdx-hardis docker images to run in CI
-
Docker Hub
- hardisgroupcom/sfdx-hardis:latest (with latest @salesforce/cli version)
- hardisgroupcom/sfdx-hardis:latest-sfdx-recommended (with recommended @salesforce/cli version, in case the latest version of @salesforce/cli is buggy)
- GitHub Packages (ghcr.io)
- ghcr.io/hardisgroupcom/sfdx-hardis:latest (with latest @salesforce/cli version)
- ghcr.io/hardisgroupcom/sfdx-hardis:latest-sfdx-recommended (with recommended @salesforce/cli version, in case the latest version of @salesforce/cli is buggy)
See Dockerfile
Usage
sf hardis:<COMMAND> <OPTIONS>
Articles
Here are some articles about sfdx-hardis
- English
- French
Contributing
Everyone is welcome to contribute to sfdx-hardis (even juniors: we'll assist you !)
- Install Node.js (recommended version)
- Install typescript by running
npm install typescript --global
- Install yarn by running
npm install yarn --global
- Install Salesforce DX by running
npm install @salesforce/cli --global
command line - Fork this repo and clone it (or just clone if you are an internal contributor)
- At the root of the repository:
- Run
yarn
to install dependencies - Run
sf plugins link
to link the local sfdx-hardis to SFDX CLI - Run
tsc --watch
to transpile typescript into js everytime you update a TS file
- Run
- Debug commands using
NODE_OPTIONS=--inspect-brk sf hardis:somecommand -someparameter somevalue
Dependencies
sfdx-hardis partially relies on the following SFDX Open-Source packages
Contributors
Commands
hardis:auth
Command | Title |
---|---|
hardis:auth:login |
hardis:cache
Command | Title |
---|---|
hardis:cache:clear |
hardis:config
Command | Title |
---|---|
hardis:config:get |
hardis:doc
Command | Title |
---|---|
hardis:doc:extract:permsetgroups | |
hardis:doc:packagexml2markdown | |
hardis:doc:plugin:generate | |
hardis:doc:project2markdown |
hardis:git
Command | Title |
---|---|
hardis:git:pull-requests:extract |
hardis:lint
Command | Title |
---|---|
hardis:lint:access | |
hardis:lint:metadatastatus | |
hardis:lint:missingattributes | |
hardis:lint:unusedmetadatas |
hardis:mdapi
Command | Title |
---|---|
hardis:mdapi:deploy |
hardis:misc
Command | Title |
---|---|
hardis:misc:purge-references | |
hardis:misc:toml2csv |
hardis:org
hardis:package
Command | Title |
---|---|
hardiscreate | |
hardisinstall | |
hardismergexml | |
hardisversion:create | |
hardisversion:list | |
hardisversion:promote |
hardis:packagexml
Command | Title |
---|---|
hardis:packagexml:append | |
hardis:packagexml:remove |
hardis:project
hardis:scratch
hardis:source
Command | Title |
---|---|
hardis:source:deploy | |
hardis:source:push | |
hardis:source:retrieve |
hardis:work
Command | Title |
---|---|
hardis:work:new | |
hardis:work:refresh | |
hardis:work:resetselection | |
hardis:work:save | |
hardis:work:ws |
hello:world
Command | Title |
---|---|
hello:world |