@@ -16,25 +16,35 @@ type GitTagDetailsMap = {
1616 *
1717 * - If the package is a single-variant package, the tag will be in the format:
1818 * `v0.1.2`
19+ *
20+ * - If isMultiVariant is true, always use variant@v<version> format, even for a single variant
1921 */
20- export function getNextGitTag ( releaseDetailsMap : GitTagDetailsMap ) : string {
22+ export function getNextGitTag ( releaseDetailsMap : GitTagDetailsMap , isMultiVariant : boolean ) : string {
2123 const variantVersions = Object . entries (
2224 releaseDetailsMap
2325 ) . map ( ( [ , { variant, nextVersion } ] ) => ( { variant, nextVersion } ) ) ;
2426
2527 if ( variantVersions . length === 0 )
2628 throw Error ( "Could not generate git tag. Missing variant or nextVersion" ) ;
2729
28- // Not a multi-variant package
29- if ( variantVersions . length === 1 ) return `v${ variantVersions [ 0 ] . nextVersion } ` ;
30-
3130 // If any variant is null, throw an error
3231 if ( variantVersions . some ( ( { variant } ) => ! variant ) )
3332 throw Error ( "Could not generate git tag. Missing variant" ) ;
3433
35- // Multi-variant package
34+ // If isMultiVariant, always use variant@v<version> format, even for a single variant
35+ if ( isMultiVariant ) {
36+ return variantVersions
37+ . sort ( ( a , b ) => ( a . variant || "" ) . localeCompare ( b . variant || "" ) )
38+ . map ( ( { variant, nextVersion } ) => `${ variant } @v${ nextVersion } ` )
39+ . join ( "_" ) ;
40+ }
41+
42+ // Not a multi-variant package
43+ if ( variantVersions . length === 1 ) return `v${ variantVersions [ 0 ] . nextVersion } ` ;
44+
45+ // Multi-variant package (fallback, should not hit if isMultiVariant is set correctly)
3646 return variantVersions
37- . sort ( ( a , b ) => ( a . variant || "" ) . localeCompare ( b . variant || "" ) ) // Sort alphabetically by variant
38- . map ( ( { variant, nextVersion } ) => `${ variant } @${ nextVersion } ` ) // Map to string
39- . join ( "_" ) ; // Join into a single string
47+ . sort ( ( a , b ) => ( a . variant || "" ) . localeCompare ( b . variant || "" ) )
48+ . map ( ( { variant, nextVersion } ) => `${ variant } @${ nextVersion } ` )
49+ . join ( "_" ) ;
4050}
0 commit comments