Skip to content
This repository has been archived by the owner on Mar 18, 2024. It is now read-only.

dxatscale/sfpowerscripts

Repository files navigation

sfpowerscripts

Version GitHub stars GitHub contributors License PRs Welcome

DeepScan grade FOSSA Status CII Best Practices

Join slack

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

  • 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

Motivation

  • 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.

CI/CD Reference Implementation

Getting started guides for popular CI/CD platforms along with reference pipelines are available here

Installing sfpowerscripts locally

sfpowerscripts can be installed on your local device using npm

npm i -g @dxatscale/sfpowerscripts

Docker

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.

Build Instructions

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

Maintainers

List of Maintainers are available in the link

Where do I reach for queries?

Please create an issue in the repo for bugs or utilize GitHub Discussions for other queries. Join our Slack Community as well.

License

FOSSA Status