@salesforce/packaging 4.17.2 → 4.18.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.
|
@@ -200,10 +200,11 @@ async function createPackageVersionCreateRequest(context, packageId, apiVersion,
|
|
|
200
200
|
await node_fs_1.default.promises.mkdir(packageVersTmpRoot, { recursive: true });
|
|
201
201
|
await node_fs_1.default.promises.mkdir(packageVersBlobDirectory, { recursive: true });
|
|
202
202
|
await node_fs_1.default.promises.mkdir(packageVersMetadataFolder, { recursive: true });
|
|
203
|
-
const
|
|
203
|
+
const seedMetadataPath = context.seedmetadata ?? packageDescriptorJson.seedMetadata?.path;
|
|
204
|
+
const hasSeedMetadata = await new packageVersionCreate_1.MetadataResolver().resolveMetadata(seedMetadataPath, seedMetadataFolder, 'seedMDDirectoryDoesNotExist', apiVersion);
|
|
204
205
|
if (hasSeedMetadata) {
|
|
205
206
|
// Zip the seedMetadataFolder folder and put the zip in {packageVersBlobDirectory}/{seedMetadataZipFile}
|
|
206
|
-
core_1.Logger.childFromRoot('packageConvert:pollForStatusWithInterval').debug(`Including metadata found in '${
|
|
207
|
+
core_1.Logger.childFromRoot('packageConvert:pollForStatusWithInterval').debug(`Including metadata found in '${seedMetadataPath ?? '<undefined seedmetadata>'}'.`);
|
|
207
208
|
await pkgUtils.zipDir(seedMetadataFolder, seedMetadataZipFile);
|
|
208
209
|
}
|
|
209
210
|
await settingsGenerator.createDeploy();
|
|
@@ -215,6 +216,7 @@ async function createPackageVersionCreateRequest(context, packageId, apiVersion,
|
|
|
215
216
|
// Zip the packageVersMetadataFolder folder and put the zip in {packageVersBlobDirectory}/package.zip
|
|
216
217
|
await pkgUtils.zipDir(packageVersMetadataFolder, metadataZipFile);
|
|
217
218
|
packageDescriptorJson = (0, packageUtils_1.resolveBuildUserPermissions)(packageDescriptorJson, context.codecoverage ?? false);
|
|
219
|
+
packageDescriptorJson = (0, packageUtils_1.cleanPackageDescriptorJson)(packageDescriptorJson);
|
|
218
220
|
await node_fs_1.default.promises.writeFile(node_path_1.default.join(packageVersBlobDirectory, 'package2-descriptor.json'), JSON.stringify(packageDescriptorJson, undefined, 2));
|
|
219
221
|
// Zip the Version Info and package.zip files into another zip
|
|
220
222
|
await pkgUtils.zipDir(packageVersBlobDirectory, packageVersBlobZipFile);
|
|
@@ -227,7 +229,7 @@ function buildPackageDescriptorJson(args) {
|
|
|
227
229
|
...(base ?? {}),
|
|
228
230
|
};
|
|
229
231
|
if (packageObject && (0, project_1.isPackagingDirectory)(packageObject)) {
|
|
230
|
-
const allowedKeys = ['apexTestAccess'];
|
|
232
|
+
const allowedKeys = ['apexTestAccess', 'seedMetadata'];
|
|
231
233
|
for (const key of allowedKeys) {
|
|
232
234
|
if (Object.prototype.hasOwnProperty.call(packageObject, key)) {
|
|
233
235
|
const value = packageObject[key];
|
|
@@ -368,7 +368,7 @@ class PackageVersionCreate {
|
|
|
368
368
|
if (resultValues.length > 0) {
|
|
369
369
|
packageDescriptorJson.dependencies = resultValues;
|
|
370
370
|
}
|
|
371
|
-
packageDescriptorJson = cleanPackageDescriptorJson(packageDescriptorJson);
|
|
371
|
+
packageDescriptorJson = pkgUtils.cleanPackageDescriptorJson(packageDescriptorJson);
|
|
372
372
|
packageDescriptorJson = setPackageDescriptorJsonValues(packageDescriptorJson, this.options, this.logger);
|
|
373
373
|
await node_fs_1.default.promises.mkdir(packageVersTmpRoot, { recursive: true });
|
|
374
374
|
await node_fs_1.default.promises.mkdir(packageVersBlobDirectory, { recursive: true });
|
|
@@ -928,21 +928,4 @@ const setPackageDescriptorJsonValues = (packageDescriptorJson, options, logger)
|
|
|
928
928
|
}
|
|
929
929
|
return merged;
|
|
930
930
|
};
|
|
931
|
-
/**
|
|
932
|
-
* Cleans client-side-only attribute(s) from the packageDescriptorJSON so it can go to API
|
|
933
|
-
*/
|
|
934
|
-
const cleanPackageDescriptorJson = (packageDescriptorJson) => {
|
|
935
|
-
// properties only used by the client side
|
|
936
|
-
const clientOnlyProps = [
|
|
937
|
-
'default',
|
|
938
|
-
'includeProfileUserLicenses',
|
|
939
|
-
'unpackagedMetadata',
|
|
940
|
-
'seedMetadata',
|
|
941
|
-
'branch',
|
|
942
|
-
'fullPath',
|
|
943
|
-
'name',
|
|
944
|
-
'scopeProfiles',
|
|
945
|
-
];
|
|
946
|
-
return Object.fromEntries(Object.entries(packageDescriptorJson).filter(([key]) => !clientOnlyProps.includes(key)));
|
|
947
|
-
};
|
|
948
931
|
//# sourceMappingURL=packageVersionCreate.js.map
|
|
@@ -139,3 +139,7 @@ export declare function findPackageDirectory(project: SfProject | undefined, pac
|
|
|
139
139
|
* directories containing only an .eslintrc.json file.
|
|
140
140
|
*/
|
|
141
141
|
export declare function isPackageDirectoryEffectivelyEmpty(directory: string): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Cleans client-side-only attribute(s) from the packageDescriptorJSON so it can go to API
|
|
144
|
+
*/
|
|
145
|
+
export declare function cleanPackageDescriptorJson(packageDescriptorJson: PackageDescriptorJson): PackageDescriptorJson;
|
|
@@ -57,6 +57,7 @@ exports.copyDescriptorProperties = copyDescriptorProperties;
|
|
|
57
57
|
exports.resolveBuildUserPermissions = resolveBuildUserPermissions;
|
|
58
58
|
exports.findPackageDirectory = findPackageDirectory;
|
|
59
59
|
exports.isPackageDirectoryEffectivelyEmpty = isPackageDirectoryEffectivelyEmpty;
|
|
60
|
+
exports.cleanPackageDescriptorJson = cleanPackageDescriptorJson;
|
|
60
61
|
/*
|
|
61
62
|
* Copyright 2025, Salesforce, Inc.
|
|
62
63
|
*
|
|
@@ -534,4 +535,21 @@ function isPackageDirectoryEffectivelyEmpty(directory) {
|
|
|
534
535
|
? isPackageDirectoryEffectivelyEmpty((0, node_path_1.join)(directory, entry.name))
|
|
535
536
|
: entry.name === '.eslintrc.json');
|
|
536
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* Cleans client-side-only attribute(s) from the packageDescriptorJSON so it can go to API
|
|
540
|
+
*/
|
|
541
|
+
function cleanPackageDescriptorJson(packageDescriptorJson) {
|
|
542
|
+
// properties only used by the client side
|
|
543
|
+
const clientOnlyProps = [
|
|
544
|
+
'default',
|
|
545
|
+
'includeProfileUserLicenses',
|
|
546
|
+
'unpackagedMetadata',
|
|
547
|
+
'seedMetadata',
|
|
548
|
+
'branch',
|
|
549
|
+
'fullPath',
|
|
550
|
+
'name',
|
|
551
|
+
'scopeProfiles',
|
|
552
|
+
];
|
|
553
|
+
return Object.fromEntries(Object.entries(packageDescriptorJson).filter(([key]) => !clientOnlyProps.includes(key)));
|
|
554
|
+
}
|
|
537
555
|
//# sourceMappingURL=packageUtils.js.map
|