Skip to content
forked from flxbl-io/sfp

A build system for modular development in Salesforce

License

Notifications You must be signed in to change notification settings

jonathankretzmer/sfp

 
 

Repository files navigation


        
         .----------------.  .----------------.  .----------------.
        | .--------------. || .--------------. || .--------------. |
        | |    _______   | || |  _________   | || |   ______     | |
        | |   /  ___  |  | || | |_   ___  |  | || |  |_   __ \   | |
        | |  |  (__ \_|  | || |   | |_  \_|  | || |    | |__) |  | |
        | |   '.___`-.   | || |   |  _|      | || |    |  ___/   | |
        | |  |`\____) |  | || |  _| |_       | || |   _| |_      | |
        | |  |_______.'  | || | |_____|      | || |  |_____|     | |
        | |              | || |              | || |              | |
        | '--------------' || '--------------' || '--------------' |
         '----------------'  '----------------'  '----------------'

                                                                                                               

Version GitHub stars GitHub contributors License PRs Welcome

DeepScan grade CodeFactor FOSSA Status CII Best Practices

Join slack

sfp is an purpose built cli based tool specifically designed for modular Salesforce development and release management. sfp is aimed at streamlining and automating the build, test, and deployment processes of Salesforce metadata, code and data. It extends sf cli functionalities, focusing on artifact-driven development to enhance DevOps practices within Salesforce projects.

Key Aspects of sfp:

  • Artifact-Centric Approach: sfp packages Salesforce code and metadata into artifacts, along with deployment details, ensuring consistent deployments and simplified version management across environments.
  • Best-in-Class Mono Repo Support: Offers robust support for mono repositories, facilitating streamlined development, integration, and collaboration
  • Support for Multiple Package Types: sfp accommodates various Salesforce package types with streamlined commands, enabling modular development, independent versioning, and flexible deployment strategies.
  • Orchestrate Across Entire Lifecycle: sfp provides an extensive set of functionality across the entire lifecycle of your Salesforce development.
  • End-to-End Observability: sfp is built with comprehensive metrics that are emitted on every commands providing unparalleled visibility into your ALM process. Commands

sfp is comprised of a suite of commands to aid in your end to end development cycle for Salesforce. Starting with the core commands, you are able to perform basic work flows to to build and deploy artifacts (locally to start, and to a NPM artifact repository after) across environments through the command line. As you progress in your understanding of the core commands, you can utilized more advanced commands and flags in your CI/CD platform of choice to drive a more complete release process leveraging release definitions, change logs, metrics and much more.

sfp is constantly evolving and being driven by the passionate community that has embraced our ways of working. We have introduced key utility commands over the years to solve pain points specific to the Salesforce Platform. The commands have been successfully tested and used on large enterprise-scale implementations. As we continue to grow the toolset, we hope to introduced more commands to address the future wave of challenges.

Installing sfp locally

sfp can be installed on your local device using npm

npm i -g @flxbl-io/sfp

Docker

Docker images for sfp are available at GitHub Container Registry.

We recommend using the sfp docker image to avoid breakages in your CI/CD pipelines due to updates in sfp

Build Instructions

To build sfp execute the following on the terminal:

npm i -g lerna #Install Lerna Globally
cd <sfp 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/sfp-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

About

A build system for modular development in Salesforce

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.9%
  • JavaScript 2.9%
  • Other 1.2%