@salesforce/packaging 3.2.36 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -124,12 +124,18 @@ export type PackageDescriptorJson = Partial<NamedPackageDir> & Partial<{
|
|
|
124
124
|
features: string[];
|
|
125
125
|
orgPreferences: string[];
|
|
126
126
|
snapshot: string;
|
|
127
|
+
packageMetadataAccess: {
|
|
128
|
+
permissionSets: string[] | string;
|
|
129
|
+
permissionSetLicenses: string[] | string;
|
|
130
|
+
};
|
|
127
131
|
apexTestAccess: {
|
|
128
132
|
permissionSets: string[] | string;
|
|
129
133
|
permissionSetLicenses: string[] | string;
|
|
130
134
|
};
|
|
131
135
|
permissionSetNames: string[];
|
|
132
136
|
permissionSetLicenseDeveloperNames: string[];
|
|
137
|
+
packageMetadataPermissionSetNames: string[];
|
|
138
|
+
packageMetadataPermissionSetLicenseNames: string[];
|
|
133
139
|
branch: string;
|
|
134
140
|
subscriberPackageVersionId: string;
|
|
135
141
|
packageId: string;
|
|
@@ -33,7 +33,7 @@ export declare class PackageVersionCreate {
|
|
|
33
33
|
private createPackageVersionCreateRequestFromOptions;
|
|
34
34
|
private verifyHasSource;
|
|
35
35
|
private cleanGeneratedPackage;
|
|
36
|
-
private
|
|
36
|
+
private resolveBuildUserPermissions;
|
|
37
37
|
private packageVersionCreate;
|
|
38
38
|
private getPackageDirFromId;
|
|
39
39
|
private getPackageType;
|
|
@@ -277,7 +277,7 @@ class PackageVersionCreate {
|
|
|
277
277
|
}
|
|
278
278
|
packageDescriptorJson = (0, packageUtils_1.copyDescriptorProperties)(packageDescriptorJson, definitionFileJson);
|
|
279
279
|
}
|
|
280
|
-
this.
|
|
280
|
+
this.resolveBuildUserPermissions(packageDescriptorJson);
|
|
281
281
|
// All dependencies for the packaging dir should be resolved to an 04t id to be passed to the server.
|
|
282
282
|
// (see _retrieveSubscriberPackageVersionId for details)
|
|
283
283
|
const dependencies = packageDescriptorJson.dependencies;
|
|
@@ -402,7 +402,7 @@ class PackageVersionCreate {
|
|
|
402
402
|
// Zip the Version Info and package.zip files into another zip
|
|
403
403
|
await (0, packageUtils_1.zipDir)(packageVersBlobDirectory, packageVersBlobZipFile);
|
|
404
404
|
}
|
|
405
|
-
|
|
405
|
+
resolveBuildUserPermissions(packageDescriptorJson) {
|
|
406
406
|
// Process permissionSet and permissionSetLicenses that should be enabled when running Apex tests
|
|
407
407
|
// This only applies if code coverage is enabled
|
|
408
408
|
if (this.options.codecoverage) {
|
|
@@ -422,7 +422,23 @@ class PackageVersionCreate {
|
|
|
422
422
|
packageDescriptorJson.permissionSetLicenseDeveloperNames = permissionSetLicenses.map((s) => s.trim());
|
|
423
423
|
}
|
|
424
424
|
}
|
|
425
|
+
// Process permissionSet and permissionsetLicenses that should be enabled for the package metadata deploy
|
|
426
|
+
if (packageDescriptorJson.packageMetadataAccess?.permissionSets) {
|
|
427
|
+
let permSets = packageDescriptorJson.packageMetadataAccess.permissionSets;
|
|
428
|
+
if (!Array.isArray(permSets)) {
|
|
429
|
+
permSets = permSets.split(',');
|
|
430
|
+
}
|
|
431
|
+
packageDescriptorJson.packageMetadataPermissionSetNames = permSets.map((s) => s.trim());
|
|
432
|
+
}
|
|
433
|
+
if (packageDescriptorJson.packageMetadataAccess?.permissionSetLicenses) {
|
|
434
|
+
let permissionSetLicenses = packageDescriptorJson.packageMetadataAccess.permissionSetLicenses;
|
|
435
|
+
if (!Array.isArray(permissionSetLicenses)) {
|
|
436
|
+
permissionSetLicenses = permissionSetLicenses.split(',');
|
|
437
|
+
}
|
|
438
|
+
packageDescriptorJson.packageMetadataPermissionSetLicenseNames = permissionSetLicenses.map((s) => s.trim());
|
|
439
|
+
}
|
|
425
440
|
delete packageDescriptorJson.apexTestAccess;
|
|
441
|
+
delete packageDescriptorJson.packageMetadataAccess;
|
|
426
442
|
}
|
|
427
443
|
// eslint-disable-next-line complexity
|
|
428
444
|
async packageVersionCreate() {
|
|
@@ -107,6 +107,14 @@ export declare function numberToDuration(duration: number | Duration | undefined
|
|
|
107
107
|
*/
|
|
108
108
|
export declare function zipDir(dir: string, zipfile: string): Promise<void>;
|
|
109
109
|
export declare function copyDir(src: string, dest: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* Parse and copy properties from both of these arguments into a new object
|
|
112
|
+
*
|
|
113
|
+
* @param packageDescriptorJson
|
|
114
|
+
* @param definitionFileJson
|
|
115
|
+
* @returns the resulting object with specific properties
|
|
116
|
+
* overridden from definition file based on case-insensitive matches.
|
|
117
|
+
*/
|
|
110
118
|
export declare function copyDescriptorProperties(packageDescriptorJson: PackageDescriptorJson, definitionFileJson: ScratchOrgInfo): PackageDescriptorJson;
|
|
111
119
|
export declare function replaceIfEmpty<T>(value: T, replacement: T): T;
|
|
112
120
|
/**
|
|
@@ -398,10 +398,21 @@ function copyDir(src, dest) {
|
|
|
398
398
|
});
|
|
399
399
|
}
|
|
400
400
|
exports.copyDir = copyDir;
|
|
401
|
+
/**
|
|
402
|
+
* Parse and copy properties from both of these arguments into a new object
|
|
403
|
+
*
|
|
404
|
+
* @param packageDescriptorJson
|
|
405
|
+
* @param definitionFileJson
|
|
406
|
+
* @returns the resulting object with specific properties
|
|
407
|
+
* overridden from definition file based on case-insensitive matches.
|
|
408
|
+
*/
|
|
401
409
|
function copyDescriptorProperties(packageDescriptorJson, definitionFileJson) {
|
|
402
410
|
const packageDescriptorJsonCopy = Object.assign({}, packageDescriptorJson);
|
|
403
411
|
const definitionFileJsonCopy = Object.assign({}, definitionFileJson);
|
|
404
|
-
return Object.assign({}, packageDescriptorJsonCopy, Object.fromEntries(['country', 'edition', 'language', 'features', 'orgPreferences', 'snapshot', 'release', 'sourceOrg'].map((prop) =>
|
|
412
|
+
return Object.assign({}, packageDescriptorJsonCopy, Object.fromEntries(['country', 'edition', 'language', 'features', 'orgPreferences', 'snapshot', 'release', 'sourceOrg'].map((prop) => {
|
|
413
|
+
const matchCase = Object.keys(definitionFileJsonCopy).find((key) => key.toLowerCase() === prop.toLowerCase());
|
|
414
|
+
return [[prop], matchCase ? definitionFileJsonCopy[matchCase] : undefined];
|
|
415
|
+
})));
|
|
405
416
|
}
|
|
406
417
|
exports.copyDescriptorProperties = copyDescriptorProperties;
|
|
407
418
|
function replaceIfEmpty(value, replacement) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/packaging",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Packaging library for the Salesforce packaging platform",
|
|
5
5
|
"main": "lib/exported",
|
|
6
6
|
"types": "lib/exported.d.ts",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@oclif/core": "^3",
|
|
45
|
-
"@salesforce/core": "^6.7.
|
|
45
|
+
"@salesforce/core": "^6.7.6",
|
|
46
46
|
"@salesforce/kit": "^3.1.0",
|
|
47
|
-
"@salesforce/schemas": "^1.
|
|
47
|
+
"@salesforce/schemas": "^1.7.0",
|
|
48
48
|
"@salesforce/source-deploy-retrieve": "^10.7.0",
|
|
49
49
|
"@salesforce/ts-types": "^2.0.9",
|
|
50
50
|
"fast-xml-parser": "^4.3.6",
|