Discover New and Changed Commands

Read about the new and updated commands in v49 of the salesforcedx plug-in. Also review a summary of the updates in past weekly v48 releases. We release changes to Salesforce CLI regularly. Read the weekly release notes to learn about recent updates for v49 of the core CLI plug-in (salesforcedx).

New Commands

These commands were added in a weekly patch of salesforcedx v48.

We introduced three new commands to offer you Lightning Web Components test functionality.

force:lightning:lwc:test:create
Creates a Lightning Web Components test with boilerplate code inside.
force:lightning:lwc:test:run
Invokes Lightning Web Components Jest unit tests.
force:lightning:lwc:test:setup
Installs Jest unit testings tools for Lightning Web Components.

We introduced a new topic (cmdt) and five new commands in this topic for managing custom metadata types.

force:cmdt:create
Creates a custom metadata type in the current project.
force:cmdt:field:create
Generates a custom metadata field based on the provided field type.
force:cmdt:generate
Generates a custom metadata type and all its records for the provided sObject.
force:cmdt:record:create
Creates a record for a given custom metadata type in the current project.
force:cmdt:record:insert
Creates custom metadata type records from a comma-separated values (.csv) file.

We introduced two new commands to override how the CLI tracks your local source code. The commands work with any org that supports source tracking.

force:source:tracking:reset
Resets local and remote source tracking so that the CLI doesn't register current differences between your local files and metadata in the org. When you next run force:source:status, the CLI returns no results, even if conflicts actually exist. The CLI then resumes tracking new source changes as usual.

The main use case is when the CLI doesn't have any tracking history for an org. For example, you want to use an org that's pre-populated by an automated process with the same metadata that's in your VCS. Run this command to make the CLI behave as if the local and remote files are the same at the moment you run the command.

force:source:tracking:clear
Clears all local source tracking information. When you next run force:source:status, the CLI displays all local and remote files as changed, and any files with the same name are listed as conflicts. You manually resolve these conflicts yourself by, for example, forcing a push or pull. The CLI then resumes tracking new source changes as usual.

Salesforce Customer Support uses this command to diagnose issues. We don't recommend using this command in your normal work flow.

Warning

Warning

The force:source:tracking commands delete or modify all existing local source tracking files in your project and affect subsequent behavior of the force:source commands. For example, if you reset source tracking then run force:source:pull, the CLI can silently overwrite local files even if there's actually a conflict. Use the commands only if you understand the differences between your local source files and the metadata in your org. And use extreme caution. Really.

Changed Commands

These commands were changed in a weekly patch of salesforcedx v48.

force:project:create
We added a package.json file to the standard and Analytics Salesforce DX templates. To create these templates, run force:project:create --template=standard or force:project:create --template=analytics. Use the package.json file to work with lightning web components.
commands
We've improved the output of the commands command. By default, the command displays the full list of CLI commands and their descriptions in table format. With the new parameters, you can display more columns, such as command usage and the plug-in it belongs to. You have more choices for the output format (.csv, .json, .yaml). You can also filter and sort the output. The commands command works the same as the oclif command.

Deprecated Commands

These commands are still deprecated in salesforcedx v49. They will be removed in a future release. Use sfdx commands instead, which produces similar output.

force:doc:commands:list
force:doc:commands:display

These commands are deprecated in salesforcedx v49. Use the force:lightning:lwc:test:* commands instead.

force:lightning:test:create
force:lightning:test:install
force:lightning:test:run

New Parameters

This parameter was added to a weekly patch of salesforcedx v48.

force:org:list --skipconnectionstatus
Removes the Connected Status column from the org list output to improve performance of the command.

This parameter was added to salesforcedx pre-release v49.

force:package:create --orgdependent (beta)
For unlocked packages only, allows the package to depend on unpackaged metadata in the installation org.
Note

Note

As a beta feature, Org-Dependent Unlocked Packages is a preview and isn’t part of the “Services” under your master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your use of this feature. You can provide feedback and suggestions for Org-Dependent Unlocked Packages Trailblazer Community.

JSON Output for All Commands

JSON output for all commands is now sent to stdout by default. This behavior is equivalent to setting the SFDX_JSON_TO_STDOUT environment variable to true. If you currently rely on parsing errors from stderr when using the --json parameter, either update your tools and scripts to instead use stdout or set SFDX_JSON_TO_STDOUT to false. CLI commands usually send more warnings and errors to stderr even when you set --json.

Other Changes

  • We upgraded the CLI's version of Node.js to 12.13.0.
  • The force:org:clone and force:org:status sandbox CLI commands are generally available.