A build system for package based development in Salesforce, delivered as a node cli that can be implemented in any CI/CD system of choice.Read more about the cli and details here - https://docs.dxatscale.io
- Features an Orchestrator, which utilizes sfdx-project.json as the source of truth for driving the build system, ensuring very low maintenance on programs often dealing with multiple number of packages
- Builds packages in parallel by respecting dependencies
- Ability to selectively build changed packages in a mono repo
- Ability to deploy only packages that are changed in repo
- Pooling commands to prepare a pool of scratch org's with packages pre installed for optimized Pull/Merge Request validation
- Artifacts Driven, all create commands produce an artifact or operate on an artifact
- Integrate with any CI/CD system of choice
- All commands are enabled with statsD, for collecting metrics about your pipeline.
There are lot more features to explore. Read more at https://docs.dxatscale.io
The project is delivered as a CLI that can be deployed in any CI/CD system, The module is available in NPM or can be used by using the docker image
-
Need for artifact driven build system for package based development models especially on complex and large programs
-
Providing additional functionality that is either not supported by the sfdx-cli, such as data packages or automatically understanding tests in a given package
-
Ease of use, one should not be spending too much time scripting a pipeline.
Getting started guides for popular CI/CD platforms along with reference pipelines are available here
sfpowerscripts can be installed on your local device using npm
npm i -g @dxatscale/sfpowerscripts
Docker images for sfpowerscripts are available at GitHub Container Registry.
We recommend using the sfpowerscripts docker image to avoid breakages in your CI/CD pipelines due to updates in sfpowerscripts or any of its dependencies such as the SFDX CLI.
To build sfpowerscripts execute the following on the terminal:
npm i -g lerna #Install Lerna Globally
cd <sfpowerscripts directory> # Navigate to the checked out directory
pnpm i
lerna run build
To run unit tests
lerna run test
To debug and test plugin
cd packages/sfpowerscripts-cli
npm link
List of Maintainers are available in the link
Please create an issue in the repo for bugs or utilize GitHub Discussions for other queries. Join our Slack Community as well.