
Security News
Nx npm Packages Compromised in Supply Chain Attack Weaponizing AI CLI Tools
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
@mavens/sfdx-commands
Advanced tools
Miscellaneous collection of handy SFDX commands, brought to you by Mavens (っ▀¯▀)つ
Miscellaneous collection of handy SFDX commands
$ sfdx plugins:install @mavens/sfdx-commands
mavens:ci:lcov
Generating an lcov.info
file based on sfdx test results, consumeable by tools like Coveralls.
$ sfdx mavens:ci:lcov --rootdir="." --targetusername rene-levesque@example.com
Generating the lcov.info file... done
Here's a sample .travis.yaml
configuration file, when used alongside Travis CI:
node_js: "7"
before_script:
# [insert here sfdx installation & login]
- npm install coveralls -g
- echo y | sfdx plugins:install @mavens/sfdx-commands
script:
- sfdx force:org:create --setdefaultusername --definitionfile scratchdef.json --setalias ci
- sfdx force:source:push
- mkdir coverage
- sfdx force:apex:test:run --codecoverage --testlevel=RunLocalTests --resultformat=json --outputdir=coverage
- sfdx mavens:ci:lcov
- sfdx force:org:delete --noprompt
- cat ./coverage/lcov.info | coveralls
mavens:ci:replace
Used to find and replace files within a directory and sub directories, using pre-defined environment variables.
These can be exported from your resource file, a .env
file (refer to dotenv documentation), via your CI configuration...
$ sfdx mavens:ci:replace --rootdir=packages --targetusername celine-dion@example.com
1 files updated... done
You must have a .mavens.yaml
configuration file, with the replace
key defined:
replace:
- VAULT_ENDPOINT
- VAULT_USERNANE
- VAULT_PASSWORD
Any metadata containing (such as this sample packages/force-app/main/default/namedCredentials/Vault_MVN.namedCredential-meta.xml
) containing ${VAULT_ENDPOINT}
:
<?xml version="1.0" encoding="UTF-8"?>
<NamedCredential xmlns="http://soap.sforce.com/2006/04/metadata">
<allowMergeFieldsInBody>true</allowMergeFieldsInBody>
<allowMergeFieldsInHeader>true</allowMergeFieldsInHeader>
<endpoint>${VAULT_ENDPOINT}</endpoint>
<generateAuthorizationHeader>false</generateAuthorizationHeader>
<label>Vault</label>
<principalType>NamedUser</principalType>
<protocol>Password</protocol>
<username>${VAULT_USERNANE}</username>
<password>${VAULT_PASSWORD}</password>
</NamedCredential>
Will be replaced to look like the following:
<?xml version="1.0" encoding="UTF-8"?>
<NamedCredential xmlns="http://soap.sforce.com/2006/04/metadata">
<allowMergeFieldsInBody>true</allowMergeFieldsInBody>
<allowMergeFieldsInHeader>true</allowMergeFieldsInHeader>
<endpoint>https://sb-customer-medcomms.veevavault.com</endpoint>
<generateAuthorizationHeader>false</generateAuthorizationHeader>
<label>Vault</label>
<principalType>NamedUser</principalType>
<protocol>Password</protocol>
<username>integration@mavens.com</username>
<password>[placeholder]</password>
</NamedCredential>
mavens:manifest:generate
$ sfdx mavens:manifest:generate --targetusername celine-dion@example.com
Describing metadata types... 103 types retrieved.
Listing metadata members... done
Metadata Type | Count
─────────────────────────── | ─────
ActionLinkGroupTemplate | 0
AnalyticSnapshot | 0
AnimationRule | 0
ApexClass | 1076
...
TopicsForObjects | 338
Translations | 30
Workflow | 32
Generating package.xml... done
mavens:schema:dictionaries
Generates field dictionaries from Salesforce objects, using the Metadata API.
$ sfdx mavens:schema:dictionaries --outputdir=packages --targetusername celine-dion@example.com
=== Retrieving Salesforce Object fields from Metadata API
Querying objects from 4/4... done
=== Salesforce Object Fields Retrieved
OBJECT FIELD COUNT
──────────────────────────────── ───────────
Account 66
Case 125
Congres_MVN__c 10
PersonAccount 0
User 10
=== Salesforce Object Fields Retrieved
Generating Field Dictionaries... 4 files written.
You must have a .mavens.yaml
configuration file, with the schema.dictionaries.sobjects
key defined:
schema:
dictionaries:
sobjects:
- Account
- Case
- Congress_MVN__c
- PersonAccount
- User
file_format: split # options: split | unique (default: split)
CSV files will be created in your --outputdir
.
dictionaries
├── Account.csv
├── Case.csv
├── Congress_MVN__c.csv
├── PersonAccount.csv
└── User.md
.mavens.yaml
Here's an example Account.csv
:
Label | Field API Name | Data Type | Picklist Values | Required | Description |
---|---|---|---|---|---|
Company | MED_Company__c | Picklist | Servier | false | The company associated with the Employee Account. |
Country | MED_Country__c | Picklist | GlobalValueSet (MED_Country) | false | The primary country for the account. |
Credentials | MED_Credentials__c | Picklist | DO MD PharmD RN NP PHAR HBP PA PHT PHARM PVN SW MA NA MD-S PSY OD PHD | false | Picklist of the professional's (Person Account) credentials. Edit the picklist to change the available credentials. |
... | ... | ... | ... | ... | ... |
mavens:typings:generate
$ sfdx mavens:typings:generate --targetusername celine-dion@example.com --outputdir=.typescript
Querying Custom Labels... done
Writing 641 labels to .typescript/salesforce/customlabels.d.ts... done
Querying Custom Permissions... done
Writing 10 custom permissions to .typescript/salesforce/custom-permissions.d.ts... done
FAQs
Miscellaneous collection of handy SFDX commands, brought to you by Mavens (っ▀¯▀)つ
The npm package @mavens/sfdx-commands receives a total of 0 weekly downloads. As such, @mavens/sfdx-commands popularity was classified as not popular.
We found that @mavens/sfdx-commands demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.