finds.dev← search

// the find

dxatscale/sfpowerkit

★ 386 · TypeScript · MIT · updated May 2023

A Salesforce DX Plugin with multiple functionalities aimed at improving development and operational workflows

sfpowerkit is a Salesforce DX CLI plugin that adds missing functionality to the standard SFDX toolchain: profile reconciliation, scratch org pooling, package dependency management, and incremental deployment diffs. It targets Salesforce development teams running CI/CD pipelines with unlocked packages. It is deprecated — the README says so up front, with functionality migrating to sfpowerscripts/sfp-cli.

Profile reconcile and merge commands solve a real and persistent pain point: the standard CLI pulls incomplete profiles unless all metadata is present, and sfpowerkit's reconcile command strips profiles down to only what exists in the target environment. The scratch org pooling system is genuinely useful for teams where scratch org creation time is a bottleneck — pre-warming orgs and fetching from a pool is a legitimate CI speedup. The project diff command producing deployable changesets from git commit ranges is practical for teams still on org-based deployment who can't deploy the full project each time. The package dependency install command, which resolves `.LATEST` version aliases against DevHub, addresses a real gap in the Salesforce packaging toolchain.

The project is deprecated with no ambiguity — the README leads with a deprecation warning and the last push was May 2023, so you are adopting a dead tool that will not receive security patches or API version updates. Salesforce API versions advance yearly and metadata structures change; commands that depend on specific API behaviors (profile retrieval, sandbox creation) will silently break or return incomplete results as the org moves ahead. The scratch org pooling feature requires a custom SObject schema installed in the DevHub, meaning adoption has a non-trivial setup cost that is now unowned. The TypeScript source mixes implementation logic into command files rather than keeping a clean separation, making it hard to extract individual capabilities if you wanted to fork and maintain a subset.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →