From 6e01c4a9f3909a6243eb24929f64c6e351eedaae Mon Sep 17 00:00:00 2001 From: olga-kulish Date: Tue, 5 Mar 2024 10:20:04 +0300 Subject: [PATCH 1/4] 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/4] 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/4] 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(); } } From 3be008e95efe00aaeabb84d079304661b9b4089c Mon Sep 17 00:00:00 2001 From: olga-kulish Date: Tue, 5 Mar 2024 12:29:18 +0300 Subject: [PATCH 4/4] chore: bump version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 541ebcc..1607f34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@oat-sa/tao-extension-release", - "version": "2.6.0", + "version": "2.7.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@oat-sa/tao-extension-release", - "version": "2.6.0", + "version": "2.7.0", "license": "MIT", "dependencies": { "@oat-sa/conventional-changelog-tao": "^0.2.1", diff --git a/package.json b/package.json index e932ec3..6b149ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@oat-sa/tao-extension-release", - "version": "2.6.0", + "version": "2.7.0", "description": "Helps you to release TAO extensions", "engines": { "node": ">=14.0.0"