Last active
October 9, 2024 14:54
-
-
Save xixiaofinland/e22aad45caf67df33aeafae085810570 to your computer and use it in GitHub Desktop.
Salesforce SFDX Cheat Sheet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Proudly supplied by Salesforce Way Site: https://salesforceway.com | |
# This cheatsheet contains the most often used SFDX commands for beginners to get a jumpstart. | |
# Hint. it is highly recommended to use `-h` to check the usage of any SFDX commands and corresponding parameters. | |
# For instance, use `sfdx force:auth:web:login -h` to checke what `-d` `-a` parameters do | |
# List down all supported dx commands: | |
sfdx force:doc:commands:list | |
# Check current DebHub and Scratch Org status | |
sfdx force:org:list | |
# Log into DevHub via the web browser | |
sfdx force:auth:web:login -d -a DevHub | |
# Log out only specific org | |
sfdx force:auth:logout -u myOrg | |
# Log out all connected orgs | |
sfdx force:auth:logout -a --noprompt | |
# Set alias for a connected environment. Format: [alias=username] | |
sfdx force:alias:set [email protected] | |
# change password for a org with alias "tempTest" | |
sfdx force:user:password:generate -u tempTest | |
# Log into a sandbox environment | |
sfdx force:auth:web:login --setalias sandbox1 --instanceurl https://test.salesforce.com | |
# Set one Dev Hub as the default | |
# Note `defaultdevhubusername` can be either username or DevHub alias | |
sfdx force:config:set defaultdevhubusername=DevHub | |
# Create a scratch org with alias tempTest | |
sfdx force:org:create -s -f config/project-scratch-def.json -a tempTest | |
# Set an existing scratch org as default | |
sfdx force:config:set defaultusername=<username|alias> | |
# run the LTS tests constructed in the app named jasmineTests.app | |
sfdx force:lightning:test:run -a jasmineTests.app | |
# Open the scratch org with alias 'tempTest' in browser | |
sfdx force:org:open -u tempTest | |
# Open the default scratch org with lightning experience | |
sfdx force:org:open --path one/one.app | |
# Delete a scratch org with alias tempTest | |
# Note. `-u` accepts either an username or a scratch org alias | |
sfdx force:org:delete -u tempTest | |
# Create a project locally in folder MyProject | |
sfdx force:project:create -n MyProject | |
# Check changes between the scratch org and local project | |
sfdx force:source:status | |
# Pull changes from the associated scratch org | |
sfdx force:source:pull | |
# Retrieve an Apex class from the org by mdapi | |
sfdx force:source:retrieve --metadata ApexClass:MyNewClass | |
# Push changes from the associated scratch org | |
sfdx force:source:push | |
# Assign a permission set to the current logged in user | |
sfdx force:user:permset:assign -n myCustomPermSet | |
# Export some sample data from the scratch org | |
sfdx force:data:tree:export -q "SELECT Name, Location__Latitude__s, Location__Longitude__s FROM Account WHERE Location__Latitude__s != NULL AND Location__Longitude__s != NULL" -d ./data | |
# Import sample data to the current associated/default scratch org | |
sfdx force:data:tree:import --sobjecttreefiles data/Account.json | |
# Scaffold a lightning App structure | |
sfdx force:lightning:app:create -n AccountLocatorApp -d force-app/main/default/aura/ | |
# Scaffold a lightning component structure | |
sfdx force:lightning:component:create -n myComponent -d force-app/main/default/aura | |
# Scaffold a lightning event structure | |
sfdx force:lightning:event:create -n myEvent -d force-app/main/default/aura | |
# Install LTS testing framework | |
# More about LTS: https://forcedotcom.github.io/LightningTestingService/ | |
sfdx force:lightning:test:install | |
# Update sfdx version | |
sfdx update | |
# Convert source code to a package. Be ready to deploy to sandbox | |
sfdx force:source:convert -d mdapi/ --packagename package_name | |
# Deploy to connected environment without running test; wait 5mins for the report | |
sfdx force:mdapi:deploy -d mdapi/ -u xisb3 -l NoTestRun -w 5 | |
# Check connected environment deploying job result | |
sfdx force:mdapi:deploy:report | |
# Run all unit tests with code coverage statistics | |
sfdx force:apex:test:run -cy -l RunAllTestsInOrg -w 5 -r human | |
# assume a package.xml containing list of meta-data is in place, the goal is to retrieve meta-data from sandbox and conver to a DX format so we can save these metadata to git as well as push into scratch org | |
sfdx force:mdapi:retrieve -r retrieveCodeoutput -k package.xml -u sandbox1 | |
unzip retrieveCodeoutput/unpackaged.zip | |
# then move the unpacked folder to a DX project root path | |
sfdx force:mdapi:convert --rootdir unpackaged/ | |
# above command will convert metadata info and save to current DX project | |
# unlocked package related commands | |
# create package | |
sfdx force:package:create --name package_name --description "a unlocked package" --packagetype Unlocked --path force-app --nonamespace --targetdevhubusername DevHub | |
# create version | |
sfdx force:package:version:create -p package_name -d force-app -k password-to-protect-package --wait 30 -v DevHub | |
# promote the version so it can be installed in production org | |
sfdx force:package:version:promote --package ${packageVersionName} | |
# check if a version is already promoted | |
sfdx force:package:version:report --package ${packageVersionName} | |
# install unlocked package into an org | |
sfdx force:package:install --wait 30 --publishwait 30 --package ${packageVersionName} -k ${packagePassword} -r -u org_alias |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What a wonderful cheat sheet! Good job