Supported package types

sfp cli supports operations on various types of packages within your repository. A short summary on the comparison between different package types is provided below

FeaturesUnlocked PackagesOrg Dependent Unlocked PackagesSource PackagesData PackagesDiff Packages

Dependency Validation

Occurs during package creation

Occurs during package installation

Occurs during package installation

N/A

Occurs during package installation

Dependency Declaration

Yes

Yes (supported by sfp)

Yes

Yes

Yes (supported by sfp)

Requires dependency to be resolved during creation

Yes

No

No

N/A

No

Supported Metadata Types

Unlocked Package Section in Metadata Coverage Report

Unlocked Package Section in Metadata Coverage Report

Metadata API Section in Metadata Coverage Report

N/A

Metadata API Section in Metadata Coverage Report

Code Coverage Requirement

Package should have 75% code coverage or more

Not enforced by Salesforce, sfp by default checks for 75% code coverage

Each apex class should have a coverage of 75% or above for optimal deployment, otherwise the entire coverage of the org will be utilized for deployment

N/A

Each apex class that's part of the delta between the current version and the baseline needs a test class and requires a coverage of 75%.

Component Lifecycle

Automated

Automated

Explicit, utilize destructiveManifest or manual deletion

N/A

Explicit, utilize destructiveManifest or manual deletion

Component Lock

Yes, only one package can own the component

Yes, only one package can own the component

No

N/A

No

Version Management

Salesforce enforced versioning; Promotion required to deploy to prod

Salesforce enforced versioning; Promotion required to deploy to prod

sfp enforced versioning

sfp enforced versioning

sfp enforced versioning

Last updated