import semver , { ReleaseType } from 'semver' ; import { logger } from '../../logger' ; import { regEx } from '../../util/regex' ; import type { BumpPackageVersionResult } from '../types' ; export function bumpPackageVersion ( content , currentValue , bumpVersion ) { logger . debug ( { bumpVersion , currentValue } , 'Checking if we should bump build.sbt version' ) ; let bumpedContent = content ; const bumpedVersion = semver . inc ( currentValue , bumpVersion as ReleaseType ) ; if ( ! bumpedVersion ) { logger . warn ( 'Version incremental failed' ) ; return { bumpedContent } ; } bumpedContent = content . replace ( regEx ( /^(version\s*:=\s*).*$/m ) , `$1"${ bumpedVersion }"` ) ; if ( bumpedContent === content ) { logger . debug ( 'Version was already bumped' ) ; } else { logger . debug ( { bumpedVersion } , 'Bumped build.sbt version' ) ; } return { bumpedContent } ; }