If you want a store, for test or any other purposes, then use this plugin to automate all steps required. It has built in automation to help if any steps fail. This plugin is designed to be as hands off as possible.
This plugin is used to create and setup either a B2B or a B2C store with data with as little effort as possible.
This plugin requires the Salesforce CLI. For more information on the CLI, read the getting started guide.
We always recommend using the latest version of these commands, however, you can install a specific version or tag if needed.
- commerce-on-lightning - @salesforce/commerce <---- THIS PLUGIN
- create stores
- install command:
sfdx plugins:install @salesforce/commerce
- install specific version:
sfdx plugins:install @salesforce/[email protected]
- shane-sfdx-plugins - shane-sfdx-plugins
- public plugin for imports
- install command:
sfdx plugins:install shane-sfdx-plugins
==============
This plugin is designed to setup a test store either B2B or B2C within a scratch org. It will add products and users, a guest user, admin user and buyer user. This plugin assumes your devhub and scratchorg are already setup.
This repo also contains example components for your store you can load after the fact.
For B2C examples components please see: B2B2C Advanced Reference Components
For B2B examples components please see: B2B Advanced Reference Components
$ npm install -g @salesforce/commerce
$ sfdx COMMAND
running command...
$ sfdx (-v|--version|version)
@salesforce/commerce/250.0.0 darwin-x64 node-v18.16.1
$ sfdx --help [COMMAND]
USAGE
$ sfdx COMMAND
...
sfdx plugins:install @salesforce/commerce
# install dependencies
sfdx plugins:install shane-sfdx-plugins
Please report any issues at https://github.com/forcedotcom/commerce-on-lightning/issues
Please see our CONTRIBUTING guide.
If you plan to help develop the plugin then these steps are for you.
To build the plugin locally, make sure to have yarn installed and run the following commands:
# Clone the repository
git clone [email protected]:forcedotcom/commerce-on-lightning.git
# Install the dependencies and compile
yarn install
yarn build
To use your plugin, run using the local ./bin/run
or ./bin/run.cmd
file. This is helpful for mostly debugging
purposes as you can add this command to an IDE.
# Run using local run file.
./bin/run commerce:store:create
There should be no differences when running via the Salesforce CLI or using the local run file. However, it can be useful to link the plugin to do some additional testing or run your commands from anywhere on your machine.
# Link your plugin to the sfdx cli
sfdx plugins:link .
# To verify
sfdx plugins
sfdx commerce:examples:convert -f <filepath> -n <string> [-d <string>] [-p <string>] [-o <string>] [-y] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:extension:map [-r <string>] [-n <string>] [-i <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:extension:points:list [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:extension:register [-r <string>] [-e <string>] [-a <string>] [-m <string>] [-d <string>] [--icon-uri <string>] [--is-application] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:extension:unmap [-r <string>] [-n <string>] [-i <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:files:copy [name=value...] --filestocopy <array> --dirstocopy <array> --copysourcepath <string> [-y] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:ordermanagement:quickstart:setup [-y] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:payments:quickstart:setup -n <string> [-p <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:products:import -n <string> [-c <string>] [-f <filepath>] [-o <string>] [-y] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:scratchorg:create [-u <string>] [-a <string>] [-t <string>] [-w <number>] [-y] [-d <number>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:search:start [-n <string> | -i <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:store:create [name=value...] -n <string> [-t <string>] [-f <filepath>] [-o <string>] [-b <string>] [-y] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:store:display -n <string> [-b <string>] [-p <string>] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:store:open -n <string> [--all] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:store:quickstart:create [name=value...] -n <string> [-t <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:store:quickstart:setup [name=value...] -n <string> [-f <filepath>] [-y] [-t <string>] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx commerce:examples:convert -f <filepath> -n <string> [-d <string>] [-p <string>] [-o <string>] [-y] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Convert repo examples to SFDX scratch org
USAGE
$ sfdx commerce:examples:convert -f <filepath> -n <string> [-d <string>] [-p <string>] [-o <string>] [-y] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --outputdir=outputdir [default: ~/.commerc
e/force-app] Directory to output the
conversion
-f, --definitionfile=definitionfile (required) config file
-n, --store-name=store-name (required) [default: 1commerce]
Store name
-o, --type=b2c|b2b The type of store you want to create
-p, --sourcepath=sourcepath Files to convert
-y, --prompt If there is a file difference
detected, prompt before overwriting
file
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx commerce:examples:convert -f store-scratch-def.json
See code: src/commands/commerce/examples/convert.ts
sfdx commerce:extension:map [-r <string>] [-n <string>] [-i <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Maps an extension to a specific webstore
USAGE
$ sfdx commerce:extension:map [-r <string>] [-n <string>] [-i <string>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-i, --store-id=store-id Optional webstore ID flag
-n, --store-name=store-name The name of the webstore to map the
extension
-r, --registered-extension-name=registered-extension-name Unique name for extension
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
sfdx commerce:extension:map --registered-extension-name test-extension-name --store-name test-store-name
sfdx commerce:extension:map --registered-extension-name test-extension-name --store-id test-store-id
See code: src/commands/commerce/extension/map.ts
sfdx commerce:extension:points:list [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Lists all EPN values
USAGE
$ sfdx commerce:extension:points:list [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx commerce:extension:getEPN
See code: src/commands/commerce/extension/points/list.ts
sfdx commerce:extension:register [-r <string>] [-e <string>] [-a <string>] [-m <string>] [-d <string>] [--icon-uri <string>] [--is-application] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Register an extension with one command
USAGE
$ sfdx commerce:extension:register [-r <string>] [-e <string>] [-a <string>] [-m <string>] [-d <string>] [--icon-uri
<string>] [--is-application] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --apex-class-name=apex-class-name
Name of the Apex class that needs to be extended
-d, --description=description
A brief description of the extension
-e, --extension-point-name=extension-point-name
Means of identifying entry points within the domain code that are capable of being extended by partners.Takes the
form domain_sub-domain_interface. E.g: checkout_summary_computeTax
-m, --apex-namespace=apex-namespace
Optional namespace for apex class
-r, --registered-extension-name=registered-extension-name
Unique name for extension
-u, --targetusername=targetusername
username or alias for the target org; overrides default target org
--apiversion=apiversion
override the api version used for api requests made by this command
--icon-uri=icon-uri
Where to find the icon representing the extension in URI form.
--is-application
A boolean that indicates if the extension provider is contained within a managed package
--json
format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)
[default: warn] logging level for this command invocation
EXAMPLE
sfdx commerce:extension:register --registered-extension-name test-extension-name --extension-point-name test-epn
--apex-class-name test-apex-class
See code: src/commands/commerce/extension/register.ts
sfdx commerce:extension:unmap [-r <string>] [-n <string>] [-i <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Unmaps an extension from a store
USAGE
$ sfdx commerce:extension:unmap [-r <string>] [-n <string>] [-i <string>] [-u <string>] [--apiversion <string>]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-i, --store-id=store-id Optional webstore ID flag
-n, --store-name=store-name The name of the webstore to map the
extension
-r, --registered-extension-name=registered-extension-name Unique name for extension
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
sfdx commerce:extension:unmap --registered-extension-name test-extension-name --store-name test-store-name
sfdx commerce:extension:unmap --registered-extension-name test-extension-name --store-id test-store-id
See code: src/commands/commerce/extension/unmap.ts
sfdx commerce:files:copy [name=value...] --filestocopy <array> --dirstocopy <array> --copysourcepath <string> [-y] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Copy files from source to destination folder ~/.commerce
USAGE
$ sfdx commerce:files:copy [name=value...] --filestocopy <array> --dirstocopy <array> --copysourcepath <string> [-y]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-y, --prompt If there is a file difference
detected, prompt before overwriting
file
--copysourcepath=copysourcepath (required) Base path for files and
directories to be copied from
--dirstocopy=dirstocopy (required) Array of directories
(including their contents) located
in source directory to copy
--filestocopy=filestocopy (required) Array of individual files
to copy located directly in source
directory
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
sfdx commerce:files:copy -y --copySourcePath "~/myexamplefilesdirectory" --filestocopy "file1.txt,file2.txt"
--dirstocopy "dir1,dir2,dir3"
sfdx commerce:files:copy --prompt --copySourcePath "~/myexamplefilesdirectory" --filestocopy "file1.txt,file2.txt"
--dirstocopy "dir1,dir2,dir3"
sfdx commerce:files:copy --copySourcePath "~/myexamplefilesdirectory" --filestocopy "file1.txt,file2.txt" --dirstocopy
"dir1,dir2,dir3"
See code: src/commands/commerce/files/copy.ts
sfdx commerce:ordermanagement:quickstart:setup [-y] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Set up order management
USAGE
$ sfdx commerce:ordermanagement:quickstart:setup [-y] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-y, --prompt If there is a file difference
detected, prompt before overwriting
file
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx commerce:ordermanagement:quickstart:setup
See code: src/commands/commerce/ordermanagement/quickstart/setup.ts
sfdx commerce:payments:quickstart:setup -n <string> [-p <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Set up a new Payment Gateway
USAGE
$ sfdx commerce:payments:quickstart:setup -n <string> [-p <string>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-n, --store-name=store-name (required) [default: 1commerce] name
of the site to create
-p, --payment-adapter=payment-adapter [default: Stripe] Payment Adapter
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx commerce:payments:quickstart:setup -p Stripe -n 1commerce
See code: src/commands/commerce/payments/quickstart/setup.ts
sfdx commerce:products:import -n <string> [-c <string>] [-f <filepath>] [-o <string>] [-y] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Prepare product data files for import
USAGE
$ sfdx commerce:products:import -n <string> [-c <string>] [-f <filepath>] [-o <string>] [-y] [-v <string>] [-u
<string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-c, --products-file-csv=products-file-csv [default: ~/.commerc
e/examples/csv/Alpine-small.csv] The
csv file containing products to
import. Pass in empty value to do
product-less import
-f, --definitionfile=definitionfile [default: ~/.commerc
e/config/store-scratch-def.json]
config file
-n, --store-name=store-name (required) [default: 1commerce] name
of the site to create
-o, --type=b2c|b2b [default: b2c] The type of store you
want to create
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
-y, --prompt If there is a file difference
detected, prompt before overwriting
file
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx commerce:products:import --store-name test-store
See code: src/commands/commerce/products/import.ts
sfdx commerce:scratchorg:create [-u <string>] [-a <string>] [-t <string>] [-w <number>] [-y] [-d <number>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Create a scratch org
USAGE
$ sfdx commerce:scratchorg:create [-u <string>] [-a <string>] [-t <string>] [-w <number>] [-y] [-d <number>] [-v
<string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --alias=alias Alias name for this scratch org
-d, --duration=duration [default: 30] Duration of the
scratch org (in days)
-t, --type=type [default: both] b2b, b2c or both
-u, --username=username username of the admin to associate
with the scratch org.
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
-w, --wait=wait [default: 15] The streaming client
socket timeout (in minutes)
-y, --prompt If there is a file difference
detected, prompt before overwriting
file
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx commerce:scratchorg:create --username [email protected] --targetdevhubusername [email protected]
See code: src/commands/commerce/scratchorg/create.ts
sfdx commerce:search:start [-n <string> | -i <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Start search indexing for a given webstore
USAGE
$ sfdx commerce:search:start [-n <string> | -i <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-i, --store-id=store-id ID of webstore to index
-n, --store-name=store-name name of webstore to index
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx commerce:store:search:start -n storeName
// Finds a store and indexes it
See code: src/commands/commerce/search/start.ts
sfdx commerce:store:create [name=value...] -n <string> [-t <string>] [-f <filepath>] [-o <string>] [-b <string>] [-y] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Comprehensive create and set up a store. This will create your community/store push store sources, create buyer user, import products, create search index.
USAGE
$ sfdx commerce:store:create [name=value...] -n <string> [-t <string>] [-f <filepath>] [-o <string>] [-b <string>]
[-y] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --buyer-username=buyer-username
[default: [email protected]] buyer's username
-f, --definitionfile=definitionfile
The store config file. By default it will be either of ~/.commerce/config/b2c-store-scratch-def or
~/.commerce/config/b2b-store-scratch-def based on store type. Default store type is b2c.]
-n, --store-name=store-name
(required) [default: 1commerce] name of the site to create
-o, --type=b2c|b2b
[default: b2c] The type of store you want to create
-t, --templatename=templatename
Template to use to create a site. If not specified, the template is retrieved from the store config file based on
the store type (b2b or b2c).
-u, --targetusername=targetusername
username or alias for the target org; overrides default target org
-v, --targetdevhubusername=targetdevhubusername
username or alias for the dev hub org; overrides default dev hub org
-y, --prompt
If there is a file difference detected, prompt before overwriting file
--apiversion=apiversion
override the api version used for api requests made by this command
--json
format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)
[default: warn] logging level for this command invocation
EXAMPLE
sfdx commerce:store:create --store-name test-store
See code: src/commands/commerce/store/create.ts
sfdx commerce:store:display -n <string> [-b <string>] [-p <string>] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Display buyer info
USAGE
$ sfdx commerce:store:display -n <string> [-b <string>] [-p <string>] [-v <string>] [-u <string>] [--apiversion
<string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --buyer-username=buyer-username [default: [email protected]]
buyer's username
-n, --store-name=store-name (required) [default: 1commerce] name
of the site to create
-p, --urlpathprefix=urlpathprefix required if different from
store-name URL to append to the
domain created when Experiences was
enabled for this org
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx commerce:store:display --store-name test-store
See code: src/commands/commerce/store/display.ts
sfdx commerce:store:open -n <string> [--all] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Open store(s)
USAGE
$ sfdx commerce:store:open -n <string> [--all] [-v <string>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-n, --store-name=store-name (required) [default: 1commerce] name
of the site to create
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
--all View All stores using sfdx
force:org:open
_ui/networks/setup/SetupNetworksPage
page
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
sfdx commerce:store:open --store-name test-store
sfdx commerce:store:open --all
See code: src/commands/commerce/store/open.ts
sfdx commerce:store:quickstart:create [name=value...] -n <string> [-t <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Use this command to just create a community. It will use sfdx force:community:create until a community is created or failed.
USAGE
$ sfdx commerce:store:quickstart:create [name=value...] -n <string> [-t <string>] [-u <string>] [--apiversion
<string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-n, --store-name=store-name
(required) [default: 1commerce] name of the site to create
-t, --templatename=templatename
[default: b2c-lite-storefront] Template to use to create a site. If not specified, the template is retrieved from
the store config file based on the store type (b2b or b2c).
-u, --targetusername=targetusername
username or alias for the target org; overrides default target org
--apiversion=apiversion
override the api version used for api requests made by this command
--json
format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)
[default: warn] logging level for this command invocation
EXAMPLE
sfdx commerce:store:quickstart:create --templatename 'b2c-lite-storefront'
See code: src/commands/commerce/store/quickstart/create.ts
sfdx commerce:store:quickstart:setup [name=value...] -n <string> [-f <filepath>] [-y] [-t <string>] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Set up a store
USAGE
$ sfdx commerce:store:quickstart:setup [name=value...] -n <string> [-f <filepath>] [-y] [-t <string>] [-v <string>]
[-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-f, --definitionfile=definitionfile
[default: ~/.commerce/config/store-scratch-def.json] config file
-n, --store-name=store-name
(required) [default: 1commerce] name of the site to create
-t, --templatename=templatename
[default: b2c-lite-storefront] Template to use to create a site. If not specified, the template is retrieved from
the store config file based on the store type (b2b or b2c).
-u, --targetusername=targetusername
username or alias for the target org; overrides default target org
-v, --targetdevhubusername=targetdevhubusername
username or alias for the dev hub org; overrides default dev hub org
-y, --prompt
If there is a file difference detected, prompt before overwriting file
--apiversion=apiversion
override the api version used for api requests made by this command
--json
format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)
[default: warn] logging level for this command invocation
EXAMPLE
sfdx commerce:store:quickstart:setup --definitionfile store-scratch-def.json
See code: src/commands/commerce/store/quickstart/setup.ts
We recommend using the Visual Studio Code (VS Code) IDE for your plugin development. Included in the .vscode
directory of this plugin is a launch.json
config file, which allows you to attach a debugger to the node process when running your commands.
To debug the commerce:store:create
command:
- Start the inspector
If you linked your plugin to the sfdx cli, call your command with the dev-suspend
switch:
$ sfdx commerce:store:create -u [email protected] --dev-suspend
Alternatively, to call your command using the bin/run
script, set the NODE_OPTIONS
environment variable to --inspect-brk
when starting the debugger:
$ NODE_OPTIONS=--inspect-brk bin/run commerce:store:create -u [email protected]
- Set some breakpoints in your command code
- Click on the Debug icon in the Activity Bar on the side of VS Code to open up the Debug view.
- In the upper left hand corner of VS Code, verify that the "Attach to Remote" launch configuration has been chosen.
- Hit the green play button to the left of the "Attach to Remote" launch configuration window. The debugger should now be suspended on the first line of the program.
- Hit the green play button at the top middle of VS Code (this play button will be to the right of the play button that you clicked in step #5).
Congrats, you are debugging!