DX@Scale
August 23
Search
K

Types of Packaging

The following pages help you understand the correct packaging technique depending on the metadata/functionality
A short summary of various package types are provided below
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 sfpowerscripts)
Yes
Yes
Yes (supported by sfpowerscripts)
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, sfpowerscripts 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
sfpowerscripts enforced versioning
sfpowerscripts enforced versioning
sfpowerscripts enforced versioning