@salesforce/packaging 0.1.1 → 0.1.3
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.
- package/lib/interfaces/packagingInterfacesAndType.d.ts +1 -0
- package/lib/package/packageVersionCreate.d.ts +1 -1
- package/lib/package/packageVersionCreate.js +33 -17
- package/lib/package/packageVersionList.js +8 -2
- package/lib/package/packageVersionReport.js +8 -2
- package/messages/package_version_create.md +12 -0
- package/package.json +7 -7
|
@@ -7,7 +7,7 @@ export declare class PackageVersionCreate {
|
|
|
7
7
|
private packageObject;
|
|
8
8
|
private packageType;
|
|
9
9
|
private packageId;
|
|
10
|
-
private
|
|
10
|
+
private readonly logger;
|
|
11
11
|
constructor(options: PackageVersionCreateOptions);
|
|
12
12
|
createPackageVersion(): Promise<Partial<PackageVersionCreateRequestResult>>;
|
|
13
13
|
private generateMDFolderForArtifact;
|
|
@@ -23,13 +23,13 @@ const packageProfileApi_1 = require("./packageProfileApi");
|
|
|
23
23
|
const packageVersionCreateRequest_1 = require("./packageVersionCreateRequest");
|
|
24
24
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
25
25
|
const messages = core_1.Messages.loadMessages('@salesforce/packaging', 'package_version_create');
|
|
26
|
-
const logger = core_1.Logger.childFromRoot('packageVersionCreate');
|
|
27
26
|
const DESCRIPTOR_FILE = 'package2-descriptor.json';
|
|
28
27
|
class PackageVersionCreate {
|
|
29
28
|
constructor(options) {
|
|
30
29
|
this.options = options;
|
|
31
30
|
this.connection = this.options.connection;
|
|
32
31
|
this.project = this.options.project;
|
|
32
|
+
this.logger = core_1.Logger.childFromRoot('packageVersionCreate');
|
|
33
33
|
}
|
|
34
34
|
createPackageVersion() {
|
|
35
35
|
try {
|
|
@@ -145,7 +145,7 @@ class PackageVersionCreate {
|
|
|
145
145
|
if (versionNumber.isbuildKeyword()) {
|
|
146
146
|
versionNumber.build = resolvedBuildNumber;
|
|
147
147
|
if (buildNumber === utils_1.BuildNumberToken.LATEST_BUILD_NUMBER_TOKEN) {
|
|
148
|
-
logger.info(messages.getMessage('buildNumberResolvedForLatest', [
|
|
148
|
+
this.logger.info(messages.getMessage('buildNumberResolvedForLatest', [
|
|
149
149
|
dependency.package,
|
|
150
150
|
versionNumber.toString(),
|
|
151
151
|
branchString,
|
|
@@ -153,7 +153,7 @@ class PackageVersionCreate {
|
|
|
153
153
|
]));
|
|
154
154
|
}
|
|
155
155
|
else if (buildNumber === utils_1.BuildNumberToken.RELEASED_BUILD_NUMBER_TOKEN) {
|
|
156
|
-
logger.info(messages.getMessage('buildNumberResolvedForReleased', [
|
|
156
|
+
this.logger.info(messages.getMessage('buildNumberResolvedForReleased', [
|
|
157
157
|
dependency.package,
|
|
158
158
|
versionNumber.toString(),
|
|
159
159
|
dependency.subscriberPackageVersionId,
|
|
@@ -214,7 +214,7 @@ class PackageVersionCreate {
|
|
|
214
214
|
location: packageVersTmpRoot,
|
|
215
215
|
message,
|
|
216
216
|
});
|
|
217
|
-
logger.info(message);
|
|
217
|
+
this.logger.info(message);
|
|
218
218
|
return requestObject;
|
|
219
219
|
}
|
|
220
220
|
else {
|
|
@@ -344,11 +344,11 @@ class PackageVersionCreate {
|
|
|
344
344
|
// Log information about the profiles being packaged up
|
|
345
345
|
const profiles = this.options.profileApi.getProfileInformation();
|
|
346
346
|
profiles.forEach((profile) => {
|
|
347
|
-
if (logger.shouldLog(core_1.LoggerLevel.DEBUG)) {
|
|
348
|
-
logger.debug(profile.logDebug());
|
|
347
|
+
if (this.logger.shouldLog(core_1.LoggerLevel.DEBUG)) {
|
|
348
|
+
this.logger.debug(profile.logDebug());
|
|
349
349
|
}
|
|
350
|
-
else if (logger.shouldLog(core_1.LoggerLevel.INFO)) {
|
|
351
|
-
logger.info(profile.logInfo());
|
|
350
|
+
else if (this.logger.shouldLog(core_1.LoggerLevel.INFO)) {
|
|
351
|
+
this.logger.info(profile.logInfo());
|
|
352
352
|
}
|
|
353
353
|
});
|
|
354
354
|
await fs.promises.writeFile(path.join(packageVersMetadataFolder, 'package.xml'), xml, 'utf-8');
|
|
@@ -419,13 +419,29 @@ class PackageVersionCreate {
|
|
|
419
419
|
if (this.project.getPackageDirectories()?.length === 0) {
|
|
420
420
|
throw messages.createError('errorEmptyPackageDirs');
|
|
421
421
|
}
|
|
422
|
-
//
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
422
|
+
// either options.packageId or options.path is required
|
|
423
|
+
if (!this.options.packageId && !this.options.path) {
|
|
424
|
+
throw messages.createError('errorMissingPackageIdOrPath');
|
|
425
|
+
}
|
|
426
|
+
// establish the package Id (0ho) and load the package directory
|
|
427
|
+
let packageName;
|
|
428
|
+
if (this.options.packageId) {
|
|
429
|
+
const pkg = this.options.packageId;
|
|
430
|
+
packageName = pkg.startsWith('0Ho')
|
|
431
|
+
? this.project.getAliasesFromPackageId(pkg).find((alias) => alias)
|
|
432
|
+
: this.project.getPackageIdFromAlias(pkg);
|
|
433
|
+
if (!packageName)
|
|
434
|
+
throw messages.createError('errorMissingPackage', [this.options.packageId]);
|
|
435
|
+
this.packageObject = this.project.findPackage((pkg) => pkg.package === packageName || pkg.name === packageName);
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
// due to flag validation, we'll either have a package or path flag
|
|
439
|
+
this.packageObject = this.project.getPackageFromPath(this.options.path);
|
|
440
|
+
packageName = this.packageObject?.package;
|
|
441
|
+
if (!packageName)
|
|
442
|
+
throw messages.createError('errorCouldNotFindPackageUsingPath', [this.options.path]);
|
|
443
|
+
}
|
|
444
|
+
this.packageId = this.project.getPackageIdFromAlias(packageName) || packageName;
|
|
429
445
|
this.options.profileApi = await this.resolveUserLicenses(this.packageObject.includeProfileUserLicenses);
|
|
430
446
|
// At this point, the packageIdFromAlias should have been resolved to an Id. Now, we
|
|
431
447
|
// need to validate that the Id is correct.
|
|
@@ -443,7 +459,7 @@ class PackageVersionCreate {
|
|
|
443
459
|
return (await (0, packageVersionCreateRequest_1.byId)(createResult.id, this.connection))[0];
|
|
444
460
|
}
|
|
445
461
|
async resolveUserLicenses(includeUserLicenses) {
|
|
446
|
-
const shouldGenerateProfileInformation = logger.shouldLog(core_1.LoggerLevel.INFO) || logger.shouldLog(core_1.LoggerLevel.DEBUG);
|
|
462
|
+
const shouldGenerateProfileInformation = this.logger.shouldLog(core_1.LoggerLevel.INFO) || this.logger.shouldLog(core_1.LoggerLevel.DEBUG);
|
|
447
463
|
return await packageProfileApi_1.PackageProfileApi.create({
|
|
448
464
|
project: this.project,
|
|
449
465
|
includeUserLicenses,
|
|
@@ -496,7 +512,7 @@ class PackageVersionCreate {
|
|
|
496
512
|
versionNumber.split(pkgUtils.VERSION_NUMBER_SEP)[3] === utils_1.BuildNumberToken.NEXT_BUILD_NUMBER_TOKEN
|
|
497
513
|
? versionNumber.substring(0, versionNumber.indexOf(pkgUtils.VERSION_NUMBER_SEP + utils_1.BuildNumberToken.NEXT_BUILD_NUMBER_TOKEN))
|
|
498
514
|
: versionNumber;
|
|
499
|
-
logger.warn(options, messages.getMessage('defaultVersionName', [packageDescriptorJson.versionName]));
|
|
515
|
+
this.logger.warn(options, messages.getMessage('defaultVersionName', [packageDescriptorJson.versionName]));
|
|
500
516
|
}
|
|
501
517
|
if (options.releasenotesurl) {
|
|
502
518
|
packageDescriptorJson.releaseNotesUrl = options.releasenotesurl;
|
|
@@ -23,7 +23,13 @@ const VERBOSE_SELECT = 'SELECT Id, Package2Id, SubscriberPackageVersionId, Name,
|
|
|
23
23
|
'ConvertedFromVersionId, Package2.IsOrgDependent, ReleaseVersion, BuildDurationInSeconds, HasMetadataRemoved, CreatedById ' +
|
|
24
24
|
'FROM Package2Version';
|
|
25
25
|
exports.DEFAULT_ORDER_BY_FIELDS = 'Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';
|
|
26
|
-
|
|
26
|
+
let logger;
|
|
27
|
+
const getLogger = () => {
|
|
28
|
+
if (!logger) {
|
|
29
|
+
logger = core_1.Logger.childFromRoot('packageVersionList');
|
|
30
|
+
}
|
|
31
|
+
return logger;
|
|
32
|
+
};
|
|
27
33
|
async function listPackageVersions(options) {
|
|
28
34
|
return options.connection.tooling.query(constructQuery(options));
|
|
29
35
|
}
|
|
@@ -38,7 +44,7 @@ function assembleQueryParts(select, where, orderBy) {
|
|
|
38
44
|
const orderByPart = `ORDER BY ${orderBy ? orderBy : exports.DEFAULT_ORDER_BY_FIELDS}`;
|
|
39
45
|
const wherePart = where.length > 0 ? `WHERE ${where.join(' AND ')}` : '';
|
|
40
46
|
const query = `${select} ${wherePart} ${orderByPart}`;
|
|
41
|
-
|
|
47
|
+
getLogger().debug(query);
|
|
42
48
|
return query;
|
|
43
49
|
}
|
|
44
50
|
exports.assembleQueryParts = assembleQueryParts;
|
|
@@ -26,7 +26,13 @@ const QUERY_VERBOSE = 'SELECT Id, Package2Id, SubscriberPackageVersionId, Name,
|
|
|
26
26
|
'FROM Package2Version ' +
|
|
27
27
|
"WHERE Id = '%s' AND IsDeprecated != true " +
|
|
28
28
|
'ORDER BY Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';
|
|
29
|
-
|
|
29
|
+
let logger;
|
|
30
|
+
const getLogger = () => {
|
|
31
|
+
if (!logger) {
|
|
32
|
+
logger = core_1.Logger.childFromRoot('getPackageVersionReport');
|
|
33
|
+
}
|
|
34
|
+
return logger;
|
|
35
|
+
};
|
|
30
36
|
/**
|
|
31
37
|
* Given a list of subscriber package version IDs (04t), return the associated version strings (e.g., Major.Minor.Patch.Build)
|
|
32
38
|
*
|
|
@@ -54,7 +60,7 @@ async function getPackageVersionStrings(subscriberPackageVersionIds, connection)
|
|
|
54
60
|
return results;
|
|
55
61
|
}
|
|
56
62
|
async function getPackageVersionReport(options) {
|
|
57
|
-
|
|
63
|
+
getLogger().debug(`entering getPackageVersionReport(${util.inspect(options, { depth: null })})`);
|
|
58
64
|
const queryResult = await options.connection.tooling.query(util.format(options.verbose ? QUERY_VERBOSE : QUERY, options.packageVersionId));
|
|
59
65
|
const records = queryResult.records;
|
|
60
66
|
if (records?.length > 0) {
|
|
@@ -106,3 +106,15 @@ No subscriber package was found for seed id: %s
|
|
|
106
106
|
|
|
107
107
|
Only one package in a Dev Hub is allowed per converted from first-generation package, but the following were found:
|
|
108
108
|
%s
|
|
109
|
+
|
|
110
|
+
# errorMissingPackageIdOrPath
|
|
111
|
+
|
|
112
|
+
You must specify either a package ID or a package path to create a new package version.
|
|
113
|
+
|
|
114
|
+
# errorMissingPackage
|
|
115
|
+
|
|
116
|
+
The package "%s" isn’t defined in the sfdx-project.json file. Add it to the packageDirectories section and add the alias to packageAliases with its 0Ho ID.
|
|
117
|
+
|
|
118
|
+
# errorCouldNotFindPackageUsingPath
|
|
119
|
+
|
|
120
|
+
Could not find a package in sfdx-project.json file using "path" %s. Add it to the packageDirectories section and add the alias to packageAliases with its 0Ho ID.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/packaging",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "packing libraries to Salesforce packaging platform",
|
|
5
5
|
"main": "lib/exported",
|
|
6
6
|
"types": "lib/exported.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"prepare": "sf-install",
|
|
21
21
|
"pretest": "sf-compile-test",
|
|
22
22
|
"test": "sf-test",
|
|
23
|
-
"test:nuts": "nyc mocha \"**/*.nut.ts\" --slow 4500 --timeout
|
|
23
|
+
"test:nuts": "nyc mocha \"**/*.nut.ts\" --slow 4500 --timeout 1800000 --parallel"
|
|
24
24
|
},
|
|
25
25
|
"keywords": [
|
|
26
26
|
"force",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@oclif/core": "^1.18.0",
|
|
39
|
-
"@salesforce/core": "^3.31.
|
|
39
|
+
"@salesforce/core": "^3.31.11",
|
|
40
40
|
"@salesforce/kit": "^1.7.0",
|
|
41
41
|
"@salesforce/schemas": "^1.1.3",
|
|
42
|
-
"@salesforce/source-deploy-retrieve": "^6.
|
|
42
|
+
"@salesforce/source-deploy-retrieve": "^6.10.0",
|
|
43
43
|
"@salesforce/ts-types": "^1.5.21",
|
|
44
44
|
"@xmldom/xmldom": "^0.8.3",
|
|
45
45
|
"debug": "^4.3.4",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"graphology-traversal": "^0.3.1",
|
|
49
49
|
"graphology-types": "^0.24.4",
|
|
50
50
|
"js2xmlparser": "^4.0.2",
|
|
51
|
-
"jsforce": "beta",
|
|
51
|
+
"jsforce": "2.0.0-beta.19",
|
|
52
52
|
"jszip": "^3.10.1",
|
|
53
53
|
"mkdirp": "1.0.4",
|
|
54
54
|
"ts-retry-promise": "^0.7.0",
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"@types/globby": "^9.1.0",
|
|
65
65
|
"@types/jszip": "^3.4.1",
|
|
66
66
|
"@types/xml2js": "^0.4.11",
|
|
67
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
68
|
-
"@typescript-eslint/parser": "5.
|
|
67
|
+
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
|
68
|
+
"@typescript-eslint/parser": "5.40.0",
|
|
69
69
|
"chai": "^4.3.6",
|
|
70
70
|
"commitizen": "^4.2.4",
|
|
71
71
|
"eslint": "^8.24.0",
|