This is a plugin to help create new SFDX projects from existing Salesforce orgs. The ultimate goal is to run an sfdx hydrate:project
command, and produce an SFDX project from an existing orgs metadata.
The first feature built towards this goal is creating a scratch file. Salesforce is piloting an org shape feature, but I'm impatient and could get 90% of the way there without it.
The only missing piece from the resulting scratch org is the features list. I'm working on it.
Run the command:
$ sfdx hydrate:scratchfile -u {username|alias} > project-scratch-def.json
This will produce a scratch definition and pipe it into the project-scratch-def.json file.
When migrating to an SFDX project, I find starting with a complete package.xml, and then trimming undesirable metadata elements until I have a working project is a good approach.
This addition to the hydrate tool will generate that complete package.xml.
Run the command:
$ sfdx hydrate:packagexml -u {username|alias} > package.xml
This will produce an XML string, and pipe it directly into the file called package.xml.
Parameter | Description |
---|---|
-a, --api | Set the API version of the packagexml file (Default is 42.0) |
-c, --config | Configuration file to help make pulling metadata more scriptable |
-f, --formatxml | Formats the xml output in an easier to read format |
-q, --quickfilter | CSV list of metadata types to filter |
Non-config file example
$ sfdx hydrate:packagexml -u {username|alias} -f -a 40.0 -q Report,Dashboard > package.xml
An example config file is defined below. The "quickfilter" array lets you specify a list of metadata types that will be included in the output. You can have the xml output formatted by setting the "formatxml" to true.
Note: commandline parameters will override what is in the config file
//config.json
{
"quickfilter": ["Report",
"Dashboard",
"ReportType"
],
"formatxml":"true",
"apiVersion":"40.0"
}
$ sfdx hydrate:packagexml -u {username|alias} -c ./config.json > package.xml
- Install plugin:
sfdx plugins:install sfdx-hydrate
-
Install the SDFX CLI.
-
Clone the repository:
git clone [email protected]:loganm/sfdx-hydrate.git
-
Install npm modules:
npm install
-
Link the plugin:
sfdx plugins:link .
Bug reports and pull requests are welcome on GitHub at https://github.com/loganm/sfdx-hydrate. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.