diff --git a/lib/manager/leiningen/extract.ts b/lib/manager/leiningen/extract.ts index d34b8e7deb70ab3822ec4596333140902533885f..71a44898234f94f6a33e38b6e0e4a2ada540e3e5 100644 --- a/lib/manager/leiningen/extract.ts +++ b/lib/manager/leiningen/extract.ts @@ -22,7 +22,6 @@ export function expandDepName(name: string): string { export function extractFromVectors( str: string, - offset = 0, ctx: ExtractContext = {} ): PackageDependency[] { if (!str.startsWith('[')) { @@ -34,7 +33,6 @@ export function extractFromVectors( let vecPos = 0; let artifactId = ''; let version = ''; - let fileReplacePosition: number = null; const isSpace = (ch: string): boolean => ch && /[\s,]/.test(ch); @@ -42,7 +40,7 @@ export function extractFromVectors( s.replace(/^"/, '').replace(/"$/, ''); const yieldDep = (): void => { - if (artifactId && version && fileReplacePosition) { + if (artifactId && version) { result.push({ ...ctx, datasource: ClojureDatasource.id, @@ -77,9 +75,6 @@ export function extractFromVectors( } else if (vecPos === 0) { artifactId += char; } else if (vecPos === 1) { - if (isSpace(prevChar)) { - fileReplacePosition = offset + idx + 1; - } version += char; } } @@ -122,12 +117,18 @@ function extractLeinRepos(content: string): string[] { } export function extractPackageFile(content: string): PackageFile { - const collect = (key: string, ctx: ExtractContext): PackageDependency[] => { + const collect = ( + key: string, + registryUrls: string[] + ): PackageDependency[] => { + const ctx = { + depType: key, + registryUrls, + }; let result: PackageDependency[] = []; let restContent = trimAtKey(content, key); while (restContent) { - const offset = content.length - restContent.length; - result = [...result, ...extractFromVectors(restContent, offset, ctx)]; + result = [...result, ...extractFromVectors(restContent, ctx)]; restContent = trimAtKey(restContent, key); } return result; @@ -136,26 +137,10 @@ export function extractPackageFile(content: string): PackageFile { const registryUrls = extractLeinRepos(content); const deps: PackageDependency[] = [ - ...collect('dependencies', { - depType: 'dependencies', - registryUrls, - }), - ...collect('managed-dependencies', { - depType: 'managed-dependencies', - registryUrls, - }), - ...collect('dev-dependencies', { - depType: 'managed-dependencies', - registryUrls, - }), - ...collect('plugins', { - depType: 'plugins', - registryUrls, - }), - ...collect('pom-plugins', { - depType: 'pom-plugins', - registryUrls, - }), + ...collect('dependencies', registryUrls), + ...collect('managed-dependencies', registryUrls), + ...collect('plugins', registryUrls), + ...collect('pom-plugins', registryUrls), ]; return { deps };