Skip to content
Snippets Groups Projects
Unverified Commit 2f8aa56f authored by Rhys Arkins's avatar Rhys Arkins Committed by GitHub
Browse files

refactor(autoreplace): set depIndex during flatten (#20665)

parent 14e2c7d3
No related branches found
No related tags found
No related merge requests found
......@@ -143,7 +143,6 @@ export interface PackageDependency<T = Record<string, any>>
updates?: LookupUpdate[];
replaceString?: string;
autoReplaceStringTemplate?: string;
depIndex?: number;
editFile?: string;
separateMinorPatch?: boolean;
extractVersion?: string;
......
......@@ -59,7 +59,7 @@ describe('workers/repository/extract/manager-files', () => {
expect(res).toEqual([
{
packageFile: 'Dockerfile',
deps: [{ depIndex: 0 }, { depIndex: 1, replaceString: 'abc' }],
deps: [{}, { replaceString: 'abc' }],
},
]);
});
......
......@@ -35,13 +35,6 @@ export async function getManagerPackageFiles(
config,
fileList
);
if (allPackageFiles) {
for (const packageFile of allPackageFiles) {
for (let index = 0; index < packageFile.deps.length; index += 1) {
packageFile.deps[index].depIndex = index;
}
}
}
return allPackageFiles;
}
const packageFiles: PackageFile[] = [];
......@@ -56,9 +49,6 @@ export async function getManagerPackageFiles(
config
);
if (res) {
for (let index = 0; index < res.deps.length; index += 1) {
res.deps[index].depIndex = index;
}
packageFiles.push({
...res,
packageFile,
......
import is from '@sindresorhus/is';
import { RenovateConfig, getConfig } from '../../../../test/util';
import { flattenUpdates } from './flatten';
......@@ -144,6 +145,14 @@ describe('workers/repository/updates/flatten', () => {
};
const res = await flattenUpdates(config, packageFiles);
expect(res).toHaveLength(14);
expect(
res.every(
(upgrade) =>
upgrade.isLockFileMaintenance ||
upgrade.isRemediation ||
is.number(upgrade.depIndex)
)
).toBeTrue();
expect(
res.filter((update) => update.sourceRepoSlug)[0].sourceRepoSlug
).toBe('org-repo');
......
......@@ -91,10 +91,12 @@ export async function flattenUpdates(
packageFileConfig.parentDir = '';
packageFileConfig.packageFileDir = '';
}
let depIndex = 0;
for (const dep of packageFile.deps) {
if (dep.updates.length) {
const depConfig = mergeChildConfig(packageFileConfig, dep);
delete depConfig.deps;
depConfig.depIndex = depIndex; // used for autoreplace
for (const update of dep.updates) {
let updateConfig = mergeChildConfig(depConfig, update);
delete updateConfig.updates;
......@@ -128,6 +130,7 @@ export async function flattenUpdates(
updates.push(updateConfig);
}
}
depIndex += 1;
}
if (
get(manager, 'supportsLockFileMaintenance') &&
......
......@@ -38,6 +38,7 @@ export interface BranchUpgradeConfig
currentDigest?: string;
currentDigestShort?: string;
currentValue?: string;
depIndex?: number;
excludeCommitPaths?: string[];
githubName?: string;
group?: GroupConfig;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment