Skip to content

npm scripts

package.json is the stable surface the pipeline and developers call. Most scripts are a thin alias onto a dia-scripts CLI command; a few call a tool or a task script directly (listed separately below). Either way the script names stay constant so bitbucket-pipelines.yml never has to change when an implementation does. Flags reach the underlying command after --: npm run deploy -- --wait 40 --delta-from origin/develop.

Scripts that call the CLI

npm script CLI invocation
apex:testsuite:convert apex testsuite convert
apex:testsuite:generate apex testsuite generate
ci:auth:deploy ci auth-deploy
ci:auth:devhub ci auth-devhub
ci:auth:gitbot ci auth-gitbot
ci:dev:start ci dev-start
branch:create branch-create
ci:audit:node:dependencies ci audit-node-dependencies
ci:install:tools ci install-tools
ci:sync ci sync
ci:tag:version ci tag-version
ci:teardown ci teardown
create:certificate create-certificate
create:scratch org scratch-create --use-pool
deploy deploy
deploy:validate deploy validate
docs:apex docs apex
flows:delete delete-flow-versions
format / format:changed / format:check format / format --only-changed / format --check
git:cherrypick cherrypick
install:latest:version install-latest-version
lint lint
lint:createbaseline lint createbaseline (see how to baseline the code analyzer)
org:pool:activate org pool-activate
org:pool:cleanup org pool-cleanup
org:pool:get org scratch-create … --use-pool
org:pool:list org pool-list
org:pool:prepare org pool-prepare
package:version:create package-version-create
project:create create-new-project
setup setup
test test
update:metadata:api:version updateMetadataApiVersion
update:salesforce:template update-template-files
validate validate

Scripts that call a tool or task script directly

These do not go through the CLI's yargs entry point:

npm script Runs
build run-s build:* (webpack production build)
build:javascript webpack --mode production
build:watch:javascript npm run build:javascript -- --watch
cm cz (commitizen commit prompt)
data:export sf data export tree --plan
data:import node ./scripts/dia-scripts/deploy/import-data.mjs
data:import:csv node ./scripts/dia-scripts/deploy/import-data-csvs.mjs
lint:report lint metadata --output-file code-analyzer/report.html (HTML report)
lint:yaml yamllint .

The data:* scripts are described in how to seed data into an org.

Not every command has an npm alias

deploy prepare-destructive-changes, org pool-fetch, org pool-release, the lint * and test * children have no dedicated script — they are invoked by their parent dispatcher, by husky hooks, or by org scratch-create.