Coder Social home page Coder Social logo

dxatscale / sfpowerscripts Goto Github PK

View Code? Open in Web Editor NEW
205.0 22.0 91.0 77.2 MB

A build system for modular development in Salesforce

Home Page: https://dxatscale.io

License: MIT License

TypeScript 95.76% JavaScript 3.03% Dockerfile 0.38% Apex 0.84% Batchfile 0.01%
sfdx-cli sfdx-plugin salesforce package pipeline nodejs

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

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.