diff --git a/lib/modules/manager/mix/__fixtures__/mix.exs b/lib/modules/manager/mix/__fixtures__/mix.exs index 1d3194f3c8663271c00c2e9921280bea10cced84..29966d7d9d3a435f5ba390373e03a873f35d03f0 100644 --- a/lib/modules/manager/mix/__fixtures__/mix.exs +++ b/lib/modules/manager/mix/__fixtures__/mix.exs @@ -16,14 +16,18 @@ defmodule MyProject.MixProject do defp deps() do [ - {:postgrex, "~> 0.8.1"}, + #{:broadway_dashboard, "~> 0.2.2"}, +#{:broadway_dashboard, "~> 0.2.2"}, +# {:broadway_dashboard, "~> 0.2.2"}, + # {:broadway_dashboard, "~> 0.2.2"}, + {:postgrex, "~> 0.8.1"}, # {:broadway_dashboard, "~> 0.2.2"}, {:ecto, ">2.1.0 or <=3.0.0"}, {:cowboy, github: "ninenines/cowboy"}, {:secret, "~> 1.0", organization: "acme"}, {:ex_doc, ">2.1.0 and <=3.0.0"}, {:jason, ">= 1.0.0"}, - {:jason, "~> 1.0", + {:jason, "~> 1.0", optional: true}, ] end -end \ No newline at end of file +end diff --git a/lib/modules/manager/mix/extract.ts b/lib/modules/manager/mix/extract.ts index c8b0815f65356a36b77c36f4c1db3f7776f09812..923c5ebba32927500de2bcb6b3c4a48d4a24b9d1 100644 --- a/lib/modules/manager/mix/extract.ts +++ b/lib/modules/manager/mix/extract.ts @@ -8,6 +8,7 @@ const depSectionRegExp = regEx(/defp\s+deps.*do/g); const depMatchRegExp = regEx( /{:(?<depName>\w+),\s*(?<datasource>[^:"]+)?:?\s*"(?<currentValue>[^"]+)",?\s*(?:organization: "(?<organization>.*)")?.*}/gm ); +const commentMatchRegExp = regEx(/^\s*#/); export async function extractPackageFile( content: string, @@ -15,8 +16,9 @@ export async function extractPackageFile( ): Promise<PackageFile | null> { logger.trace('mix.extractPackageFile()'); const deps: PackageDependency[] = []; - const contentArr = content.split(newlineRegex); - + const contentArr = content + .split(newlineRegex) + .filter((line) => !commentMatchRegExp.test(line)); for (let lineNumber = 0; lineNumber < contentArr.length; lineNumber += 1) { if (contentArr[lineNumber].match(depSectionRegExp)) { logger.trace(`Matched dep section on line ${lineNumber}`);