From 8a26b7a1e4fb29a134f02ffc9433398a06e16e29 Mon Sep 17 00:00:00 2001 From: Luke Henke Date: Mon, 2 Jun 2025 20:24:57 -0500 Subject: [PATCH 1/6] feat: added useTransitiveDependencies field to packageDir --- src/sfdx-project/packageDir.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/sfdx-project/packageDir.ts b/src/sfdx-project/packageDir.ts index 8ac13cb..4cf3c17 100644 --- a/src/sfdx-project/packageDir.ts +++ b/src/sfdx-project/packageDir.ts @@ -140,6 +140,14 @@ export type PackagePackageDir = BasePackageDir & { * @title Uninstall Script */ uninstallScript?: string; + + /** + * Set to true if only specifing direct dependencies and the transitive (i.e., indirect) dependencies should be calculated by Salesforce. + * @title Use Transitive Dependencies + * @default false + */ + useTransitiveDependencies?: boolean; + /** * Human readable version information, format not specified. * @title Version Description From 435b1312b318e0bc34d66f5d2e15df1740fd09ea Mon Sep 17 00:00:00 2001 From: Luke Henke Date: Tue, 3 Jun 2025 08:35:28 -0500 Subject: [PATCH 2/6] feat: added calculateTransitiveDependencies field --- examples/sfdx-project/package-complex.json | 1 + src/sfdx-project/packageDir.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/sfdx-project/package-complex.json b/examples/sfdx-project/package-complex.json index a722b88..f934e11 100644 --- a/examples/sfdx-project/package-complex.json +++ b/examples/sfdx-project/package-complex.json @@ -32,6 +32,7 @@ "definitionFile": "config/scratch-org-def.json", "ancestorId": "3", "includeProfileUserLicenses": false, + "calculateTransitiveDependencies": true, "dependencies": [ { "package": "Expense Manager - Util", diff --git a/src/sfdx-project/packageDir.ts b/src/sfdx-project/packageDir.ts index 4cf3c17..1aea6af 100644 --- a/src/sfdx-project/packageDir.ts +++ b/src/sfdx-project/packageDir.ts @@ -146,7 +146,7 @@ export type PackagePackageDir = BasePackageDir & { * @title Use Transitive Dependencies * @default false */ - useTransitiveDependencies?: boolean; + calculateTransitiveDependencies?: boolean; /** * Human readable version information, format not specified. From 6aa03e15a49574dbf9d7ac92a10805df2d05821b Mon Sep 17 00:00:00 2001 From: Luke Henke Date: Tue, 3 Jun 2025 09:25:40 -0500 Subject: [PATCH 3/6] feat: updated comment for field --- src/sfdx-project/packageDir.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sfdx-project/packageDir.ts b/src/sfdx-project/packageDir.ts index 1aea6af..597a967 100644 --- a/src/sfdx-project/packageDir.ts +++ b/src/sfdx-project/packageDir.ts @@ -142,7 +142,7 @@ export type PackagePackageDir = BasePackageDir & { uninstallScript?: string; /** - * Set to true if only specifing direct dependencies and the transitive (i.e., indirect) dependencies should be calculated by Salesforce. + * Set to true if only specifing direct package dependencies and the transitive (i.e., indirect) dependencies should be calculated by Salesforce. * @title Use Transitive Dependencies * @default false */ From 78ecfc5c09f4d54191c9b55a1ef64ee66942b9eb Mon Sep 17 00:00:00 2001 From: Luke Henke Date: Thu, 5 Jun 2025 10:51:43 -0500 Subject: [PATCH 4/6] feat: added calculateTransitiveDependencies to schema --- compiled/sfdx-project.schema.json | 191 ++++++++++++++++++++++++------ sfdx-project.schema.json | 6 + 2 files changed, 161 insertions(+), 36 deletions(-) diff --git a/compiled/sfdx-project.schema.json b/compiled/sfdx-project.schema.json index c982e8a..a939228 100644 --- a/compiled/sfdx-project.schema.json +++ b/compiled/sfdx-project.schema.json @@ -50,7 +50,10 @@ "$ref": "#/definitions/alias-147831185-257-1138-147831185-0-1202" } }, - "required": ["types", "suffixes"], + "required": [ + "types", + "suffixes" + ], "type": "object" }, "directoryName": { @@ -88,15 +91,24 @@ "type": "string" }, "decomposition": { - "enum": ["topLevel", "folderPerType"], + "enum": [ + "topLevel", + "folderPerType" + ], "type": "string" }, "transformer": { - "enum": ["decomposed", "staticResource", "standard"], + "enum": [ + "decomposed", + "staticResource", + "standard" + ], "type": "string" } }, - "required": ["adapter"], + "required": [ + "adapter" + ], "type": "object" }, "strictDirectoryName": { @@ -121,13 +133,22 @@ "type": "string" } }, - "required": ["id", "name", "directoryName"], + "required": [ + "id", + "name", + "directoryName" + ], "type": "object" }, "type": "object" } }, - "required": ["types", "suffixes", "strictDirectoryNames", "childTypes"], + "required": [ + "types", + "suffixes", + "strictDirectoryNames", + "childTypes" + ], "type": "object" }, "PackageDir": { @@ -148,7 +169,9 @@ "type": "string" } }, - "required": ["path"], + "required": [ + "path" + ], "type": "object" }, { @@ -170,7 +193,9 @@ "type": "string" } }, - "required": ["package"], + "required": [ + "package" + ], "type": "object" }, "PackagePackageDir": { @@ -222,9 +247,18 @@ "title": "Permission Sets" } }, - "required": ["permissionSets", "permissionSetLicenses"], + "required": [ + "permissionSets", + "permissionSetLicenses" + ], "type": "object" }, + "calculateTransitiveDependencies": { + "default": false, + "description": "Set to true if only specifing direct package dependencies and the transitive (i.e., indirect) dependencies should be calculated by Salesforce.", + "title": "Use Transitive Dependencies", + "type": "boolean" + }, "default": { "default": true, "description": "If you have specified more than one path, include this parameter for the default path to indicate which is the default package directory.", @@ -296,7 +330,10 @@ "title": "Permission Sets" } }, - "required": ["permissionSets", "permissionSetLicenses"], + "required": [ + "permissionSets", + "permissionSetLicenses" + ], "title": "Package Metadata Access", "type": "object" }, @@ -336,7 +373,9 @@ "type": "string" } }, - "required": ["path"], + "required": [ + "path" + ], "title": "Seed Metadata", "type": "object" }, @@ -355,7 +394,9 @@ "type": "string" } }, - "required": ["path"], + "required": [ + "path" + ], "title": "Unpackaged Metadata", "type": "object" }, @@ -375,7 +416,11 @@ "type": "string" } }, - "required": ["package", "path", "versionNumber"], + "required": [ + "package", + "path", + "versionNumber" + ], "type": "object" }, "RegistryPresets": { @@ -403,7 +448,10 @@ "type": "string" } }, - "required": ["env", "value"], + "required": [ + "env", + "value" + ], "type": "object" }, "type": "array" @@ -415,7 +463,11 @@ "type": "string" } }, - "required": ["filename", "replaceWithFile", "stringToReplace"], + "required": [ + "filename", + "replaceWithFile", + "stringToReplace" + ], "type": "object" }, { @@ -438,7 +490,10 @@ "type": "string" } }, - "required": ["env", "value"], + "required": [ + "env", + "value" + ], "type": "object" }, "type": "array" @@ -450,7 +505,11 @@ "type": "string" } }, - "required": ["filename", "replaceWithEnv", "stringToReplace"], + "required": [ + "filename", + "replaceWithEnv", + "stringToReplace" + ], "type": "object" }, { @@ -473,7 +532,10 @@ "type": "string" } }, - "required": ["env", "value"], + "required": [ + "env", + "value" + ], "type": "object" }, "type": "array" @@ -482,7 +544,11 @@ "type": "string" } }, - "required": ["filename", "regexToReplace", "replaceWithFile"], + "required": [ + "filename", + "regexToReplace", + "replaceWithFile" + ], "type": "object" }, { @@ -508,7 +574,10 @@ "type": "string" } }, - "required": ["env", "value"], + "required": [ + "env", + "value" + ], "type": "object" }, "type": "array" @@ -517,7 +586,11 @@ "type": "string" } }, - "required": ["filename", "regexToReplace", "replaceWithEnv"], + "required": [ + "filename", + "regexToReplace", + "replaceWithEnv" + ], "type": "object" }, { @@ -537,7 +610,10 @@ "type": "string" } }, - "required": ["env", "value"], + "required": [ + "env", + "value" + ], "type": "object" }, "type": "array" @@ -549,7 +625,11 @@ "type": "string" } }, - "required": ["glob", "replaceWithFile", "stringToReplace"], + "required": [ + "glob", + "replaceWithFile", + "stringToReplace" + ], "type": "object" }, { @@ -572,7 +652,10 @@ "type": "string" } }, - "required": ["env", "value"], + "required": [ + "env", + "value" + ], "type": "object" }, "type": "array" @@ -584,7 +667,11 @@ "type": "string" } }, - "required": ["glob", "replaceWithEnv", "stringToReplace"], + "required": [ + "glob", + "replaceWithEnv", + "stringToReplace" + ], "type": "object" }, { @@ -607,7 +694,10 @@ "type": "string" } }, - "required": ["env", "value"], + "required": [ + "env", + "value" + ], "type": "object" }, "type": "array" @@ -616,7 +706,11 @@ "type": "string" } }, - "required": ["glob", "regexToReplace", "replaceWithFile"], + "required": [ + "glob", + "regexToReplace", + "replaceWithFile" + ], "type": "object" }, { @@ -642,7 +736,10 @@ "type": "string" } }, - "required": ["env", "value"], + "required": [ + "env", + "value" + ], "type": "object" }, "type": "array" @@ -651,7 +748,11 @@ "type": "string" } }, - "required": ["glob", "regexToReplace", "replaceWithEnv"], + "required": [ + "glob", + "regexToReplace", + "replaceWithEnv" + ], "type": "object" } ] @@ -682,7 +783,10 @@ "$ref": "#/definitions/alias-147831185-257-1138-147831185-0-1202" } }, - "required": ["types", "suffixes"], + "required": [ + "types", + "suffixes" + ], "type": "object" }, "directoryName": { @@ -720,15 +824,24 @@ "type": "string" }, "decomposition": { - "enum": ["topLevel", "folderPerType"], + "enum": [ + "topLevel", + "folderPerType" + ], "type": "string" }, "transformer": { - "enum": ["decomposed", "staticResource", "standard"], + "enum": [ + "decomposed", + "staticResource", + "standard" + ], "type": "string" } }, - "required": ["adapter"], + "required": [ + "adapter" + ], "type": "object" }, "strictDirectoryName": { @@ -753,7 +866,11 @@ "type": "string" } }, - "required": ["id", "name", "directoryName"], + "required": [ + "id", + "name", + "directoryName" + ], "type": "object" }, "type": "object" @@ -841,7 +958,9 @@ "title": "Custom predefined presets for decomposing metadata types" } }, - "required": ["packageDirectories"], + "required": [ + "packageDirectories" + ], "title": "Salesforce DX Project File", "type": "object" -} +} \ No newline at end of file diff --git a/sfdx-project.schema.json b/sfdx-project.schema.json index f5b9fb9..a939228 100644 --- a/sfdx-project.schema.json +++ b/sfdx-project.schema.json @@ -253,6 +253,12 @@ ], "type": "object" }, + "calculateTransitiveDependencies": { + "default": false, + "description": "Set to true if only specifing direct package dependencies and the transitive (i.e., indirect) dependencies should be calculated by Salesforce.", + "title": "Use Transitive Dependencies", + "type": "boolean" + }, "default": { "default": true, "description": "If you have specified more than one path, include this parameter for the default path to indicate which is the default package directory.", From 391dfcc7b7c0d33fca3d4e02179933f9177a99c2 Mon Sep 17 00:00:00 2001 From: Luke Henke Date: Thu, 5 Jun 2025 10:54:59 -0500 Subject: [PATCH 5/6] fix: typo --- compiled/sfdx-project.schema.json | 185 ++++++------------------------ sfdx-project.schema.json | 2 +- src/sfdx-project/packageDir.ts | 2 +- 3 files changed, 38 insertions(+), 151 deletions(-) diff --git a/compiled/sfdx-project.schema.json b/compiled/sfdx-project.schema.json index a939228..b8155dc 100644 --- a/compiled/sfdx-project.schema.json +++ b/compiled/sfdx-project.schema.json @@ -50,10 +50,7 @@ "$ref": "#/definitions/alias-147831185-257-1138-147831185-0-1202" } }, - "required": [ - "types", - "suffixes" - ], + "required": ["types", "suffixes"], "type": "object" }, "directoryName": { @@ -91,24 +88,15 @@ "type": "string" }, "decomposition": { - "enum": [ - "topLevel", - "folderPerType" - ], + "enum": ["topLevel", "folderPerType"], "type": "string" }, "transformer": { - "enum": [ - "decomposed", - "staticResource", - "standard" - ], + "enum": ["decomposed", "staticResource", "standard"], "type": "string" } }, - "required": [ - "adapter" - ], + "required": ["adapter"], "type": "object" }, "strictDirectoryName": { @@ -133,22 +121,13 @@ "type": "string" } }, - "required": [ - "id", - "name", - "directoryName" - ], + "required": ["id", "name", "directoryName"], "type": "object" }, "type": "object" } }, - "required": [ - "types", - "suffixes", - "strictDirectoryNames", - "childTypes" - ], + "required": ["types", "suffixes", "strictDirectoryNames", "childTypes"], "type": "object" }, "PackageDir": { @@ -169,9 +148,7 @@ "type": "string" } }, - "required": [ - "path" - ], + "required": ["path"], "type": "object" }, { @@ -193,9 +170,7 @@ "type": "string" } }, - "required": [ - "package" - ], + "required": ["package"], "type": "object" }, "PackagePackageDir": { @@ -247,10 +222,7 @@ "title": "Permission Sets" } }, - "required": [ - "permissionSets", - "permissionSetLicenses" - ], + "required": ["permissionSets", "permissionSetLicenses"], "type": "object" }, "calculateTransitiveDependencies": { @@ -330,10 +302,7 @@ "title": "Permission Sets" } }, - "required": [ - "permissionSets", - "permissionSetLicenses" - ], + "required": ["permissionSets", "permissionSetLicenses"], "title": "Package Metadata Access", "type": "object" }, @@ -373,9 +342,7 @@ "type": "string" } }, - "required": [ - "path" - ], + "required": ["path"], "title": "Seed Metadata", "type": "object" }, @@ -394,9 +361,7 @@ "type": "string" } }, - "required": [ - "path" - ], + "required": ["path"], "title": "Unpackaged Metadata", "type": "object" }, @@ -416,11 +381,7 @@ "type": "string" } }, - "required": [ - "package", - "path", - "versionNumber" - ], + "required": ["package", "path", "versionNumber"], "type": "object" }, "RegistryPresets": { @@ -448,10 +409,7 @@ "type": "string" } }, - "required": [ - "env", - "value" - ], + "required": ["env", "value"], "type": "object" }, "type": "array" @@ -463,11 +421,7 @@ "type": "string" } }, - "required": [ - "filename", - "replaceWithFile", - "stringToReplace" - ], + "required": ["filename", "replaceWithFile", "stringToReplace"], "type": "object" }, { @@ -490,10 +444,7 @@ "type": "string" } }, - "required": [ - "env", - "value" - ], + "required": ["env", "value"], "type": "object" }, "type": "array" @@ -505,11 +456,7 @@ "type": "string" } }, - "required": [ - "filename", - "replaceWithEnv", - "stringToReplace" - ], + "required": ["filename", "replaceWithEnv", "stringToReplace"], "type": "object" }, { @@ -532,10 +479,7 @@ "type": "string" } }, - "required": [ - "env", - "value" - ], + "required": ["env", "value"], "type": "object" }, "type": "array" @@ -544,11 +488,7 @@ "type": "string" } }, - "required": [ - "filename", - "regexToReplace", - "replaceWithFile" - ], + "required": ["filename", "regexToReplace", "replaceWithFile"], "type": "object" }, { @@ -574,10 +514,7 @@ "type": "string" } }, - "required": [ - "env", - "value" - ], + "required": ["env", "value"], "type": "object" }, "type": "array" @@ -586,11 +523,7 @@ "type": "string" } }, - "required": [ - "filename", - "regexToReplace", - "replaceWithEnv" - ], + "required": ["filename", "regexToReplace", "replaceWithEnv"], "type": "object" }, { @@ -610,10 +543,7 @@ "type": "string" } }, - "required": [ - "env", - "value" - ], + "required": ["env", "value"], "type": "object" }, "type": "array" @@ -625,11 +555,7 @@ "type": "string" } }, - "required": [ - "glob", - "replaceWithFile", - "stringToReplace" - ], + "required": ["glob", "replaceWithFile", "stringToReplace"], "type": "object" }, { @@ -652,10 +578,7 @@ "type": "string" } }, - "required": [ - "env", - "value" - ], + "required": ["env", "value"], "type": "object" }, "type": "array" @@ -667,11 +590,7 @@ "type": "string" } }, - "required": [ - "glob", - "replaceWithEnv", - "stringToReplace" - ], + "required": ["glob", "replaceWithEnv", "stringToReplace"], "type": "object" }, { @@ -694,10 +613,7 @@ "type": "string" } }, - "required": [ - "env", - "value" - ], + "required": ["env", "value"], "type": "object" }, "type": "array" @@ -706,11 +622,7 @@ "type": "string" } }, - "required": [ - "glob", - "regexToReplace", - "replaceWithFile" - ], + "required": ["glob", "regexToReplace", "replaceWithFile"], "type": "object" }, { @@ -736,10 +648,7 @@ "type": "string" } }, - "required": [ - "env", - "value" - ], + "required": ["env", "value"], "type": "object" }, "type": "array" @@ -748,11 +657,7 @@ "type": "string" } }, - "required": [ - "glob", - "regexToReplace", - "replaceWithEnv" - ], + "required": ["glob", "regexToReplace", "replaceWithEnv"], "type": "object" } ] @@ -783,10 +688,7 @@ "$ref": "#/definitions/alias-147831185-257-1138-147831185-0-1202" } }, - "required": [ - "types", - "suffixes" - ], + "required": ["types", "suffixes"], "type": "object" }, "directoryName": { @@ -824,24 +726,15 @@ "type": "string" }, "decomposition": { - "enum": [ - "topLevel", - "folderPerType" - ], + "enum": ["topLevel", "folderPerType"], "type": "string" }, "transformer": { - "enum": [ - "decomposed", - "staticResource", - "standard" - ], + "enum": ["decomposed", "staticResource", "standard"], "type": "string" } }, - "required": [ - "adapter" - ], + "required": ["adapter"], "type": "object" }, "strictDirectoryName": { @@ -866,11 +759,7 @@ "type": "string" } }, - "required": [ - "id", - "name", - "directoryName" - ], + "required": ["id", "name", "directoryName"], "type": "object" }, "type": "object" @@ -958,9 +847,7 @@ "title": "Custom predefined presets for decomposing metadata types" } }, - "required": [ - "packageDirectories" - ], + "required": ["packageDirectories"], "title": "Salesforce DX Project File", "type": "object" -} \ No newline at end of file +} diff --git a/sfdx-project.schema.json b/sfdx-project.schema.json index a939228..813cab3 100644 --- a/sfdx-project.schema.json +++ b/sfdx-project.schema.json @@ -256,7 +256,7 @@ "calculateTransitiveDependencies": { "default": false, "description": "Set to true if only specifing direct package dependencies and the transitive (i.e., indirect) dependencies should be calculated by Salesforce.", - "title": "Use Transitive Dependencies", + "title": "Calculate Transitive Dependencies", "type": "boolean" }, "default": { diff --git a/src/sfdx-project/packageDir.ts b/src/sfdx-project/packageDir.ts index 597a967..1b6d484 100644 --- a/src/sfdx-project/packageDir.ts +++ b/src/sfdx-project/packageDir.ts @@ -143,7 +143,7 @@ export type PackagePackageDir = BasePackageDir & { /** * Set to true if only specifing direct package dependencies and the transitive (i.e., indirect) dependencies should be calculated by Salesforce. - * @title Use Transitive Dependencies + * @title Calculate Transitive Dependencies * @default false */ calculateTransitiveDependencies?: boolean; From 89e915fe92aaace8f5580e449d7efea030551eda Mon Sep 17 00:00:00 2001 From: Luke Henke Date: Mon, 9 Jun 2025 07:58:03 -0600 Subject: [PATCH 6/6] fix: empty commit