Skip to content

sfdx-hardis by Cloudity Banner

sfdx-hardis

Presented at Dreamforce 23 and Dreamforce 24!

Upgrade now to sfdx-hardis v5 !

Version Downloads/week Downloads/total Docker Pulls GitHub stars GitHub contributors Mega-Linter Secured with Trivy License PRs Welcome

Toolbox for Salesforce DX, by Cloudity & friends, natively compliant with most platforms and tools.

Native Integrations

It will allow you to:

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

VsCode SFDX Hardis


See Dreamforce presentation

See Dreamforce presentation

Installation

With IDE

You can install Visual Studio Code extension VsCode SFDX Hardis

Once installed, click on Hardis Group button in VsCode left bar, and follow the additional installation instructions

Installation tutorial


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

See Dockerfile

Usage

sf hardis:<COMMAND> <OPTIONS>

Articles

Here are some articles about sfdx-hardis

  • English

Conga Deployment Cheat Sheet Questions/Answers Salesforce Developers Podcast sfdx-hardis: A release management tool for open-source Assisted solving of Salesforce deployments errors Handle Salesforce API versions Deprecation like a pro How to mass download notes and attachments files from a Salesforce org How to freeze / unfreeze users during a Salesforce deployment How to detect bad words in Salesforce records using SFDX Data Loader and sfdx-hardis Reactivate all the sandbox users with .invalid emails in 3 clicks Invalid scope:Mine, not allowed ? Deploy your ListViews anyway !

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
  • 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:deploy

Command Title
hardis:deploy:quick
hardis:deploy:start
hardis:deploy:validate

hardis:doc

Command Title
hardis:doc:extract:permsetgroups
hardis:doc:flow2markdown
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

Command Title
hardis:org:community:update
hardis:org:configure:data
hardis:org:configure:files
hardis:org:configure:monitoring
hardis:org:connect
hardis:org:create
hardis:org:data:delete
hardis:org:data:export
hardis:org:data:import
hardis:org:diagnose:audittrail
hardis:org:diagnose:instanceupgrade
hardis:org:diagnose:legacyapi
hardis:org:diagnose:licenses
hardis:org:diagnose:releaseupdates
hardis:org:diagnose:unused-apex-classes
hardis:org:diagnose:unused-connected-apps
hardis:org:diagnose:unusedlicenses
hardis:org:diagnose:unusedusers
hardis:org:files:export
hardis:org:files:import
hardis:org:fix:listviewmine
hardis:org:generate:packagexmlfull
hardis:org:monitor:all
hardis:org:monitor:backup
hardis:org:monitor:limits
hardis:org:multi-org-query
hardis:org:purge:apexlog
hardis:org:purge:flow
hardis:org:retrieve:packageconfig
hardis:org:retrieve:sources:analytics
hardis:org:retrieve:sources:dx
hardis:org:retrieve:sources:dx2
hardis:org:retrieve:sources:metadata
hardis:org:retrieve:sources:retrofit
hardis:org:select
hardis:org:test:apex
hardis:org:user:activateinvalid
hardis:org:user:freeze
hardis:org:user:unfreeze

hardis:package

Command Title
hardis📦create
hardis📦install
hardis📦mergexml
hardis📦version:create
hardis📦version:list
hardis📦version:promote

hardis:packagexml

Command Title
hardis:packagexml:append
hardis:packagexml:remove

hardis:project

Command Title
hardis:project:audit:apiversion
hardis:project:audit:callincallout
hardis:project:audit:duplicatefiles
hardis:project:audit:remotesites
hardis:project:clean:emptyitems
hardis:project:clean:filter-xml-content
hardis:project:clean:flowpositions
hardis:project:clean:hiddenitems
hardis:project:clean:listviews
hardis:project:clean:manageditems
hardis:project:clean:minimizeprofiles
hardis:project:clean:orgmissingitems
hardis:project:clean:references
hardis:project:clean:retrievefolders
hardis:project:clean:sensitive-metadatas
hardis:project:clean:standarditems
hardis:project:clean:systemdebug
hardis:project:clean:xml
hardis:project:configure:auth
hardis:project:convert:profilestopermsets
hardis:project:create
hardis:project:deploy:quick
hardis:project:deploy:simulate
hardis:project:deploy:smart
hardis:project:deploy:sources:dx
hardis:project:deploy:sources:metadata
hardis:project:deploy:start
hardis:project:deploy:validate
hardis:project:fix:profiletabs
hardis:project:fix:v53flexipages
hardis:project:generate:flow-git-diff
hardis:project:generate:gitdelta
hardis:project:lint
hardis:project:metadata:findduplicates

hardis:scratch

Command Title
hardis:scratch:create
hardis:scratch:delete
hardis:scratch:pool:create
hardis:scratch:pool:localauth
hardis:scratch:pool:refresh
hardis:scratch:pool:reset
hardis:scratch:pool:view
hardis:scratch:pull
hardis:scratch:push

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