Ever since Winter '19, the project-scratch-def.json
file has supported a settings
section which, per the documentation, supports all of the Settings from the Metadata API. So if both are specified, which wins? Do we need to use project-def settings if we have a full set of -meta.xml
files under force-app/main/default/settings
? I've been trying to figure this out empirically with a project I've converted from MDAPI sources (from an existing org), but the DX push errors are often cryptic and I'm not sure what to change.
If there is a reason to use project-def settings over settings files (or cases where project-def settings are required), is there a tool to generate the project-def settings from the files? I don't want to transcribe these all by hand, and I don't want to reinvent any wheels if someone has already done this work. Looks like a conversion from xml to json with a little case adjustment thrown in.