From 6e01c4a9f3909a6243eb24929f64c6e351eedaae Mon Sep 17 00:00:00 2001 From: olga-kulish Date: Tue, 5 Mar 2024 10:20:04 +0300 Subject: [PATCH 1/3] fix: npm monorepo: before publish prompt and master checkout --- src/release/packageApi.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/release/packageApi.js b/src/release/packageApi.js index 3e9208c..e42077c 100644 --- a/src/release/packageApi.js +++ b/src/release/packageApi.js @@ -89,11 +89,11 @@ export default function packageApiFactory(params = {}, data) { }, /** - * Checkout master, show a prompt and then run `npm publish` - * TODO: checkout latest tag? + * Checkout master, + * Prompt user whether he wants to publish packages * @returns {Promise} */ - async publish() { + async beforePublish() { if (this.gitClient) { await this.gitClient.checkout(params.releaseBranch); } @@ -113,6 +113,16 @@ export default function packageApiFactory(params = {}, data) { }); publishPackage = confirmPublish; } + return publishPackage; + }, + + /** + * Checkout master, show a prompt and then run `npm publish` + * TODO: checkout latest tag? + * @returns {Promise} + */ + async publish() { + const publishPackage = await this.beforePublish(); if (publishPackage) { log.doing(`Publishing package ${this.npmPackage.name} @ ${this.npmPackage.version}`); return this.npmPackage.publish(); @@ -153,7 +163,10 @@ export default function packageApiFactory(params = {}, data) { * @returns {Promise} */ async monorepoPublish() { - await this.npmPackage.lernaPublish(); + const publishPackage = await this.beforePublish(); + if (publishPackage) { + return this.npmPackage.lernaPublish(); + } } }; } From 1e00fba5127b8708b749dc0157562718a5eb3681 Mon Sep 17 00:00:00 2001 From: olga-kulish Date: Tue, 5 Mar 2024 10:20:30 +0300 Subject: [PATCH 2/3] fix: npm monorepo: release notes versions if only root chnages --- src/release.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/release.js b/src/release.js index dc46a28..7558405 100644 --- a/src/release.js +++ b/src/release.js @@ -767,11 +767,13 @@ export default function taoExtensionReleaseFactory(params = {}) { } else { //from conventional commits which change files in this package const { version, recommendation } = await conventionalCommits.getNextVersion(packageInfo.lastVersion, packageInfo.packagePath); + packageInfo.recommendation = recommendation; if (recommendation.stats && recommendation.stats.commits === 0) { packageInfo.noChanges = true; + packageInfo.version = packageInfo.lastVersion; + } else { + packageInfo.version = version; } - packageInfo.recommendation = recommendation; - packageInfo.version = version; } } From 0af0100e840924a16e4f4175662feba8abaca0fc Mon Sep 17 00:00:00 2001 From: olga-kulish Date: Tue, 5 Mar 2024 11:54:03 +0300 Subject: [PATCH 3/3] refactor: log before publish, jsdoc comment --- src/release/packageApi.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/release/packageApi.js b/src/release/packageApi.js index e42077c..35dafe1 100644 --- a/src/release/packageApi.js +++ b/src/release/packageApi.js @@ -91,7 +91,7 @@ export default function packageApiFactory(params = {}, data) { /** * Checkout master, * Prompt user whether he wants to publish packages - * @returns {Promise} + * @returns {Promise} */ async beforePublish() { if (this.gitClient) { @@ -164,7 +164,8 @@ export default function packageApiFactory(params = {}, data) { */ async monorepoPublish() { const publishPackage = await this.beforePublish(); - if (publishPackage) { + if (publishPackage) { + log.doing('Publishing monorepo packages'); return this.npmPackage.lernaPublish(); } }