npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

apex-tests-git-delta

v3.2.0

Published

Determine Apex tests for incremental Salesforce deployments using git commit messages.

Readme

apex-tests-git-delta

NPM Downloads/week License Maintainability codecov Mutation testing badge

A Salesforce CLI plugin that extracts Apex test class names from git commit messages for incremental test execution during deployments.

Why This Plugin?

sfdx-git-delta identifies changed Apex classes but running only those modified tests may not cover all required tests. This plugin lets you declare which tests belong to each commit directly in the commit message, giving you explicit control over test selection. It uses the same --from / --to SHA arguments as sfdx-git-delta, so the two tools compose naturally.

Install

sf plugins install apex-tests-git-delta

Requires git installed and available on PATH.

Usage

Create a config file

Create a .apextestsgitdeltarc file in your Salesforce DX project root. The file accepts up to two non-empty lines:

  • Line 1 (required): regular expression to capture individual Apex test class names.
  • Line 2 (optional): regular expression to capture Apex Test Suite names. Each matched suite name is resolved at the --to commit as <suiteName>.testSuite-meta.xml inside your sfdx-project.json package directories, and its <testClassName> entries are merged into the output.
[Aa][Pp][Ee][Xx]::(.*?)::[Aa][Pp][Ee][Xx]
[Ss][Uu][Ii][Tt][Ee]::(.*?)::[Ss][Uu][Ii][Tt][Ee]

Omitting line 2 disables suite parsing and is fully backward compatible.

Use the format in commit messages

fix: update triggers Apex::AccountTriggerHandlerTest OpportunityTriggerHandlerTest::Apex
chore: add sandbox setup Apex::PrepareMySandboxTest::Apex
fix: resolve quoting issues Apex::QuoteControllerTest::Apex
chore: regression pass Suite::AccountRegressionSuite::Suite

Apex Test Suite wildcards

The plugin supports the same <testClassName> wildcard conventions documented by Salesforce for ApexTestSuite metadata:

| <testClassName> entry | Resolution at --to | | -------------------------------- | ------------------------------------------------------------------------------- | | LocalTestClass | Literal local class. Validated like any class name from a commit message. | | A*Class, *Test, Foo_* | Local wildcard. Expanded against all .cls files in your package directories. | | * | Expands to every local Apex class at --to. | | Namespace1.NamespacedTestClass | Managed-package test. Passed through as-is (not validated). | | Namespace1.* | Managed-package wildcard. Passed through as-is; Salesforce resolves at runtime. |

Wildcard patterns that match nothing locally produce a warning and contribute no tests.

Run the command to extract tests

sf atgd delta --from "HEAD~1" --to "HEAD"

Output is alphabetically sorted and space-separated:

AccountTriggerHandlerTest OpportunityTriggerHandlerTest PrepareMySandboxTest QuoteControllerTest

Use the output in a deployment command

sf project deploy start -x package/package.xml -l RunSpecifiedTests -t $(sf atgd delta --from "HEAD~1" --to "HEAD")

sf atgd delta

USAGE
  $ sf atgd delta -f <value> -t <value> -v [--json]

FLAGS
  -f, --from=<value>          Commit SHA from where the commit message log is done.
                              This SHA's commit message will not be included in the results.
  -t, --to=<value>            Commit SHA to where the commit message log is done.
                              [default: HEAD]
  -v, --skip-test-validation  Skip validating that tests exist in the local package directories.
                              [default: false]

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Parse commit messages over a range and return the Apex tests to deploy against.

EXAMPLES
  Get tests from the most recent commit, confirming they exist in the local package directories.

    $ sf atgd delta --from "HEAD~1" --to "HEAD"

  Get tests from the most recent commit, skipping the local package directory validation.

    $ sf atgd delta --from "HEAD~1" --to "HEAD" -v

Alternatives

| Plugin | Approach | | --------------------------------------------------------------------- | ---------------------------------------------- | | apex-tests-git-delta | Extracts test classes from commit messages | | sfdx-git-delta | Run modified Apex classes | | apex-test-list | Uses test annotations in Apex files |

Issues

Report bugs or suggest features by creating an issue.

License

MIT