diff --git a/lib/modules/manager/sbt/extract.spec.ts b/lib/modules/manager/sbt/extract.spec.ts index 1cbae8b5ea0a45e744518a259b230ae17e1c8960..7bc496d9719714d3926fb609b4da706a746149d0 100644 --- a/lib/modules/manager/sbt/extract.spec.ts +++ b/lib/modules/manager/sbt/extract.spec.ts @@ -258,5 +258,45 @@ describe('modules/manager/sbt/extract', () => { packageFileVersion: undefined, }); }); + + it('extract deps with comment', () => { + const content = ` + name := "service" + scalaVersion := "2.13.8" // scalaVersion + + lazy val compileDependencies = + Seq( + "com.typesafe.scala-logging" %% "scala-logging" % "3.9.4", /** critical lib */ + "ch.qos.logback" % "logback-classic" % "1.2.10" // common lib + ) + `; + expect(extractPackageFile(content)).toMatchObject({ + deps: [ + { + registryUrls: ['https://repo.maven.apache.org/maven2'], + datasource: 'maven', + depName: 'scala', + packageName: 'org.scala-lang:scala-library', + currentValue: '2.13.8', + separateMinorPatch: true, + }, + { + registryUrls: ['https://repo.maven.apache.org/maven2'], + depName: 'com.typesafe.scala-logging:scala-logging', + packageName: 'com.typesafe.scala-logging:scala-logging_2.13', + currentValue: '3.9.4', + datasource: 'sbt-package', + }, + { + registryUrls: ['https://repo.maven.apache.org/maven2'], + depName: 'ch.qos.logback:logback-classic', + packageName: 'ch.qos.logback:logback-classic', + currentValue: '1.2.10', + datasource: 'sbt-package', + }, + ], + packageFileVersion: undefined, + }); + }); }); }); diff --git a/lib/modules/manager/sbt/extract.ts b/lib/modules/manager/sbt/extract.ts index 49029f1699bdd65368d3b6698605e0f7b05b25e7..c0348282649d3449093051af3bbde1f4793906b8 100644 --- a/lib/modules/manager/sbt/extract.ts +++ b/lib/modules/manager/sbt/extract.ts @@ -12,7 +12,7 @@ import type { PackageDependency, PackageFile } from '../types'; import type { ParseContext, ParseOptions } from './types'; const stripComment = (str: string): string => - str.replace(regEx(/(^|\s+)\/\/.*$/), ''); + str.replace(regEx(/(?:^|\s+)\/\/.*$/), '').replace(regEx(/\/\*.*?\*\//g), ''); const isSingleLineDep = (str: string): boolean => regEx(/^\s*(libraryDependencies|dependencyOverrides)\s*\+=\s*/).test(str);