Extraer información de dependencia para paquetes desbloqueados

Para un paquete desbloqueado instalado, ahora puede ejecutar una simple consulta SOQL para extraer su información de dependencia. También puede crear una transmisión para automatizar la instalación de paquetes desbloqueados con dependencias.

Dónde: Este cambio se aplica a Lightning Experience, Salesforce Classic y todas las versiones de la aplicación Salesforce en Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition y Developer Edition.

Por qué: El objeto de API de herramientas SubscriberPackageVersion proporciona ahora información de dependencia. Utilizando una consulta SOQL en SubscriberPackageVersion, puede identificar los paquetes en que su paquete desbloqueado tiene una dependencia. Puede obtener los Id. (04t) IDs y la orden de instalación correcta para esos paquetes.

Ejemplo

El paquete B tiene una dependencia en el paquete A. El paquete D depende de los paquetes B y C. Éste es un sfdx-project.json de muestra que pudo haber especificado al crear una versión de paquete. Las dependencias del paquete D están señaladas como paquetes A, B y C.
{
    "packageDirectories": [
        {
            "path": "pkg-a-workspace",
            "package": "pkgA",
            "versionName": "ver 4.9",
            "versionNumber": "4.9.0.NEXT",
            "default": true
        },
        {
            "path": "pkg-b-workspace",
            "package": "pkgB",
            "versionName": "ver 3.17",
            "versionNumber": "3.17.0.NEXT",
            "default": false,
            "dependencies": [
                {
                    "package": "pkgA",
                    "versionNumber": "3.3.0.LATEST"
                }
            ]
        },
        {
            "path": "pkg-c-workspace",
            "package": "pkgC",
            "versionName": "ver 2.1",
            "versionNumber": "2.1.0.NEXT",
            "default": false
        },
        {
            "path": "pkg-d-workspace",
            "package": "pkgD",
            "versionName": "ver 1.1",
            "versionNumber": "1.1.0.NEXT",
            "default": false,
            "dependencies": [
                {
                    "package": "pkgA",
                    "versionNumber": "3.3.0.LATEST"
                },
                {
                    "package": "pkgB",
                    "versionNumber": "3.12.0.LATEST"
                },
                {
                    "package": "pkgC",
                    "versionNumber": "2.1.0.LATEST"
                }
            ]
        }
    ],
    "namespace": "",
    "sfdcLoginUrl": "https://login.salesforce.com",
    "sourceApiVersion": "44.0",
    "packageAliases": {
        "pkgA": "0HoB00000008Oq6KAE",
        "pkgB": "0HoB00000008OqBKAU",
        "pkgC": "0HoB00000008OqGKAU",
        "pkgD": "0HoB00000008OqGKAQ"
    }
}
Antes de instalar pkgD (con ID=04txx000000082hAAA), utilice esta consulta SOQL para determinar sus dependencias.
sfdx force:data:soql:query -u {USERNAME} -t 
   -q "SELECT Dependencies FROM SubscriberPackageVersion 
       WHERE Id='04txx000000082hAAA'" --json
Verá este resultado cuando ejecute la consulta, con los Id. (04t) para pkgA, pkgB y pkgC en ese orden.
"Dependencies":{"Ids":[
   {"subscriberPackageVersionId":"04txx000000080vAAA"},
   {"subscriberPackageVersionId":"04txx000000082XAAQ"},
   {"subscriberPackageVersionId":"04txx0000000AiGAAU"}]}