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\
Default to source packages. The properties that once required an unlocked package — incremental deploys, scoped tests, and detecting when an org has diverged from source — are now provided for source packages by sfp and codev. Choose another type when a specific requirement calls for it. See Choosing a package type.
| Features | Unlocked Packages | Org Dependent Unlocked Packages | Source Packages | Data Packages | Diff 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 | N/A | Metadata API |
| 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 |
| Incremental Deployment | Handled by Salesforce on package upgrade | Only changed components (component checksum skip) | Only changed components (component checksum skip) | N/A | Only changed components (component checksum skip) |