X Tutup
Skip to content

Commit d4e9f48

Browse files
committed
adding utility to check if a git tag exists, rather than just checking if a version is published to an npm feed to make tagging more robust
1 parent d96c8b3 commit d4e9f48

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

apps/rush-lib/src/cli/actions/PublishAction.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,13 +324,15 @@ export class PublishAction extends BaseRushAction {
324324
return;
325325
}
326326

327+
const packageVersion: string = packageConfig.packageJson.version;
328+
327329
// Do not create a new tag if one already exists, this will result in a fatal error
328330
if (git.hasTag(packageConfig)) {
329-
console.log(`Not tagging ${packageName}@${packageConfig.packageJson.version}. A tag already exists for this version.`);
331+
console.log(`Not tagging ${packageName}@${packageVersion}. A tag already exists for this version.`);
330332
return;
331333
}
332334

333-
git.addTag(!!this._publish.value, packageName, packageConfig.packageJson.version);
335+
git.addTag(!!this._publish.value, packageName, packageVersion);
334336
updated = true;
335337
};
336338

apps/rush-lib/src/logic/PublishGit.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ export class PublishGit {
5454
}
5555

5656
public hasTag(packageConfig: RushConfigurationProject): boolean {
57-
const tagName: string = PublishUtilities.createTagname(packageConfig.packageName, packageConfig.packageJson.version);
57+
const tagName: string = PublishUtilities.createTagname(
58+
packageConfig.packageName,
59+
packageConfig.packageJson.version
60+
);
5861
const tagOutput: string = Utilities.executeCommandAndCaptureOutput(
5962
'git',
6063
['tag', '-l', tagName],

0 commit comments

Comments
 (0)
X Tutup