Salesforce DX “If you’re an ISV Partner”
If you’re an ISV building a first-generation managed package, all of your metadata is already in a single package (unless you’re using extension packages). When you deploy updates to your packaging org, you’re typically going to send everything at once.
The CLI makes it easy to do this because sfdx force:source:convert
operates on only one package directory during the conversion from SFDX to MDAPI source. This makes it easier for ISVs to focus on whole-package deployments when they are ready to push code to their packaging org.
The good news is that you can easily organize source by module inside a single Package Directory anyway. All your core code goes into main
, as I described above. For the rest of your app (ie. your features), you add one or more feature module directories and segment your code, similar to the following.
Source: Salesforce DX 201 – Advanced Implementation for ISVs (Slide 34)
Salesforce DX “If you’re a Customer” Scratch Org Definition File