Git Product home page Git Product logo

sfpowerscripts's Introduction

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

sfpowerscripts's People

Contributors

azlam-abdulsalam avatar aly76 avatar snyk-bot avatar zhebinliu avatar github-actions[bot] avatar dependabot[bot] avatar alanjaouen avatar rocko1204 avatar vuha-acn avatar brandonmikeska avatar rody avatar gnemiq avatar ethan-sargent avatar caitlyn-mills avatar nabondance avatar joeffreychaucer avatar jhawk-4 avatar manisfdcsfdx avatar michallachowski avatar jonathankretzmer avatar schuchie avatar oscarrenalias avatar pelim avatar robinweymans avatar ruslan-kurchenko avatar rygramer-usds avatar crazynammer avatar fossabot avatar gz77a avatar nvuillam avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.