diff --git a/lib/manager/ansible/update.spec.ts b/lib/manager/ansible/update.spec.ts
index a03c1cf416c34420c24cbfd374cd10640c51ce3f..8299bbf6fa1296e307371f2f59894366a1815dbe 100644
--- a/lib/manager/ansible/update.spec.ts
+++ b/lib/manager/ansible/update.spec.ts
@@ -19,7 +19,7 @@ describe('manager/ansible/update', () => {
         newValue: '1.29.3',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile1, upgrade);
+      const res = updateDependency({ fileContent: yamlFile1, upgrade });
       expect(res).not.toEqual(yamlFile1);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -30,7 +30,7 @@ describe('manager/ansible/update', () => {
         newValue: '11.5.1',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile2, upgrade);
+      const res = updateDependency({ fileContent: yamlFile2, upgrade });
       expect(res).not.toEqual(yamlFile2);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -40,7 +40,7 @@ describe('manager/ansible/update', () => {
         depName: 'sameersbn/redis',
         newValue: '4.0.9-1',
       };
-      const res = updateDependency(yamlFile2, upgrade);
+      const res = updateDependency({ fileContent: yamlFile2, upgrade });
       expect(res).toEqual(yamlFile2);
     });
     it('returns null if mismatch', () => {
@@ -48,11 +48,11 @@ describe('manager/ansible/update', () => {
         managerData: { lineNumber: 52 },
         newFrom: 'registry:2.6.2@sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile2, upgrade);
+      const res = updateDependency({ fileContent: yamlFile2, upgrade });
       expect(res).toBeNull();
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/ansible/update.ts b/lib/manager/ansible/update.ts
index 7e4e272673392937e77e80ade8a55b76d463397e..a59259155944ee5bc382c8982b9939ec09db84ae 100644
--- a/lib/manager/ansible/update.ts
+++ b/lib/manager/ansible/update.ts
@@ -1,12 +1,12 @@
 import { logger } from '../../logger';
 import { getNewFrom } from '../dockerfile/update';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 import { regEx } from '../../util/regex';
 
-export default function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export default function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const newFrom = getNewFrom(upgrade);
     logger.debug(`ansible.updateDependency(): ${newFrom}`);
diff --git a/lib/manager/bazel/update.spec.ts b/lib/manager/bazel/update.spec.ts
index 400c43eb4b21414f8594e563573a47522a35b595..5265692a25ec5fac9bcce0d6fc229c34cc08c645 100644
--- a/lib/manager/bazel/update.spec.ts
+++ b/lib/manager/bazel/update.spec.ts
@@ -46,7 +46,10 @@ describe('manager/bazel/update', () => {
         currentValue: '0.1.8',
         newValue: '0.2.0',
       };
-      const res = await updateDependency(content, upgrade);
+      const res = await updateDependency({
+        fileContent: content,
+        upgrade,
+      });
       expect(res).not.toEqual(content);
     });
 
@@ -71,7 +74,10 @@ describe('manager/bazel/update', () => {
           'sha256:2c29ba015faef92a3f55b37632fc373a7fbc2c9fddd31e317bf07113391c640b',
         newValue: 'v1.0.0-alpha42.cli-migrations',
       };
-      const res = await updateDependency(contentContainerPull, upgrade);
+      const res = await updateDependency({
+        fileContent: contentContainerPull,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(contentContainerPull);
       expect(res.includes('# v1.0.0-alpha31.cli-migrations 11/28')).toBe(true);
@@ -95,7 +101,10 @@ describe('manager/bazel/update', () => {
         newValue: 'v1.0.3',
         updateType: 'major',
       };
-      const res = await updateDependency(content, upgrade);
+      const res = await updateDependency({
+        fileContent: content,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(content);
       expect(
@@ -113,7 +122,10 @@ describe('manager/bazel/update', () => {
         newDigest: '033387ac8853e6cc1cd47df6c346bc53cbc490d8',
       };
       fromStream.mockResolvedValueOnce('abc123');
-      const res = await updateDependency(content, upgrade);
+      const res = await updateDependency({
+        fileContent: content,
+        upgrade,
+      });
       expect(res).not.toEqual(content);
     });
     it('updates http archive with content other then WORKSPACE', async () => {
@@ -133,7 +145,10 @@ describe('manager/bazel/update', () => {
         newValue: '0.8.0',
       };
       fromStream.mockResolvedValueOnce('abc123');
-      const res = await updateDependency(fileWithBzlExtension, upgrade);
+      const res = await updateDependency({
+        fileContent: content,
+        upgrade,
+      });
       expect(res).not.toEqual(fileWithBzlExtension);
       expect(res.indexOf('0.8.0')).not.toBe(-1);
     });
@@ -154,7 +169,10 @@ describe('manager/bazel/update', () => {
         newValue: '0.8.0',
       };
       fromStream.mockResolvedValueOnce('abc123');
-      const res = await updateDependency(fileWithBzlExtension, upgrade);
+      const res = await updateDependency({
+        fileContent: content,
+        upgrade,
+      });
       expect(res).not.toEqual(fileWithBzlExtension);
       expect(res.indexOf('0.8.0')).not.toBe(-1);
     });
@@ -174,7 +192,10 @@ describe('manager/bazel/update', () => {
         currentValue: '0.6.0',
         newValue: '0.8.0',
       };
-      const res = await updateDependency(fileWithBzlExtension, upgrade);
+      const res = await updateDependency({
+        fileContent: content,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('errors for http_archive without urls', async () => {
@@ -196,7 +217,10 @@ http_archive(
         newValue: '0.6.2',
       };
       fromStream.mockResolvedValueOnce('abc123');
-      const res = await updateDependency(content, upgrade);
+      const res = await updateDependency({
+        fileContent: content,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('updates http_archive with urls array', async () => {
@@ -222,7 +246,10 @@ http_archive(
         newValue: '0.6.2',
       };
       fromStream.mockResolvedValueOnce('abc123');
-      const res = await updateDependency(content, upgrade);
+      const res = await updateDependency({
+        fileContent: content,
+        upgrade,
+      });
       expect(res).not.toEqual(content);
       expect(res.indexOf('0.5.0')).toBe(-1);
       expect(res.indexOf('0.6.2')).not.toBe(-1);
diff --git a/lib/manager/bazel/update.ts b/lib/manager/bazel/update.ts
index 4dcc1c1d8461e51ba2d948f9e6117e7665a9f031..b0413facb0a759bd623c0697b675ba2fe9dd834f 100644
--- a/lib/manager/bazel/update.ts
+++ b/lib/manager/bazel/update.ts
@@ -1,7 +1,7 @@
 import { fromStream } from 'hasha';
 import got from '../../util/got';
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 import { regEx } from '../../util/regex';
 
 function updateWithNewVersion(
@@ -81,10 +81,10 @@ function setNewHash(content: string, hash: string): string {
   return content.replace(/(sha256\s*=\s*)"[^"]+"/, `$1"${hash}"`);
 }
 
-export async function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): Promise<string | null> {
+export async function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): Promise<string | null> {
   try {
     logger.debug(
       `bazel.updateDependency(): ${upgrade.newValue || upgrade.newDigest}`
diff --git a/lib/manager/buildkite/update.spec.ts b/lib/manager/buildkite/update.spec.ts
index 6c6c2ec2d850b43406ab9d0047e050a179918e7a..b9733f7051d879c5862ebeff2f260e11c1b515ce 100644
--- a/lib/manager/buildkite/update.spec.ts
+++ b/lib/manager/buildkite/update.spec.ts
@@ -21,7 +21,7 @@ describe('manager/buildkite/update', () => {
         managerData: { lineNumber: 3 },
         newValue: 'v2.2.0',
       };
-      const res = updateDependency(pipeline1, upgrade);
+      const res = updateDependency({ fileContent: pipeline1, upgrade });
       expect(res).not.toEqual(pipeline1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -30,7 +30,7 @@ describe('manager/buildkite/update', () => {
         managerData: { lineNumber: 11 },
         newValue: 'v2.2.0',
       };
-      const res = updateDependency(pipeline4, upgrade);
+      const res = updateDependency({ fileContent: pipeline4, upgrade });
       expect(res).not.toEqual(pipeline4);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -39,14 +39,20 @@ describe('manager/buildkite/update', () => {
         managerData: { lineNumber: 5 },
         newValue: 'v1.5.0',
       };
-      const res1 = updateDependency(pipeline2, upgrade1);
+      const res1 = updateDependency({
+        fileContent: pipeline2,
+        upgrade: upgrade1,
+      });
       expect(res1).not.toEqual(pipeline2);
       expect(res1.includes(upgrade1.newValue)).toBe(true);
       const upgrade2 = {
         managerData: { lineNumber: 16 },
         newValue: 'v1.5.0',
       };
-      const res2 = updateDependency(res1, upgrade2);
+      const res2 = updateDependency({
+        fileContent: res1,
+        upgrade: upgrade2,
+      });
       expect(res2).not.toEqual(res1);
       expect(res2).toMatchSnapshot();
     });
@@ -55,7 +61,10 @@ describe('manager/buildkite/update', () => {
         managerData: { lineNumber: 3 },
         newValue: 'v2.0.0',
       };
-      const res = updateDependency(pipeline1, upgrade);
+      const res = updateDependency({
+        fileContent: pipeline1,
+        upgrade,
+      });
       expect(res).toEqual(pipeline1);
     });
     it('returns null if mismatch', () => {
@@ -63,11 +72,14 @@ describe('manager/buildkite/update', () => {
         managerData: { lineNumber: 4 },
         newValue: 'v2.2.0',
       };
-      const res = updateDependency(pipeline1, upgrade);
+      const res = updateDependency({
+        fileContent: pipeline1,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/buildkite/update.ts b/lib/manager/buildkite/update.ts
index e400dd15a927eeabe312c30be5377d4ab79b33b5..2f39257e9c33d8b56f3001ab05e0075b1420f9a2 100644
--- a/lib/manager/buildkite/update.ts
+++ b/lib/manager/buildkite/update.ts
@@ -1,15 +1,15 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 import { regEx } from '../../util/regex';
 
-export function updateDependency(
-  currentFileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const lineIdx = upgrade.managerData.lineNumber - 1;
     logger.debug(`buildkite.updateDependency: ${upgrade.newValue}`);
-    const lines = currentFileContent.split('\n');
+    const lines = fileContent.split('\n');
     const lineToChange = lines[lineIdx];
     const depLine = regEx(`^(\\s+[^#]+#)[^:]+(.*)$`);
     if (!depLine.test(lineToChange)) {
@@ -19,7 +19,7 @@ export function updateDependency(
     const newLine = lineToChange.replace(depLine, `$1${upgrade.newValue}$2`);
     if (newLine === lineToChange) {
       logger.debug('No changes necessary');
-      return currentFileContent;
+      return fileContent;
     }
     lines[lineIdx] = newLine;
     return lines.join('\n');
diff --git a/lib/manager/bundler/update.spec.ts b/lib/manager/bundler/update.spec.ts
index 045487bb28a17652d0878bbfc398737403f5b311..962827e6ea2143d0da3ac5e0a589cfd5f1deffdb 100644
--- a/lib/manager/bundler/update.spec.ts
+++ b/lib/manager/bundler/update.spec.ts
@@ -15,7 +15,10 @@ describe('manager/docker-compose/update', () => {
         depName: 'rack-cache',
         newValue: '~> 1.3',
       };
-      const res = updateDependency(railsGemfile, upgrade);
+      const res = updateDependency({
+        fileContent: railsGemfile,
+        upgrade,
+      });
       expect(res).not.toEqual(railsGemfile);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -26,7 +29,10 @@ describe('manager/docker-compose/update', () => {
         depName: 'rack-cache',
         newValue: '~> 1.2',
       };
-      const res = updateDependency(railsGemfile, upgrade);
+      const res = updateDependency({
+        fileContent: railsGemfile,
+        upgrade,
+      });
       expect(res).toEqual(railsGemfile);
     });
     it('returns null if mismatch', () => {
@@ -36,7 +42,10 @@ describe('manager/docker-compose/update', () => {
         depName: 'wrong',
         newValue: '~> 1.3',
       };
-      const res = updateDependency(railsGemfile, upgrade);
+      const res = updateDependency({
+        fileContent: railsGemfile,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('uses single quotes', () => {
@@ -46,11 +55,11 @@ describe('manager/docker-compose/update', () => {
         newValue: '~> 1.3',
       };
       const gemFile = `gem 'rack-cache', '~> 1.2'`;
-      const res = updateDependency(gemFile, upgrade);
+      const res = updateDependency({ fileContent: gemFile, upgrade });
       expect(res).toEqual(`gem 'rack-cache', '~> 1.3'`);
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/bundler/update.ts b/lib/manager/bundler/update.ts
index eb6784a3208dac402bd914f3a47ab5c8dad3f572..84ebe05c358577293732b05cd6a2574846de979b 100644
--- a/lib/manager/bundler/update.ts
+++ b/lib/manager/bundler/update.ts
@@ -1,5 +1,5 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
 /*
  * The updateDependency() function is mandatory, and is used for updating one dependency at a time.
@@ -7,17 +7,14 @@ import { Upgrade } from '../common';
  * or with new content if changes are necessary.
  */
 
-export function updateDependency(
-  currentFileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const delimiter =
-      currentFileContent.split('"').length >
-      currentFileContent.split("'").length
-        ? '"'
-        : "'";
-    const lines = currentFileContent.split('\n');
+      fileContent.split('"').length > fileContent.split("'").length ? '"' : "'";
+    const lines = fileContent.split('\n');
     const lineToChange = lines[upgrade.managerData.lineNumber];
     if (!lineToChange.includes(upgrade.depName)) {
       logger.debug('No gem match on line');
@@ -35,7 +32,7 @@ export function updateDependency(
     );
     if (newLine === lineToChange) {
       logger.debug('No changes necessary');
-      return currentFileContent;
+      return fileContent;
     }
     lines[upgrade.managerData.lineNumber] = newLine;
     return lines.join('\n');
diff --git a/lib/manager/cargo/update.spec.ts b/lib/manager/cargo/update.spec.ts
index 1cbb15280e2d97eb4120f0d5ff3311425298bf4d..e4e52a4d7d181d631451e6445ec92600f9a1500f 100644
--- a/lib/manager/cargo/update.spec.ts
+++ b/lib/manager/cargo/update.spec.ts
@@ -22,27 +22,39 @@ describe('lib/manager/cargo/update', () => {
     });
     it('returns same for invalid toml', () => {
       const cargotoml = 'invalid toml !#$#';
-      expect(updateDependency(cargotoml, config)).toEqual(cargotoml);
+      expect(
+        updateDependency({ fileContent: cargotoml, upgrade: config })
+      ).toEqual(cargotoml);
     });
     it('returns same for null upgrade', () => {
       const cargotoml = '[dependencies]\n';
-      expect(updateDependency(cargotoml, null)).toEqual(cargotoml);
+      expect(
+        updateDependency({ fileContent: cargotoml, upgrade: null })
+      ).toEqual(cargotoml);
     });
     it('returns same if version has not changed', () => {
       const cargotoml = '[dependencies]\n';
-      expect(updateDependency(cargotoml, null)).toEqual(cargotoml);
+      expect(
+        updateDependency({ fileContent: cargotoml, upgrade: null })
+      ).toEqual(cargotoml);
       const upgrade = {
         depName: 'libc',
         depType: 'dependencies',
         managerData: { nestedVersion: false },
         newValue: '=0.2.43',
       };
-      expect(updateDependency(cargo1toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo1toml, upgrade)).toBe(cargo1toml);
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).toBe(
+        cargo1toml
+      );
     });
     it('returns same for invalid target', () => {
       const cargotoml = '[dependencies]\n';
-      expect(updateDependency(cargotoml, null)).toEqual(cargotoml);
+      expect(
+        updateDependency({ fileContent: cargotoml, upgrade: null })
+      ).toEqual(cargotoml);
       const upgrade = {
         depName: 'platform-specific-dep',
         depType: 'dependencies',
@@ -50,32 +62,48 @@ describe('lib/manager/cargo/update', () => {
         target: 'foobar',
         newValue: '1.2.3',
       };
-      expect(updateDependency(cargo1toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo1toml, upgrade)).toBe(cargo1toml);
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).toBe(
+        cargo1toml
+      );
     });
     it('returns same for invalid depType', () => {
       const cargotoml = '[dependencies]\n';
-      expect(updateDependency(cargotoml, null)).toEqual(cargotoml);
+      expect(
+        updateDependency({ fileContent: cargotoml, upgrade: null })
+      ).toEqual(cargotoml);
       const upgrade = {
         depName: 'libc',
         depType: 'foobar',
         managerData: { nestedVersion: false },
         newValue: '1.2.3',
       };
-      expect(updateDependency(cargo1toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo1toml, upgrade)).toBe(cargo1toml);
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).toBe(
+        cargo1toml
+      );
     });
     it('returns same for invalid depName', () => {
       const cargotoml = '[dependencies]\n';
-      expect(updateDependency(cargotoml, null)).toEqual(cargotoml);
+      expect(
+        updateDependency({ fileContent: cargotoml, upgrade: null })
+      ).toEqual(cargotoml);
       const upgrade = {
         depName: 'does not exist',
         depType: 'dependencies',
         managerData: { nestedVersion: false },
         newValue: '1.2.3',
       };
-      expect(updateDependency(cargo1toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo1toml, upgrade)).toBe(cargo1toml);
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).toBe(
+        cargo1toml
+      );
     });
     it('updates normal dependency', () => {
       const upgrade = {
@@ -84,9 +112,15 @@ describe('lib/manager/cargo/update', () => {
         managerData: { nestedVersion: false },
         newValue: '0.3.0',
       };
-      expect(updateDependency(cargo1toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo1toml, upgrade)).not.toBe(cargo1toml);
-      expect(updateDependency(cargo1toml, upgrade)).toMatchSnapshot();
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).not.toBe(
+        cargo1toml
+      );
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).toMatchSnapshot();
     });
     it('updates normal dependency with mismatch on first try', () => {
       const upgrade = {
@@ -95,9 +129,15 @@ describe('lib/manager/cargo/update', () => {
         managerData: { nestedVersion: false },
         newValue: '1.2.3',
       };
-      expect(updateDependency(cargo1toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo1toml, upgrade)).not.toBe(cargo1toml);
-      expect(updateDependency(cargo1toml, upgrade)).toMatchSnapshot();
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).not.toBe(
+        cargo1toml
+      );
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).toMatchSnapshot();
     });
     it('updates nested version dependency', () => {
       const upgrade = {
@@ -106,9 +146,15 @@ describe('lib/manager/cargo/update', () => {
         managerData: { nestedVersion: true },
         newValue: '0.2.0',
       };
-      expect(updateDependency(cargo1toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo1toml, upgrade)).not.toBe(cargo1toml);
-      expect(updateDependency(cargo1toml, upgrade)).toMatchSnapshot();
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).not.toBe(
+        cargo1toml
+      );
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).toMatchSnapshot();
     });
     it('updates platform specific dependency', () => {
       const upgrade = {
@@ -118,9 +164,15 @@ describe('lib/manager/cargo/update', () => {
         managerData: { nestedVersion: true },
         newValue: '0.4.0',
       };
-      expect(updateDependency(cargo1toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo1toml, upgrade)).not.toBe(cargo1toml);
-      expect(updateDependency(cargo1toml, upgrade)).toMatchSnapshot();
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).not.toBe(
+        cargo1toml
+      );
+      expect(
+        updateDependency({ fileContent: cargo1toml, upgrade })
+      ).toMatchSnapshot();
     });
     it('handles invalid standard tables gracefully', () => {
       const upgrade = {
@@ -129,7 +181,9 @@ describe('lib/manager/cargo/update', () => {
         depType: 'dependencies',
         newValue: '2.0.0',
       };
-      expect(updateDependency(cargo4toml, upgrade)).toEqual(cargo4toml);
+      expect(updateDependency({ fileContent: cargo4toml, upgrade })).toEqual(
+        cargo4toml
+      );
     });
     it('does not update in case of error', () => {
       const upgrade = {
@@ -138,7 +192,9 @@ describe('lib/manager/cargo/update', () => {
         managerData: { nestedVersion: false },
         newValue: '0.3.0',
       };
-      expect(updateDependency(cargo1toml, upgrade)).toEqual(cargo1toml);
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).toEqual(
+        cargo1toml
+      );
     });
     it('does not update in case of error', () => {
       const upgrade = {
@@ -147,7 +203,9 @@ describe('lib/manager/cargo/update', () => {
         managerData: { nestedVersion: true }, // Should be false
         newValue: '0.3.0',
       };
-      expect(updateDependency(cargo1toml, upgrade)).toEqual(cargo1toml);
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).toEqual(
+        cargo1toml
+      );
     });
     it('does not update in case of error', () => {
       const upgrade = {
@@ -156,7 +214,9 @@ describe('lib/manager/cargo/update', () => {
         managerData: { nestedVersion: false }, // Should be true
         newValue: '0.3.0',
       };
-      expect(updateDependency(cargo1toml, upgrade)).toEqual(cargo1toml);
+      expect(updateDependency({ fileContent: cargo1toml, upgrade })).toEqual(
+        cargo1toml
+      );
     });
     it('updates platform specific normal dependency', () => {
       const upgrade = {
@@ -166,8 +226,12 @@ describe('lib/manager/cargo/update', () => {
         target: 'cfg(target_arch = "wasm32")',
         newValue: '0.3.0',
       };
-      expect(updateDependency(cargo5toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo5toml, upgrade)).not.toBe(cargo5toml);
+      expect(
+        updateDependency({ fileContent: cargo5toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo5toml, upgrade })).not.toBe(
+        cargo5toml
+      );
     });
     it('updates platform specific table dependency', () => {
       const upgrade = {
@@ -177,8 +241,12 @@ describe('lib/manager/cargo/update', () => {
         target: 'cfg(target_arch = "wasm32")',
         newValue: '0.4.0',
       };
-      expect(updateDependency(cargo5toml, upgrade)).not.toBeNull();
-      expect(updateDependency(cargo5toml, upgrade)).not.toBe(cargo5toml);
+      expect(
+        updateDependency({ fileContent: cargo5toml, upgrade })
+      ).not.toBeNull();
+      expect(updateDependency({ fileContent: cargo5toml, upgrade })).not.toBe(
+        cargo5toml
+      );
     });
   });
 });
diff --git a/lib/manager/cargo/update.ts b/lib/manager/cargo/update.ts
index 11b6d7c977b7d2dfeb96b8e752374260a2b0ac38..e588de4829807ac2028d89464a93c41e51c52e1d 100644
--- a/lib/manager/cargo/update.ts
+++ b/lib/manager/cargo/update.ts
@@ -1,7 +1,7 @@
 import { isEqual } from 'lodash';
 import { parse } from 'toml';
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 import { CargoConfig, CargoSection } from './types';
 
 // Return true if the match string is found at index in content
@@ -24,10 +24,10 @@ function replaceAt(
   );
 }
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade<{ nestedVersion?: boolean }>
-): string {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string {
   logger.trace({ config: upgrade }, 'poetry.updateDependency()');
   if (!upgrade) {
     return fileContent;
diff --git a/lib/manager/circleci/update.spec.ts b/lib/manager/circleci/update.spec.ts
index 83b7f0ef39d3fe1aedde28cc07c1117cbd02b133..53fec3cc4cddda21a570c66f763f6cc0a1163533 100644
--- a/lib/manager/circleci/update.spec.ts
+++ b/lib/manager/circleci/update.spec.ts
@@ -20,7 +20,10 @@ describe('manager/circleci/update', () => {
         newValue: '8.10.0',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = dcUpdate.updateDependency(yamlFile, upgrade);
+      const res = dcUpdate.updateDependency({
+        fileContent: yamlFile,
+        upgrade,
+      });
       expect(res).not.toEqual(yamlFile);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -30,7 +33,10 @@ describe('manager/circleci/update', () => {
         depType: 'docker',
         depName: 'node',
       };
-      const res = dcUpdate.updateDependency(yamlFile, upgrade);
+      const res = dcUpdate.updateDependency({
+        fileContent: yamlFile,
+        upgrade,
+      });
       expect(res).toEqual(yamlFile);
     });
     it('returns null if mismatch', () => {
@@ -41,11 +47,17 @@ describe('manager/circleci/update', () => {
         newValue: '9.6.8',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = dcUpdate.updateDependency(yamlFile, upgrade);
+      const res = dcUpdate.updateDependency({
+        fileContent: yamlFile,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('returns null if error', () => {
-      const res = dcUpdate.updateDependency(null, null);
+      const res = dcUpdate.updateDependency({
+        fileContent: null,
+        upgrade: null,
+      });
       expect(res).toBeNull();
     });
     it('replaces orbs', () => {
@@ -56,7 +68,10 @@ describe('manager/circleci/update', () => {
         managerData: { lineNumber: 3 },
         newValue: '4.2.0',
       };
-      const res = dcUpdate.updateDependency(yamlFile2, upgrade);
+      const res = dcUpdate.updateDependency({
+        fileContent: yamlFile2,
+        upgrade,
+      });
       expect(res).not.toEqual(yamlFile2);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -68,7 +83,10 @@ describe('manager/circleci/update', () => {
         managerData: { lineNumber: 3 },
         newValue: '4.1.0',
       };
-      const res = dcUpdate.updateDependency(yamlFile2, upgrade);
+      const res = dcUpdate.updateDependency({
+        fileContent: yamlFile2,
+        upgrade,
+      });
       expect(res).toEqual(yamlFile2);
     });
     it('returns null for orb mismatch', () => {
@@ -79,7 +97,10 @@ describe('manager/circleci/update', () => {
         managerData: { lineNumber: 2 },
         newValue: '4.2.0',
       };
-      const res = dcUpdate.updateDependency(yamlFile2, upgrade);
+      const res = dcUpdate.updateDependency({
+        fileContent: yamlFile2,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('returns null for unknown depType', () => {
@@ -89,7 +110,10 @@ describe('manager/circleci/update', () => {
         managerData: { lineNumber: 3 },
         newValue: '4.2.0',
       };
-      const res = dcUpdate.updateDependency(yamlFile2, upgrade);
+      const res = dcUpdate.updateDependency({
+        fileContent: yamlFile2,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/circleci/update.ts b/lib/manager/circleci/update.ts
index 5732081cfcfcf34710b11b952383c18cd28cccf2..4e4839c54d8785dbf387ec66b0320d40a1644f32 100644
--- a/lib/manager/circleci/update.ts
+++ b/lib/manager/circleci/update.ts
@@ -1,11 +1,11 @@
 import { logger } from '../../logger';
 import { getNewFrom } from '../dockerfile/update';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const lines = fileContent.split('\n');
     const lineToChange = lines[upgrade.managerData.lineNumber];
diff --git a/lib/manager/common.ts b/lib/manager/common.ts
index 7733e47fdb556a1b4e7b68af6149a1d08f4361ad..46e0f496bab8291277d0aa2d599516df9d05c801 100644
--- a/lib/manager/common.ts
+++ b/lib/manager/common.ts
@@ -180,6 +180,12 @@ export interface UpdateArtifact {
   newPackageFileContent: string;
   config: UpdateArtifactsConfig;
 }
+
+export interface UpdateDependencyConfig {
+  fileContent: string;
+  upgrade: Upgrade;
+}
+
 export interface ManagerApi {
   language?: string;
   supportsLockFileMaintenance?: boolean;
@@ -206,8 +212,7 @@ export interface ManagerApi {
   ): Result<UpdateArtifactsResult[] | null>;
 
   updateDependency(
-    fileContent: string,
-    upgrade: Upgrade
+    updateDependencyConfig: UpdateDependencyConfig
   ): Result<string | null>;
 }
 
diff --git a/lib/manager/docker-compose/update.spec.ts b/lib/manager/docker-compose/update.spec.ts
index c65940ed390a18cb5c08c2345ad8c99fc716d574..b1682524cf178475c0358c8737def08795f23379 100644
--- a/lib/manager/docker-compose/update.spec.ts
+++ b/lib/manager/docker-compose/update.spec.ts
@@ -15,7 +15,7 @@ describe('manager/docker-compose/update', () => {
         newValue: '9.6.8',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).not.toEqual(yamlFile);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -25,7 +25,7 @@ describe('manager/docker-compose/update', () => {
         depName: 'quay.io/something/redis',
         newValue: 'alpine',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toEqual(yamlFile);
     });
     it('returns null if mismatch', () => {
@@ -33,11 +33,11 @@ describe('manager/docker-compose/update', () => {
         managerData: { lineNumber: 17 },
         newFrom: 'postgres:9.6.8@sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toBeNull();
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/docker-compose/update.ts b/lib/manager/docker-compose/update.ts
index 9a12dc4076e64e07ba9a59b04c24c0f2f31bf664..dd8e3e73668784000ff385f5cd14fe2aa1f861cb 100644
--- a/lib/manager/docker-compose/update.ts
+++ b/lib/manager/docker-compose/update.ts
@@ -1,11 +1,11 @@
 import { logger } from '../../logger';
 import { getNewFrom } from '../dockerfile/update';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string {
   try {
     const newFrom = getNewFrom(upgrade);
     logger.debug(`docker-compose.updateDependency(): ${newFrom}`);
diff --git a/lib/manager/dockerfile/update.spec.ts b/lib/manager/dockerfile/update.spec.ts
index c4d39734a6dea52bbecbff975bff39506adc58c1..cd4c163abe8631c52b5fc78838eda13785867eb9 100644
--- a/lib/manager/dockerfile/update.spec.ts
+++ b/lib/manager/dockerfile/update.spec.ts
@@ -10,7 +10,7 @@ describe('manager/dockerfile/update', () => {
         newValue: '8.1-alpine',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = dockerfile.updateDependency(fileContent, upgrade);
+      const res = dockerfile.updateDependency({ fileContent, upgrade });
       expect(res).toMatchSnapshot();
     });
     it('replaces existing value with suffix', () => {
@@ -26,7 +26,7 @@ describe('manager/dockerfile/update', () => {
         newValue: '8',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = dockerfile.updateDependency(fileContent, upgrade);
+      const res = dockerfile.updateDependency({ fileContent, upgrade });
       expect(res).toMatchSnapshot();
     });
     it('handles strange whitespace', () => {
@@ -43,7 +43,7 @@ describe('manager/dockerfile/update', () => {
 
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = dockerfile.updateDependency(fileContent, upgrade);
+      const res = dockerfile.updateDependency({ fileContent, upgrade });
       expect(res).toMatchSnapshot();
     });
     it('returns null if mismatch', () => {
@@ -55,7 +55,7 @@ describe('manager/dockerfile/update', () => {
         newValue: '8',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = dockerfile.updateDependency(fileContent, upgrade);
+      const res = dockerfile.updateDependency({ fileContent, upgrade });
       expect(res).toBeNull();
     });
     it('returns unchanged', () => {
@@ -70,7 +70,7 @@ describe('manager/dockerfile/update', () => {
         depName: 'node',
         newValue: '8',
       };
-      const res = dockerfile.updateDependency(fileContent, upgrade);
+      const res = dockerfile.updateDependency({ fileContent, upgrade });
       expect(res).toBe(fileContent);
     });
     it('returns null on error', () => {
@@ -81,7 +81,7 @@ describe('manager/dockerfile/update', () => {
         newValue: '8',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = dockerfile.updateDependency(fileContent, upgrade);
+      const res = dockerfile.updateDependency({ fileContent, upgrade });
       expect(res).toBeNull();
     });
     it('handles similar FROM', () => {
@@ -103,8 +103,14 @@ describe('manager/dockerfile/update', () => {
         newValue: 'wheezy',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      let res = dockerfile.updateDependency(fileContent, upgrade1);
-      res = dockerfile.updateDependency(res, upgrade2);
+      let res = dockerfile.updateDependency({
+        fileContent,
+        upgrade: upgrade1,
+      });
+      res = dockerfile.updateDependency({
+        fileContent: res,
+        upgrade: upgrade2,
+      });
       expect(res).toMatchSnapshot();
       expect(res.includes('as stage-1')).toBe(true);
     });
@@ -120,7 +126,7 @@ describe('manager/dockerfile/update', () => {
         depName: 'gcr.io/k8s-skaffold/skaffold',
         newValue: 'v0.12.0',
       };
-      const res = dockerfile.updateDependency(fileContent, upgrade);
+      const res = dockerfile.updateDependency({ fileContent, upgrade });
       expect(res).toMatchSnapshot();
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
diff --git a/lib/manager/dockerfile/update.ts b/lib/manager/dockerfile/update.ts
index 5f034bd5f8b08a666d4bd79a5322032802745041..0365be47c5d023f5378e39a9998f9297ff25f7a0 100644
--- a/lib/manager/dockerfile/update.ts
+++ b/lib/manager/dockerfile/update.ts
@@ -1,5 +1,5 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig, Upgrade } from '../common';
 
 export function getNewFrom(upgrade: Upgrade): string {
   const { depName, newValue, newDigest } = upgrade;
@@ -13,10 +13,10 @@ export function getNewFrom(upgrade: Upgrade): string {
   return newFrom;
 }
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const { lineNumber, fromSuffix } = upgrade.managerData;
     let { fromPrefix } = upgrade.managerData;
diff --git a/lib/manager/droneci/update.spec.ts b/lib/manager/droneci/update.spec.ts
index f78643ced61a87a8c48af73776f94655da7f9b58..5947dbbee4a5a818e700ad38dfb58c410797fbae 100644
--- a/lib/manager/droneci/update.spec.ts
+++ b/lib/manager/droneci/update.spec.ts
@@ -18,7 +18,7 @@ describe('manager/droneci/update', () => {
         newValue: '10.16.0',
         newDigest: 'sha256:new-node-hash',
       };
-      const res = updateDependency(droneYAML, upgrade);
+      const res = updateDependency({ fileContent: droneYAML, upgrade });
       expect(res).not.toEqual(droneYAML);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -29,7 +29,7 @@ describe('manager/droneci/update', () => {
         depType: 'docker',
         depName: 'redis:alpine',
       };
-      const res = updateDependency(droneYAML, upgrade);
+      const res = updateDependency({ fileContent: droneYAML, upgrade });
       expect(res).toEqual(droneYAML);
     });
 
@@ -41,12 +41,12 @@ describe('manager/droneci/update', () => {
         newValue: '9.6.8',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(droneYAML, upgrade);
+      const res = updateDependency({ fileContent: droneYAML, upgrade });
       expect(res).toBeNull();
     });
 
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
 
@@ -57,7 +57,7 @@ describe('manager/droneci/update', () => {
         managerData: { lineNumber: 3 },
         newValue: '4.2.0',
       };
-      const res = updateDependency(droneYAML, upgrade);
+      const res = updateDependency({ fileContent: droneYAML, upgrade });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/droneci/update.ts b/lib/manager/droneci/update.ts
index d2f38eec6980f51f8e8c5526f1d873c1d9db4e53..3939105e45adf132a034df93280490eac1a23848 100644
--- a/lib/manager/droneci/update.ts
+++ b/lib/manager/droneci/update.ts
@@ -1,11 +1,11 @@
 import { logger } from '../../logger';
 import { getNewFrom } from '../dockerfile/update';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const lines = fileContent.split('\n');
     const lineToChange = lines[upgrade.managerData.lineNumber];
diff --git a/lib/manager/git-submodules/update.spec.ts b/lib/manager/git-submodules/update.spec.ts
index 6bda3dfa2533671e7921ae7b0177cd17de23a9ea..3f99ab6fee294deeb7ea491a4e64f4e624389ea3 100644
--- a/lib/manager/git-submodules/update.spec.ts
+++ b/lib/manager/git-submodules/update.spec.ts
@@ -14,7 +14,10 @@ describe('manager/git-submodules/update', () => {
           throw new Error();
         },
       });
-      const update = await updateDependency('', {});
+      const update = await updateDependency({
+        fileContent: '',
+        upgrade: {},
+      });
       expect(update).toBeNull();
     });
     it('returns content on update', async () => {
@@ -24,7 +27,10 @@ describe('manager/git-submodules/update', () => {
           return Promise.resolve();
         },
       });
-      const update = await updateDependency('', { localDir: tmpDir.path });
+      const update = await updateDependency({
+        fileContent: '',
+        upgrade: { localDir: tmpDir.path },
+      });
       expect(update).toEqual('');
     });
   });
diff --git a/lib/manager/git-submodules/update.ts b/lib/manager/git-submodules/update.ts
index e33367dd6a44bc4ade56a4eec34b72e791bf831f..6057c798265263ae1b89ca6c5a52b497e2bf0e8f 100644
--- a/lib/manager/git-submodules/update.ts
+++ b/lib/manager/git-submodules/update.ts
@@ -1,11 +1,11 @@
 import Git from 'simple-git/promise';
 
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export default async function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): Promise<string | null> {
+export default async function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): Promise<string | null> {
   const git = Git(upgrade.localDir);
 
   try {
diff --git a/lib/manager/github-actions/update.spec.ts b/lib/manager/github-actions/update.spec.ts
index 4a85c91fce7e0ea02dc8a1fee266b51088849566..57d66b8034df95ab325e61234b44c3c55920b3e6 100644
--- a/lib/manager/github-actions/update.spec.ts
+++ b/lib/manager/github-actions/update.spec.ts
@@ -19,7 +19,7 @@ describe('manager/github-actions/update', () => {
         depName: 'replicated/dockerfilelint',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(workflow1, upgrade);
+      const res = updateDependency({ fileContent: workflow1, upgrade });
       expect(res).not.toEqual(workflow1);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -28,7 +28,7 @@ describe('manager/github-actions/update', () => {
         managerData: { lineNumber: 11 },
         depName: 'replicated/dockerfilelint',
       };
-      const res = updateDependency(workflow1, upgrade);
+      const res = updateDependency({ fileContent: workflow1, upgrade });
       expect(res).toEqual(workflow1);
     });
     it('returns null if mismatch', () => {
@@ -36,11 +36,11 @@ describe('manager/github-actions/update', () => {
         managerData: { lineNumber: 12 },
         newFrom: 'registry:2.6.2@sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(workflow1, upgrade);
+      const res = updateDependency({ fileContent: workflow1, upgrade });
       expect(res).toBeNull();
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
     it('replaces existing uses value in yaml file', () => {
@@ -49,7 +49,7 @@ describe('manager/github-actions/update', () => {
         depName: 'replicated/dockerfilelint',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(workflow2, upgrade);
+      const res = updateDependency({ fileContent: workflow2, upgrade });
       expect(res).not.toEqual(workflow2);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -58,7 +58,7 @@ describe('manager/github-actions/update', () => {
         managerData: { lineNumber: 17 },
         depName: 'replicated/dockerfilelint',
       };
-      const res = updateDependency(workflow2, upgrade);
+      const res = updateDependency({ fileContent: workflow2, upgrade });
       expect(res).toEqual(workflow2);
     });
     it('returns null if mismatch in yaml file', () => {
@@ -66,7 +66,7 @@ describe('manager/github-actions/update', () => {
         managerData: { lineNumber: 12 },
         newFrom: 'registry:2.6.2@sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(workflow2, upgrade);
+      const res = updateDependency({ fileContent: workflow2, upgrade });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/github-actions/update.ts b/lib/manager/github-actions/update.ts
index 449a403cda39d5bd322a95971acaff65ad6961c0..c5d932439e146323655c3bc860eca10c0f10c646 100644
--- a/lib/manager/github-actions/update.ts
+++ b/lib/manager/github-actions/update.ts
@@ -1,11 +1,11 @@
 import { logger } from '../../logger';
 import { getNewFrom } from '../dockerfile/update';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const newFrom = getNewFrom(upgrade);
     logger.debug(`github-actions.updateDependency(): ${newFrom}`);
diff --git a/lib/manager/gitlabci-include/update.spec.ts b/lib/manager/gitlabci-include/update.spec.ts
index 7a22839281129e322e7df62402fab1ceb4c9850c..a8c84ebbcb1fef891a9cb4639e636aad1bd7c76e 100644
--- a/lib/manager/gitlabci-include/update.spec.ts
+++ b/lib/manager/gitlabci-include/update.spec.ts
@@ -14,7 +14,7 @@ describe('manager/gitlabci-include/update', () => {
         depName: 'mikebryant/include-source-example',
         newValue: '1.0.1',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).not.toEqual(yamlFile);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -24,11 +24,11 @@ describe('manager/gitlabci-include/update', () => {
         depName: 'mikebryant/include-source-example',
         newValue: '1.0.0',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toEqual(yamlFile);
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/gitlabci-include/update.ts b/lib/manager/gitlabci-include/update.ts
index cb116aac3645fce67502f21220818538d394536b..41eab2d37f037f3896b95c870e434615123ccfbb 100644
--- a/lib/manager/gitlabci-include/update.ts
+++ b/lib/manager/gitlabci-include/update.ts
@@ -1,15 +1,15 @@
 import YAWN from 'yawn-yaml/cjs';
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  currentFileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const { depName, newValue } = upgrade;
 
-    const yawn = new YAWN(currentFileContent);
+    const yawn = new YAWN(fileContent);
 
     const doc = yawn.json;
 
diff --git a/lib/manager/gitlabci/update.spec.ts b/lib/manager/gitlabci/update.spec.ts
index 36f957e8f070a18e92cf520fe3efc53e5cc326e4..cc1538e28de11fb0ce51077f8651ad9d3719eb1c 100644
--- a/lib/manager/gitlabci/update.spec.ts
+++ b/lib/manager/gitlabci/update.spec.ts
@@ -16,7 +16,7 @@ describe('manager/gitlabci/update', () => {
         newValue: '7.0.0',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).not.toEqual(yamlFile);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -27,7 +27,7 @@ describe('manager/gitlabci/update', () => {
         depName: 'hadolint/hadolint',
         newValue: 'latest',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toEqual(yamlFile);
     });
     it('returns null if mismatch', () => {
@@ -38,7 +38,7 @@ describe('manager/gitlabci/update', () => {
         newValue: '9.6.8',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toBeNull();
     });
     it('replaces image-name value', () => {
@@ -48,7 +48,7 @@ describe('manager/gitlabci/update', () => {
         depName: 'image-name-test',
         newValue: '1.35',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).not.toEqual(yamlFile);
     });
     it('returns same image-name value', () => {
@@ -58,7 +58,7 @@ describe('manager/gitlabci/update', () => {
         depName: 'image-name-test',
         newValue: '1.15',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toEqual(yamlFile);
     });
     it('replaces service-image update', () => {
@@ -69,7 +69,7 @@ describe('manager/gitlabci/update', () => {
         newValue: '7.0.0',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).not.toEqual(yamlFile);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -81,7 +81,7 @@ describe('manager/gitlabci/update', () => {
         newValue: '9.6.8',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toBeNull();
     });
     it('returns service-image same', () => {
@@ -91,11 +91,11 @@ describe('manager/gitlabci/update', () => {
         depName: 'docker',
         newValue: 'dind',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toEqual(yamlFile);
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/gitlabci/update.ts b/lib/manager/gitlabci/update.ts
index 17d6a57163f3d1c5ae37696302f9538cbf75b703..77946b3ca3167d885377d07efc1b0a9a0a4bf864 100644
--- a/lib/manager/gitlabci/update.ts
+++ b/lib/manager/gitlabci/update.ts
@@ -1,14 +1,14 @@
 import { logger } from '../../logger';
 import { getNewFrom } from '../dockerfile/update';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  currentFileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const newFrom = getNewFrom(upgrade);
-    const lines = currentFileContent.split('\n');
+    const lines = fileContent.split('\n');
     const lineToChange = lines[upgrade.managerData.lineNumber];
     if (['image', 'image-name'].includes(upgrade.depType)) {
       const imageLine = /^(\s*(?:image|name):\s*'?"?)[^\s'"]+('?"?\s*)$/;
@@ -19,7 +19,7 @@ export function updateDependency(
       const newLine = lineToChange.replace(imageLine, `$1${newFrom}$2`);
       if (newLine === lineToChange) {
         logger.debug('No changes necessary');
-        return currentFileContent;
+        return fileContent;
       }
       lines[upgrade.managerData.lineNumber] = newLine;
       return lines.join('\n');
@@ -32,7 +32,7 @@ export function updateDependency(
     const newLine = lineToChange.replace(serviceLine, `$1${newFrom}$2`);
     if (newLine === lineToChange) {
       logger.debug('No changes necessary');
-      return currentFileContent;
+      return fileContent;
     }
     lines[upgrade.managerData.lineNumber] = newLine;
     return lines.join('\n');
diff --git a/lib/manager/gomod/update.spec.ts b/lib/manager/gomod/update.spec.ts
index 3782c7c44cc4530400663e539dd3a1f997357c6c..16a2a124bacf6b96fe24a5de93a001495aa733a0 100644
--- a/lib/manager/gomod/update.spec.ts
+++ b/lib/manager/gomod/update.spec.ts
@@ -13,7 +13,7 @@ describe('manager/gomod/update', () => {
         newValue: 'v0.8.0',
         depType: 'require',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).not.toEqual(gomod1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -24,7 +24,10 @@ describe('manager/gomod/update', () => {
         newValue: 'v0.8.0',
         depType: 'require',
       };
-      const res1 = updateDependency(gomod1, upgrade1);
+      const res1 = updateDependency({
+        fileContent: gomod1,
+        upgrade: upgrade1,
+      });
       expect(res1).not.toEqual(gomod1);
       expect(res1.includes(upgrade1.newValue)).toBe(true);
       const upgrade2 = {
@@ -33,7 +36,10 @@ describe('manager/gomod/update', () => {
         newValue: 'v1.15.36',
         depType: 'require',
       };
-      const res2 = updateDependency(res1, upgrade2);
+      const res2 = updateDependency({
+        fileContent: res1,
+        upgrade: upgrade2,
+      });
       expect(res2).not.toEqual(res1);
       expect(res2).toMatchSnapshot();
     });
@@ -43,7 +49,7 @@ describe('manager/gomod/update', () => {
         managerData: { lineNumber: 2 },
         newValue: 'v0.7.0',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).toEqual(gomod1);
     });
     it('replaces major updates > 1', () => {
@@ -56,7 +62,7 @@ describe('manager/gomod/update', () => {
         newValue: 'v2.0.0',
         depType: 'require',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).not.toEqual(gomod2);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res.includes('github.com/pkg/errors/v2')).toBe(true);
@@ -71,7 +77,7 @@ describe('manager/gomod/update', () => {
         newValue: 'v2.0.0',
         depType: 'require',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(gomod2);
       expect(res.includes('gopkg.in/russross/blackfriday.v2 v2.0.0')).toBe(
@@ -84,11 +90,11 @@ describe('manager/gomod/update', () => {
         managerData: { lineNumber: 2 },
         newValue: 'v1.15.36',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).toBeNull();
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
     it('replaces multiline', () => {
@@ -98,7 +104,7 @@ describe('manager/gomod/update', () => {
         newValue: 'v1.8.0',
         depType: 'require',
       };
-      const res = updateDependency(gomod2, upgrade);
+      const res = updateDependency({ fileContent: gomod2, upgrade });
       expect(res).not.toEqual(gomod2);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -109,7 +115,7 @@ describe('manager/gomod/update', () => {
         newValue: 'v4.8.0',
         depType: 'require',
       };
-      const res = updateDependency(gomod2, upgrade);
+      const res = updateDependency({ fileContent: gomod2, upgrade });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(gomod2);
       expect(res.includes(upgrade.newValue)).toBe(true);
@@ -124,7 +130,7 @@ describe('manager/gomod/update', () => {
         updateType: 'major',
         depType: 'require',
       };
-      const res = updateDependency(gomod2, upgrade);
+      const res = updateDependency({ fileContent: gomod2, upgrade });
       expect(res).not.toEqual(gomod2);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res.includes('github.com/emirpasic/gods/v2')).toBe(true);
@@ -139,7 +145,7 @@ describe('manager/gomod/update', () => {
         updateType: 'major',
         depType: 'require',
       };
-      const res = updateDependency(gomod2, upgrade);
+      const res = updateDependency({ fileContent: gomod2, upgrade });
       expect(res).not.toEqual(gomod2);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res.includes('github.com/src-d/gcfg/v3')).toBe(true);
@@ -154,7 +160,7 @@ describe('manager/gomod/update', () => {
         newDigest: '123456123456abcdef',
         depType: 'require',
       };
-      const res = updateDependency(gomod2, upgrade);
+      const res = updateDependency({ fileContent: gomod2, upgrade });
       expect(res).not.toEqual(gomod2);
       expect(res.includes(upgrade.newDigest)).toBe(false);
       expect(res.includes(upgrade.newDigest.substring(0, 12))).toBe(true);
@@ -169,7 +175,7 @@ describe('manager/gomod/update', () => {
         newDigest: '14d3d4c51834000000',
         depType: 'require',
       };
-      const res = updateDependency(gomod2, upgrade);
+      const res = updateDependency({ fileContent: gomod2, upgrade });
       expect(res).toEqual(gomod2);
     });
     it('handles multiline mismatch', () => {
@@ -179,7 +185,7 @@ describe('manager/gomod/update', () => {
         newValue: 'v1.8.0',
         depType: 'require',
       };
-      const res = updateDependency(gomod2, upgrade);
+      const res = updateDependency({ fileContent: gomod2, upgrade });
       expect(res).toBeNull();
     });
     it('handles +incompatible tag', () => {
@@ -189,7 +195,7 @@ describe('manager/gomod/update', () => {
         newValue: 'v26.0.0',
         depType: 'require',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).not.toEqual(gomod1);
       // Assert that the version still contains +incompatible tag.
       expect(res.includes(upgrade.newValue + '+incompatible')).toBe(true);
@@ -201,7 +207,7 @@ describe('manager/gomod/update', () => {
         newValue: 'v0.0.1',
         depType: 'replace',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).not.toEqual(gomod1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -215,7 +221,7 @@ describe('manager/gomod/update', () => {
         newMajor: 2,
         updateType: 'major',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).not.toEqual(gomod1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -231,7 +237,7 @@ describe('manager/gomod/update', () => {
         currentDigest: '14d3d4c51834',
         newDigest: '123456123456abcdef',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).not.toEqual(gomod1);
       expect(res.includes(upgrade.newDigest.substring(0, 12))).toBe(true);
     });
@@ -245,7 +251,7 @@ describe('manager/gomod/update', () => {
         newMajor: 6,
         updateType: 'major',
       };
-      const res = updateDependency(gomod1, upgrade);
+      const res = updateDependency({ fileContent: gomod1, upgrade });
       expect(res).not.toEqual(gomod1);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toContain(upgrade.depName + '/v6');
diff --git a/lib/manager/gomod/update.ts b/lib/manager/gomod/update.ts
index 32f32d1a69d1032eb156997272f9e77b84dc2198..d4c781634d4c86edf4c32a39f3e0fd7479eee834 100644
--- a/lib/manager/gomod/update.ts
+++ b/lib/manager/gomod/update.ts
@@ -1,10 +1,10 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  currentFileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     logger.debug(`gomod.updateDependency: ${upgrade.newValue}`);
     const { depName, depType } = upgrade;
@@ -15,7 +15,7 @@ export function updateDependency(
     if (depNameNoVersion.startsWith('gopkg.in')) {
       depNameNoVersion = depNameNoVersion.replace(/\.v\d+$/, '');
     }
-    const lines = currentFileContent.split('\n');
+    const lines = fileContent.split('\n');
     const lineToChange = lines[upgrade.managerData.lineNumber];
     if (
       !lineToChange.includes(depNameNoVersion) &&
@@ -50,7 +50,7 @@ export function updateDependency(
         upgrade.currentDigest.length
       );
       if (lineToChange.includes(newDigestRightSized)) {
-        return currentFileContent;
+        return fileContent;
       }
       logger.debug(
         { depName, lineToChange, newDigestRightSized },
@@ -105,7 +105,7 @@ export function updateDependency(
     }
     if (newLine === lineToChange) {
       logger.debug('No changes necessary');
-      return currentFileContent;
+      return fileContent;
     }
     lines[upgrade.managerData.lineNumber] = newLine;
     return lines.join('\n');
diff --git a/lib/manager/gradle-wrapper/update.spec.ts b/lib/manager/gradle-wrapper/update.spec.ts
index f692bcf1b5464fc8b462fd6e59517069093ae594..fc23c3217ac50c7eb0838d3903b3dbe9fa93e0e9 100644
--- a/lib/manager/gradle-wrapper/update.spec.ts
+++ b/lib/manager/gradle-wrapper/update.spec.ts
@@ -36,7 +36,10 @@ describe('manager/gradle-wrapper/update', () => {
       got.mockReturnValueOnce({
         body: checksum,
       });
-      const res = await dcUpdate.updateDependency(propertiesFile2, upgrade);
+      const res = await dcUpdate.updateDependency({
+        fileContent: propertiesFile2,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
       expect(res).not.toBeNull();
       expect(res).not.toEqual(propertiesFile2);
@@ -66,7 +69,10 @@ describe('manager/gradle-wrapper/update', () => {
       got.mockReturnValueOnce({
         body: checksum,
       });
-      const res = await dcUpdate.updateDependency(propertiesFile2, upgrade);
+      const res = await dcUpdate.updateDependency({
+        fileContent: propertiesFile2,
+        upgrade,
+      });
       expect(res).toEqual(propertiesFile2);
     });
 
@@ -86,7 +92,10 @@ describe('manager/gradle-wrapper/update', () => {
       got.mockRejectedValueOnce({
         statusCode: 404,
       });
-      const res = await dcUpdate.updateDependency(propertiesFile2, upgrade);
+      const res = await dcUpdate.updateDependency({
+        fileContent: propertiesFile2,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
 
@@ -104,12 +113,18 @@ describe('manager/gradle-wrapper/update', () => {
           'https://services.gradle.org/distributions/gradle-4.10.3-all.zip.sha256',
       };
       got.mockRejectedValueOnce(new Error());
-      const res = await dcUpdate.updateDependency(propertiesFile2, upgrade);
+      const res = await dcUpdate.updateDependency({
+        fileContent: propertiesFile2,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
 
     it('returns null if error', async () => {
-      const res = await dcUpdate.updateDependency(null, null);
+      const res = await dcUpdate.updateDependency({
+        fileContent: null,
+        upgrade: null,
+      });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/gradle-wrapper/update.ts b/lib/manager/gradle-wrapper/update.ts
index 3f1231061830237a95d5080f84d4be1ffe522d59..f47e6e2c378e202a37150ec7f38779e005e29167 100644
--- a/lib/manager/gradle-wrapper/update.ts
+++ b/lib/manager/gradle-wrapper/update.ts
@@ -1,6 +1,6 @@
 import got from '../../util/got';
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
 function replaceType(url: string): string {
   return url.replace('bin', 'all');
@@ -21,10 +21,10 @@ async function getChecksum(url: string): Promise<string> {
   }
 }
 
-export async function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): Promise<string | null> {
+export async function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): Promise<string | null> {
   try {
     logger.debug(upgrade, 'gradle-wrapper.updateDependency()');
     const lines = fileContent.split('\n');
diff --git a/lib/manager/gradle/index.spec.ts b/lib/manager/gradle/index.spec.ts
index 20cc691ddea0cfb2c0e0faab119f6f9c13f75b94..a5e5bf7cc67dccb3e74a12480387fbd4838ebc3a 100644
--- a/lib/manager/gradle/index.spec.ts
+++ b/lib/manager/gradle/index.spec.ts
@@ -231,10 +231,10 @@ describe('manager/gradle', () => {
       const upgrade = {
         depGroup: 'cglib', name: 'cglib-nodep', version: '3.1', newValue: '3.2.8'
       };
-      const buildGradleContentUpdated = manager.updateDependency(
-        buildGradleContent,
-        upgrade
-      );
+      const buildGradleContentUpdated = manager.updateDependency({
+        fileContent: buildGradleContent,
+        upgrade,
+      });
 
       expect(buildGradleContent).not.toMatch('cglib:cglib-nodep:3.2.8');
 
@@ -258,10 +258,10 @@ describe('manager/gradle', () => {
         version: '0.20.0',
         newValue: '0.21.0',
       };
-      const buildGradleContentUpdated = manager.updateDependency(
-        buildGradleContent,
-        upgrade
-      );
+      const buildGradleContentUpdated = manager.updateDependency({
+        fileContent: buildGradleContent,
+        upgrade,
+      });
 
       expect(buildGradleContent).not.toMatch(
         'id "com.github.ben-manes.versions" version "0.21.0"'
@@ -291,10 +291,10 @@ describe('manager/gradle', () => {
         version: '0.20.0',
         newValue: '0.21.0',
       };
-      const buildGradleContentUpdated = manager.updateDependency(
-        buildGradleContent,
-        upgrade
-      );
+      const buildGradleContentUpdated = manager.updateDependency({
+        fileContent: buildGradleContent,
+        upgrade,
+      });
 
       expect(buildGradleContent).not.toMatch(
         'id("com.github.ben-manes.versions") version "0.21.0"'
diff --git a/lib/manager/gradle/index.ts b/lib/manager/gradle/index.ts
index 0817e065c7d6e7ecb0a8a4c2621d2b8236e3f392..97db521cb0d6528803aa6e62c5e20efd3399bfde 100644
--- a/lib/manager/gradle/index.ts
+++ b/lib/manager/gradle/index.ts
@@ -15,7 +15,12 @@ import {
   createRenovateGradlePlugin,
   extractDependenciesFromUpdatesReport,
 } from './gradle-updates-report';
-import { PackageFile, ExtractConfig, Upgrade } from '../common';
+import {
+  PackageFile,
+  ExtractConfig,
+  Upgrade,
+  UpdateDependencyConfig,
+} from '../common';
 import { platform } from '../../platform';
 import { LANGUAGE_JAVA } from '../../constants/languages';
 import { DATASOURCE_MAVEN } from '../../constants/data-binary-source';
@@ -161,10 +166,10 @@ function buildGradleDependency(config: Upgrade): GradleDependency {
   return { group: config.depGroup, name: config.name, version: config.version };
 }
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string {
   // prettier-ignore
   logger.debug(`gradle.updateDependency(): packageFile:${upgrade.packageFile} depName:${upgrade.depName}, version:${upgrade.currentVersion} ==> ${upgrade.newValue}`);
 
diff --git a/lib/manager/helm-requirements/update.spec.ts b/lib/manager/helm-requirements/update.spec.ts
index 947c266ef3c5b3582df47e7e2ed94b9001e6efd3..31a705706cd6493d2b255a38dfceedeb1d6fd24f 100644
--- a/lib/manager/helm-requirements/update.spec.ts
+++ b/lib/manager/helm-requirements/update.spec.ts
@@ -14,7 +14,7 @@ describe('lib/manager/helm-requirements/update', () => {
       `;
       const upgrade = undefined;
 
-      expect(updateDependency(content, upgrade)).toBe(content);
+      expect(updateDependency({ fileContent: content, upgrade })).toBe(content);
     });
     it('returns the same fileContent for invalid requirements.yaml file', () => {
       const content = `
@@ -25,7 +25,7 @@ describe('lib/manager/helm-requirements/update', () => {
         newValue: '0.11.0',
         repository: 'https://kubernetes-charts.storage.googleapis.com/',
       };
-      expect(updateDependency(content, upgrade)).toBe(content);
+      expect(updateDependency({ fileContent: content, upgrade })).toBe(content);
     });
     it('returns the same fileContent for empty upgrade', () => {
       const content = `
@@ -38,7 +38,7 @@ describe('lib/manager/helm-requirements/update', () => {
           repository: https://kubernetes-charts.storage.googleapis.com/
       `;
       const upgrade = {};
-      expect(updateDependency(content, upgrade)).toBe(content);
+      expect(updateDependency({ fileContent: content, upgrade })).toBe(content);
     });
     it('upgrades dependency if valid upgrade', () => {
       const content = `
@@ -55,8 +55,12 @@ describe('lib/manager/helm-requirements/update', () => {
         newValue: '0.11.0',
         repository: 'https://kubernetes-charts.storage.googleapis.com/',
       };
-      expect(updateDependency(content, upgrade)).not.toBe(content);
-      expect(updateDependency(content, upgrade)).toMatchSnapshot();
+      expect(updateDependency({ fileContent: content, upgrade })).not.toBe(
+        content
+      );
+      expect(
+        updateDependency({ fileContent: content, upgrade })
+      ).toMatchSnapshot();
     });
     it('upgrades dependency if version field comes before name field', () => {
       const content = `
@@ -73,8 +77,12 @@ describe('lib/manager/helm-requirements/update', () => {
         newValue: '0.11.0',
         repository: 'https://kubernetes-charts.storage.googleapis.com/',
       };
-      expect(updateDependency(content, upgrade)).not.toBe(content);
-      expect(updateDependency(content, upgrade)).toMatchSnapshot();
+      expect(updateDependency({ fileContent: content, upgrade })).not.toBe(
+        content
+      );
+      expect(
+        updateDependency({ fileContent: content, upgrade })
+      ).toMatchSnapshot();
     });
     it('upgrades dependency if newValue version value is repeated', () => {
       const content = `
@@ -91,8 +99,12 @@ describe('lib/manager/helm-requirements/update', () => {
         newValue: '0.11.0',
         repository: 'https://kubernetes-charts.storage.googleapis.com/',
       };
-      expect(updateDependency(content, upgrade)).not.toBe(content);
-      expect(updateDependency(content, upgrade)).toMatchSnapshot();
+      expect(updateDependency({ fileContent: content, upgrade })).not.toBe(
+        content
+      );
+      expect(
+        updateDependency({ fileContent: content, upgrade })
+      ).toMatchSnapshot();
     });
   });
 });
diff --git a/lib/manager/helm-requirements/update.ts b/lib/manager/helm-requirements/update.ts
index 80f4d56ac92bbdd870c7dbaa983cce92a0bfdf70..a3c6d7855ad676d769cdbf9c87256ee71a2d666b 100644
--- a/lib/manager/helm-requirements/update.ts
+++ b/lib/manager/helm-requirements/update.ts
@@ -3,7 +3,7 @@ import yaml from 'js-yaml';
 import is from '@sindresorhus/is';
 
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
 // Return true if the match string is found at index in content
 function matchAt(content: string, index: number, match: string): boolean {
@@ -25,10 +25,10 @@ function replaceAt(
   );
 }
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   logger.trace({ config: upgrade }, 'updateDependency()');
   if (!upgrade || !upgrade.depName || !upgrade.newValue) {
     logger.debug('Failed to update dependency, invalid upgrade');
diff --git a/lib/manager/homebrew/update.spec.ts b/lib/manager/homebrew/update.spec.ts
index c66887f47b6644c25e126df768ab8cf9e5e43728..38c4e0c2b99fd8bf01810e7c38843a6b4f204e44 100644
--- a/lib/manager/homebrew/update.spec.ts
+++ b/lib/manager/homebrew/update.spec.ts
@@ -35,7 +35,10 @@ describe('manager/homebrew/update', () => {
       newValue: 'v0.17.7',
     };
     fromStream.mockResolvedValueOnce('new_hash_value');
-    const newContent = await updateDependency(aide, upgrade);
+    const newContent = await updateDependency({
+      fileContent: aide,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).not.toBe(aide);
     expect(newContent).toMatchSnapshot();
@@ -55,7 +58,10 @@ describe('manager/homebrew/update', () => {
       newValue: 'v0.9.3',
     };
     fromStream.mockResolvedValueOnce('new_hash_value');
-    const newContent = await updateDependency(ibazel, upgrade);
+    const newContent = await updateDependency({
+      fileContent: ibazel,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).not.toBe(ibazel);
     expect(newContent).toMatchSnapshot();
@@ -75,7 +81,10 @@ describe('manager/homebrew/update', () => {
       newValue: 'v0.9.3',
     };
     fromStream.mockRejectedValueOnce('Request failed');
-    const newContent = await updateDependency(ibazel, upgrade);
+    const newContent = await updateDependency({
+      fileContent: ibazel,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(ibazel);
   });
@@ -94,7 +103,10 @@ describe('manager/homebrew/update', () => {
       newValue: 'v0.9.3',
     };
     fromStream.mockResolvedValueOnce('some_content');
-    const newContent = await updateDependency(content, upgrade);
+    const newContent = await updateDependency({
+      fileContent: content,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(content);
   });
@@ -116,7 +128,10 @@ describe('manager/homebrew/update', () => {
     fromStream
       .mockRejectedValueOnce('Request failed')
       .mockResolvedValueOnce('some_content');
-    const newContent = await updateDependency(content, upgrade);
+    const newContent = await updateDependency({
+      fileContent: content,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(content);
   });
@@ -138,7 +153,10 @@ describe('manager/homebrew/update', () => {
     fromStream
       .mockRejectedValueOnce('Request failed')
       .mockResolvedValueOnce('some_content');
-    const newContent = await updateDependency(content, upgrade);
+    const newContent = await updateDependency({
+      fileContent: content,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(content);
   });
@@ -165,7 +183,10 @@ describe('manager/homebrew/update', () => {
       newValue: 'v0.9.3',
     };
     fromStream.mockResolvedValueOnce('some_content');
-    const newContent = await updateDependency(content, upgrade);
+    const newContent = await updateDependency({
+      fileContent: content,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(content);
   });
@@ -191,7 +212,10 @@ describe('manager/homebrew/update', () => {
       newValue: 'v0.9.3',
     };
     fromStream.mockResolvedValueOnce('some_content');
-    const newContent = await updateDependency(content, upgrade);
+    const newContent = await updateDependency({
+      fileContent: content,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(content);
   });
@@ -218,7 +242,10 @@ describe('manager/homebrew/update', () => {
       newValue: 'v0.9.3',
     };
     fromStream.mockResolvedValueOnce('some_content');
-    const newContent = await updateDependency(content, upgrade);
+    const newContent = await updateDependency({
+      fileContent: content,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(content);
   });
@@ -244,7 +271,10 @@ describe('manager/homebrew/update', () => {
       newValue: 'v0.9.3',
     };
     fromStream.mockResolvedValueOnce('some_content');
-    const newContent = await updateDependency(content, upgrade);
+    const newContent = await updateDependency({
+      fileContent: content,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(content);
   });
@@ -265,7 +295,10 @@ describe('manager/homebrew/update', () => {
     fromStream
       .mockRejectedValueOnce('Request failed.')
       .mockRejectedValueOnce('Request failed.');
-    const newContent = await updateDependency(aide, upgrade);
+    const newContent = await updateDependency({
+      fileContent: aide,
+      upgrade,
+    });
     expect(newContent).not.toBeNull();
     expect(newContent).toBe(aide);
     expect(newContent).toMatchSnapshot();
diff --git a/lib/manager/homebrew/update.ts b/lib/manager/homebrew/update.ts
index fd4b23b687f52aa67dfdc786831d13dbb0fc22c6..5c63b8afb2b2250c61207b885efbd0a5c546b3d8 100644
--- a/lib/manager/homebrew/update.ts
+++ b/lib/manager/homebrew/update.ts
@@ -4,7 +4,7 @@ import { parseUrlPath } from './extract';
 import { skip, isSpace, removeComments } from './util';
 import got from '../../util/got';
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
 function replaceUrl(
   idx: number,
@@ -134,15 +134,15 @@ function updateSha256(
 }
 
 // TODO: Refactor
-export async function updateDependency(
-  content: string,
-  upgrade: Upgrade
-): Promise<string> {
+export async function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): Promise<string> {
   logger.trace('updateDependency()');
   /*
     1. Update url field 2. Update sha256 field
    */
-  let newContent = content;
+  let newContent = fileContent;
   let newUrl: string;
   // Example urls:
   // "https://github.com/bazelbuild/bazel-watcher/archive/v0.8.2.tar.gz"
@@ -152,7 +152,7 @@ export async function updateDependency(
     logger.debug(
       `Failed to update - upgrade.managerData.url is invalid ${upgrade.depName}`
     );
-    return content;
+    return fileContent;
   }
   let newSha256;
   try {
@@ -177,33 +177,33 @@ export async function updateDependency(
       logger.debug(
         `Failed to download archive download for ${upgrade.depName} - update failed`
       );
-      return content;
+      return fileContent;
     }
   }
   if (!newSha256) {
     logger.debug(
       `Failed to generate new sha256 for ${upgrade.depName} - update failed`
     );
-    return content;
+    return fileContent;
   }
   const newParsedUrlPath = parseUrlPath(newUrl);
   if (!newParsedUrlPath) {
     logger.debug(`Failed to update url for dependency ${upgrade.depName}`);
-    return content;
+    return fileContent;
   }
   if (upgrade.newValue !== newParsedUrlPath.currentValue) {
     logger.debug(`Failed to update url for dependency ${upgrade.depName}`);
-    return content;
+    return fileContent;
   }
-  newContent = updateUrl(content, upgrade.managerData.url, newUrl);
+  newContent = updateUrl(fileContent, upgrade.managerData.url, newUrl);
   if (!newContent) {
     logger.debug(`Failed to update url for dependency ${upgrade.depName}`);
-    return content;
+    return fileContent;
   }
   newContent = updateSha256(newContent, upgrade.managerData.sha256, newSha256);
   if (!newContent) {
     logger.debug(`Failed to update sha256 for dependency ${upgrade.depName}`);
-    return content;
+    return fileContent;
   }
   return newContent;
 }
diff --git a/lib/manager/kubernetes/update.spec.ts b/lib/manager/kubernetes/update.spec.ts
index 100422c20a57a26b1fdf47b7aa7677c06d857c8d..a853ed1a0703f25a26bae7283c1576ec6aa2be8a 100644
--- a/lib/manager/kubernetes/update.spec.ts
+++ b/lib/manager/kubernetes/update.spec.ts
@@ -20,7 +20,7 @@ describe('manager/kubernetes/update', () => {
         newValue: '1.15.1',
         newDigest: 'sha256:abcdefghijklmnop',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).not.toEqual(yamlFile);
       expect(res.includes(upgrade.newDigest)).toBe(true);
     });
@@ -30,7 +30,7 @@ describe('manager/kubernetes/update', () => {
         depName: 'k8s.gcr.io/kube-proxy-amd64',
         newValue: 'v1.11.1',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toEqual(yamlFile);
     });
     it('returns null if mismatch', () => {
@@ -38,11 +38,11 @@ describe('manager/kubernetes/update', () => {
         managerData: { lineNumber: 1 },
         newFrom: 'k8s.gcr.io/kube-proxy-amd64:v1.11.1',
       };
-      const res = updateDependency(yamlFile, upgrade);
+      const res = updateDependency({ fileContent: yamlFile, upgrade });
       expect(res).toBeNull();
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
     it('replaces image inside YAML array', () => {
@@ -51,7 +51,10 @@ describe('manager/kubernetes/update', () => {
         depName: 'quay.io/external_storage/local-volume-provisioner',
         newValue: 'v2.2.0',
       };
-      const res = updateDependency(arraySyntaxFile, upgrade);
+      const res = updateDependency({
+        fileContent: arraySyntaxFile,
+        upgrade,
+      });
       expect(res).not.toEqual(arraySyntaxFile);
       expect(res).toMatchSnapshot();
     });
diff --git a/lib/manager/kubernetes/update.ts b/lib/manager/kubernetes/update.ts
index a471bd4dcc5001797a549b266e23691a797dc77c..f45229fc589a3f9783f982638d300f24e5e7238f 100644
--- a/lib/manager/kubernetes/update.ts
+++ b/lib/manager/kubernetes/update.ts
@@ -1,11 +1,11 @@
 import { logger } from '../../logger';
 import { getNewFrom } from '../dockerfile/update';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const newFrom = getNewFrom(upgrade);
     logger.debug(`kubernetes.updateDependency(): ${newFrom}`);
diff --git a/lib/manager/maven/index.spec.ts b/lib/manager/maven/index.spec.ts
index 86b656185058bd4d7ad5200d789c2fe4838ec673..75c7d9b49a21230031ecb838dd710a94074bc734 100644
--- a/lib/manager/maven/index.spec.ts
+++ b/lib/manager/maven/index.spec.ts
@@ -61,7 +61,10 @@ describe('manager/maven', () => {
       const { deps } = extractPackage(pomContent);
       const dep = selectDep(deps);
       const upgrade = { ...dep, newValue };
-      const updatedContent = updateDependency(pomContent, upgrade);
+      const updatedContent = updateDependency({
+        fileContent: pomContent,
+        upgrade,
+      });
       const updatedDep = selectDep(extractPackage(updatedContent).deps);
 
       expect(updatedDep.currentValue).toEqual(newValue);
@@ -79,7 +82,10 @@ describe('manager/maven', () => {
       const [{ deps }] = packages;
       const dep = deps.find(finder);
       const upgrade = { ...dep, newValue };
-      const updatedContent = updateDependency(pomParent, upgrade);
+      const updatedContent = updateDependency({
+        fileContent: pomParent,
+        upgrade,
+      });
       const [updatedPkg] = resolveParents([
         extractPackage(updatedContent, 'parent.pom.xml'),
         extractPackage(pomChild, 'child.pom.xml'),
@@ -117,7 +123,10 @@ describe('manager/maven', () => {
       const { deps } = extractPackage(pomContent);
       const dep = selectDep(deps);
       const upgrade = { ...dep, newValue };
-      const updatedContent = updateDependency(pomContent, upgrade);
+      const updatedContent = updateDependency({
+        fileContent: pomContent,
+        upgrade,
+      });
 
       expect(pomContent).toBe(updatedContent);
     });
@@ -134,25 +143,37 @@ describe('manager/maven', () => {
 
       const updatedOutside = origContent.replace('1.0.0', '1.0.1');
 
-      expect(updateDependency(origContent, upgrade1)).toEqual(
-        origContent.replace('1.0.0', '1.0.2')
-      );
-      expect(updateDependency(updatedOutside, upgrade1)).toEqual(
-        origContent.replace('1.0.0', '1.0.2')
-      );
-
-      const updatedByPrevious = updateDependency(origContent, upgrade1);
-
-      expect(updateDependency(updatedByPrevious, upgrade2)).toEqual(
-        origContent.replace('1.0.0', '1.0.3')
-      );
-      expect(updateDependency(updatedOutside, upgrade2)).toEqual(
-        origContent.replace('1.0.0', '1.0.3')
-      );
+      expect(
+        updateDependency({ fileContent: origContent, upgrade: upgrade1 })
+      ).toEqual(origContent.replace('1.0.0', '1.0.2'));
+      expect(
+        updateDependency({
+          fileContent: updatedOutside,
+          upgrade: upgrade1,
+        })
+      ).toEqual(origContent.replace('1.0.0', '1.0.2'));
+
+      const updatedByPrevious = updateDependency({
+        fileContent: origContent,
+        upgrade: upgrade1,
+      });
 
-      expect(updateDependency(origContent, upgrade2)).toEqual(
-        origContent.replace('1.0.0', '1.0.3')
-      );
+      expect(
+        updateDependency({
+          fileContent: updatedByPrevious,
+          upgrade: upgrade2,
+        })
+      ).toEqual(origContent.replace('1.0.0', '1.0.3'));
+      expect(
+        updateDependency({
+          fileContent: updatedOutside,
+          upgrade: upgrade2,
+        })
+      ).toEqual(origContent.replace('1.0.0', '1.0.3'));
+
+      expect(
+        updateDependency({ fileContent: origContent, upgrade: upgrade2 })
+      ).toEqual(origContent.replace('1.0.0', '1.0.3'));
     });
 
     it('should return null for ungrouped deps if content was updated outside', async () => {
@@ -161,7 +182,9 @@ describe('manager/maven', () => {
       const dep = selectDep(deps, 'org.example:bar');
       const upgrade = { ...dep, newValue: '2.0.2' };
       const updatedOutside = origContent.replace('2.0.0', '2.0.1');
-      expect(updateDependency(updatedOutside, upgrade)).toBeNull();
+      expect(
+        updateDependency({ fileContent: updatedOutside, upgrade })
+      ).toBeNull();
     });
 
     it('should return null if current versions in content and upgrade are not same', () => {
@@ -171,7 +194,10 @@ describe('manager/maven', () => {
       const { deps } = extractPackage(pomContent);
       const dep = selectDep(deps);
       const upgrade = { ...dep, currentValue, newValue };
-      const updatedContent = updateDependency(pomContent, upgrade);
+      const updatedContent = updateDependency({
+        fileContent: pomContent,
+        upgrade,
+      });
 
       expect(updatedContent).toBeNull();
     });
@@ -182,7 +208,9 @@ describe('manager/maven', () => {
       const oldContent = extractPackage(pomContent);
       const dep = select(oldContent);
       const upgrade = { ...dep, newValue };
-      const newContent = extractPackage(updateDependency(pomContent, upgrade));
+      const newContent = extractPackage(
+        updateDependency({ fileContent: pomContent, upgrade })
+      );
       const newDep = select(newContent);
       expect(newDep.currentValue).toEqual(newValue);
     });
@@ -196,7 +224,9 @@ describe('manager/maven', () => {
       const dep = select(oldContent);
       expect(dep).not.toEqual(null);
       const upgrade = { ...dep, newValue };
-      expect(updateDependency(pomContent, upgrade)).toEqual(pomContent);
+      expect(updateDependency({ fileContent: pomContent, upgrade })).toEqual(
+        pomContent
+      );
     });
   });
 });
diff --git a/lib/manager/maven/update.ts b/lib/manager/maven/update.ts
index c25dab1eb629ccb76d487e944a88c07a3c23f810..18526fd0b6e03c7c715db24a33490dd96e2c2d6b 100644
--- a/lib/manager/maven/update.ts
+++ b/lib/manager/maven/update.ts
@@ -1,5 +1,5 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig, Upgrade } from '../common';
 
 export function updateAtPosition(
   fileContent: string,
@@ -24,10 +24,10 @@ export function updateAtPosition(
   return null;
 }
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   const offset = fileContent.indexOf('<');
   const spaces = fileContent.slice(0, offset);
   const restContent = fileContent.slice(offset);
diff --git a/lib/manager/meteor/update.spec.ts b/lib/manager/meteor/update.spec.ts
index 1f00b68a540d3ee385c714d39c8c24e35aba3bd6..81a11e22765096fb2a7cb1e1d6d3948836514fb1 100644
--- a/lib/manager/meteor/update.spec.ts
+++ b/lib/manager/meteor/update.spec.ts
@@ -17,7 +17,10 @@ describe('workers/branch/package-js', () => {
         currentValue: '0.1.19',
         newValue: '0.22.1',
       };
-      const testContent = updateDependency(input01Content, upgrade);
+      const testContent = updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
       expect(testContent).toMatchSnapshot();
     });
     it('handles alternative quotes and white space', () => {
@@ -26,7 +29,10 @@ describe('workers/branch/package-js', () => {
         currentValue: '0.1.19',
         newValue: '0.22.1',
       };
-      const testContent = updateDependency(input02Content, upgrade);
+      const testContent = updateDependency({
+        fileContent: input02Content,
+        upgrade,
+      });
       expect(testContent).toMatchSnapshot();
     });
     it('handles the case where the desired version is already supported', () => {
@@ -35,7 +41,10 @@ describe('workers/branch/package-js', () => {
         currentValue: '0.2.0',
         newValue: '0.2.0',
       };
-      const testContent = updateDependency(input01Content, upgrade);
+      const testContent = updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
       expect(testContent).toEqual(input01Content);
     });
   });
diff --git a/lib/manager/meteor/update.ts b/lib/manager/meteor/update.ts
index c84a535bce50db11e4c6d5fbedcbb80107fed5d8..dea549a5b94d0ef543d06eafb3d6cb7cbc58acbe 100644
--- a/lib/manager/meteor/update.ts
+++ b/lib/manager/meteor/update.ts
@@ -1,10 +1,10 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string {
   const { depName, currentValue, newValue } = upgrade;
   logger.debug(`meteor.updateDependency(): ${depName} = ${newValue}`);
   const regexReplace = new RegExp(
diff --git a/lib/manager/mix/update.spec.ts b/lib/manager/mix/update.spec.ts
index 1ecd8425b5c56e2212818add33d6a6ed2cceae77..12885902a8a1348bf117cd3c7a4b9c0cf7826be1 100644
--- a/lib/manager/mix/update.spec.ts
+++ b/lib/manager/mix/update.spec.ts
@@ -15,7 +15,7 @@ describe('lib/manager/mix/update', () => {
         managerData: { lineNumber: 18 },
         newValue: '~> 0.8.2',
       };
-      const res = updateDependency(sample, upgrade);
+      const res = updateDependency({ fileContent: sample, upgrade });
       expect(res).not.toEqual(sample);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -25,7 +25,7 @@ describe('lib/manager/mix/update', () => {
         managerData: { lineNumber: 18 },
         newValue: '~> 0.8.1',
       };
-      const res = updateDependency(sample, upgrade);
+      const res = updateDependency({ fileContent: sample, upgrade });
       expect(res).toEqual(sample);
     });
     it('returns null if wrong line', () => {
@@ -34,7 +34,7 @@ describe('lib/manager/mix/update', () => {
         managerData: { lineNumber: 19 },
         newValue: '~> 0.8.2',
       };
-      const res = updateDependency(sample, upgrade);
+      const res = updateDependency({ fileContent: sample, upgrade });
       expect(res).toBeNull();
     });
     it('returns null for unsupported depType', () => {
@@ -43,7 +43,7 @@ describe('lib/manager/mix/update', () => {
         managerData: { lineNumber: 19 },
         newValue: '~> 0.8.2',
       };
-      const res = updateDependency(sample, upgrade);
+      const res = updateDependency({ fileContent: sample, upgrade });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/mix/update.ts b/lib/manager/mix/update.ts
index c4922fb0ee469cdee5d56a7628c7355f7d41208e..bb5a6530ba41dc1c0344871b05cc52926d621f3b 100644
--- a/lib/manager/mix/update.ts
+++ b/lib/manager/mix/update.ts
@@ -1,10 +1,10 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   logger.debug(`mix.updateDependency: ${upgrade.newValue}`);
 
   const lines = fileContent.split('\n');
diff --git a/lib/manager/npm/update.spec.ts b/lib/manager/npm/update.spec.ts
index 98354a07408add9616d1a6a74a77f59614edd451..69febbf05e440cfa0f06023ed0dd01aad5c94866 100644
--- a/lib/manager/npm/update.spec.ts
+++ b/lib/manager/npm/update.spec.ts
@@ -21,7 +21,10 @@ describe('workers/branch/package-json', () => {
         newValue: '0.22.1',
       };
       const outputContent = readFixture('outputs/011.json');
-      const testContent = npmUpdater.updateDependency(input01Content, upgrade);
+      const testContent = npmUpdater.updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
       expect(testContent).toEqual(outputContent);
     });
     it('replaces a github dependency value', () => {
@@ -37,7 +40,10 @@ describe('workers/branch/package-json', () => {
           gulp: 'gulpjs/gulp#v4.0.0-alpha.2',
         },
       });
-      const res = npmUpdater.updateDependency(input, upgrade);
+      const res = npmUpdater.updateDependency({
+        fileContent: input,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
     });
     it('replaces a npm package alias', () => {
@@ -54,7 +60,10 @@ describe('workers/branch/package-json', () => {
           hapi: 'npm:@hapi/hapi@18.3.0',
         },
       });
-      const res = npmUpdater.updateDependency(input, upgrade);
+      const res = npmUpdater.updateDependency({
+        fileContent: input,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
     });
     it('replaces a github short hash', () => {
@@ -70,7 +79,10 @@ describe('workers/branch/package-json', () => {
           gulp: 'gulpjs/gulp#abcdef7',
         },
       });
-      const res = npmUpdater.updateDependency(input, upgrade);
+      const res = npmUpdater.updateDependency({
+        fileContent: input,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
     });
     it('replaces a github fully specified version', () => {
@@ -86,7 +98,10 @@ describe('workers/branch/package-json', () => {
           n: 'git+https://github.com/owner/n#v1.0.0',
         },
       });
-      const res = npmUpdater.updateDependency(input, upgrade);
+      const res = npmUpdater.updateDependency({
+        fileContent: input,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
       expect(res.includes('v1.1.0')).toBe(true);
     });
@@ -96,7 +111,10 @@ describe('workers/branch/package-json', () => {
         depName: 'config',
         newValue: '1.22.0',
       };
-      const testContent = npmUpdater.updateDependency(input01Content, upgrade);
+      const testContent = npmUpdater.updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
       expect(JSON.parse(testContent).dependencies.config).toEqual('1.22.0');
       expect(JSON.parse(testContent).resolutions.config).toEqual('1.22.0');
     });
@@ -106,10 +124,10 @@ describe('workers/branch/package-json', () => {
         depName: 'config',
         newValue: '1.22.0',
       };
-      const testContent = npmUpdater.updateDependency(
-        input01GlobContent,
-        upgrade
-      );
+      const testContent = npmUpdater.updateDependency({
+        fileContent: input01GlobContent,
+        upgrade,
+      });
       expect(JSON.parse(testContent).dependencies.config).toEqual('1.22.0');
       expect(JSON.parse(testContent).resolutions['**/config']).toEqual(
         '1.22.0'
@@ -122,7 +140,10 @@ describe('workers/branch/package-json', () => {
         newValue: '1.6.1',
       };
       const outputContent = readFixture('outputs/012.json');
-      const testContent = npmUpdater.updateDependency(input01Content, upgrade);
+      const testContent = npmUpdater.updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
       expect(testContent).toEqual(outputContent);
     });
     it('replaces only the second instance of a value', () => {
@@ -132,7 +153,10 @@ describe('workers/branch/package-json', () => {
         newValue: '1.6.1',
       };
       const outputContent = readFixture('outputs/013.json');
-      const testContent = npmUpdater.updateDependency(input01Content, upgrade);
+      const testContent = npmUpdater.updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
       expect(testContent).toEqual(outputContent);
     });
     it('handles the case where the desired version is already supported', () => {
@@ -141,7 +165,10 @@ describe('workers/branch/package-json', () => {
         depName: 'angular-touch',
         newValue: '1.5.8',
       };
-      const testContent = npmUpdater.updateDependency(input01Content, upgrade);
+      const testContent = npmUpdater.updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
       expect(testContent).toEqual(input01Content);
     });
     it('returns null if throws error', () => {
@@ -150,7 +177,10 @@ describe('workers/branch/package-json', () => {
         depName: 'angular-touch-not',
         newValue: '1.5.8',
       };
-      const testContent = npmUpdater.updateDependency(input01Content, upgrade);
+      const testContent = npmUpdater.updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
       expect(testContent).toBeNull();
     });
   });
diff --git a/lib/manager/npm/update.ts b/lib/manager/npm/update.ts
index c24b044236e3258b3076e51987a9d0104eb9e53c..74f5080d48e80c94f1ccae399fad2a757115fbda 100644
--- a/lib/manager/npm/update.ts
+++ b/lib/manager/npm/update.ts
@@ -1,7 +1,7 @@
 import { isEqual } from 'lodash';
 import { inc, ReleaseType } from 'semver';
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
 // Return true if the match string is found at index in content
 function matchAt(content: string, index: number, match: string): boolean {
@@ -76,10 +76,10 @@ export function bumpPackageVersion(
   }
 }
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   const { depType, depName } = upgrade;
   let { newValue } = upgrade;
   if (upgrade.currentRawValue) {
diff --git a/lib/manager/nuget/update.spec.ts b/lib/manager/nuget/update.spec.ts
index a829cb806bc623f63b6f5e2c067b630deb6af305..71cad62857149acc24ae208313ff2c5ea6f506eb 100644
--- a/lib/manager/nuget/update.spec.ts
+++ b/lib/manager/nuget/update.spec.ts
@@ -13,7 +13,7 @@ describe('manager/nuget/update', () => {
         managerData: { lineNumber: 13 },
         newVersion: '5.0.0',
       };
-      const res = updateDependency(csProj, upgrade);
+      const res = updateDependency({ fileContent: csProj, upgrade });
       expect(res).not.toEqual(csProj);
     });
     it('replaces left boundary value', () => {
@@ -23,7 +23,7 @@ describe('manager/nuget/update', () => {
           managerData: { lineNumber: i },
           newVersion: i + '.2.1',
         };
-        res = updateDependency(res, upgrade);
+        res = updateDependency({ fileContent: res, upgrade });
       }
       expect(res).toMatchSnapshot();
     });
@@ -32,11 +32,14 @@ describe('manager/nuget/update', () => {
         managerData: { lineNumber: 13 },
         newVersion: '4.1.0',
       };
-      const res = updateDependency(csProj, upgrade);
+      const res = updateDependency({ fileContent: csProj, upgrade });
       expect(res).toEqual(csProj);
     });
     it('returns null on errors', () => {
-      const res = updateDependency(csProj, null);
+      const res = updateDependency({
+        fileContent: csProj,
+        upgrade: null,
+      });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/nuget/update.ts b/lib/manager/nuget/update.ts
index 6a45c45aa872006d8fab370704bfe7d1aabfbaa1..8051c960719378199251227e6265839548744592 100644
--- a/lib/manager/nuget/update.ts
+++ b/lib/manager/nuget/update.ts
@@ -1,10 +1,10 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     logger.debug(`nuget.updateDependency(): ${upgrade.newFrom}`);
     const lines = fileContent.split('\n');
diff --git a/lib/manager/nvm/update.spec.ts b/lib/manager/nvm/update.spec.ts
index a12cd2f71a8cd4cba23ec6888ba5e60a4d0d035a..4327bac986cdf2aebd7e308399054e2a774a9a10 100644
--- a/lib/manager/nvm/update.spec.ts
+++ b/lib/manager/nvm/update.spec.ts
@@ -6,7 +6,7 @@ describe('manager/nvm/update', () => {
       const upgrade = {
         newValue: '8.9.1',
       };
-      const res = updateDependency('8.9.0\n', upgrade);
+      const res = updateDependency({ fileContent: '8.9.0\n', upgrade });
       expect(res).toMatchSnapshot();
     });
   });
diff --git a/lib/manager/nvm/update.ts b/lib/manager/nvm/update.ts
index 0ad7ac1ada89fc5b2ba62c0548995e97a41f171a..7707618cf4d4caa5f5bc7b144faf299933166e02 100644
--- a/lib/manager/nvm/update.ts
+++ b/lib/manager/nvm/update.ts
@@ -1,10 +1,7 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  _fileContent: string,
-  upgrade: Upgrade
-): string {
+export function updateDependency({ upgrade }: UpdateDependencyConfig): string {
   logger.debug(`nvm.updateDependency(): ${upgrade.newVersion}`);
   return `${upgrade.newValue}\n`;
 }
diff --git a/lib/manager/pip_requirements/update.spec.ts b/lib/manager/pip_requirements/update.spec.ts
index 69b85f9af12e6d100b883220329efb2e540ee4b1..19a31a0030e7c2683463b36f91c4b2a065c8fb34 100644
--- a/lib/manager/pip_requirements/update.spec.ts
+++ b/lib/manager/pip_requirements/update.spec.ts
@@ -34,13 +34,16 @@ describe('manager/pip_requirements/update', () => {
         managerData: { lineNumber: 2 },
         newValue: '==1.0.1',
       };
-      const res = updateDependency(requirements, upgrade);
+      const res = updateDependency({
+        fileContent: requirements,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(requirements);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
     it('replaces existing value with comment', () => {
@@ -49,7 +52,10 @@ describe('manager/pip_requirements/update', () => {
         managerData: { lineNumber: 3 },
         newValue: '==2.4.6',
       };
-      const res = updateDependency(requirements3, upgrade);
+      const res = updateDependency({
+        fileContent: requirements3,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(requirements3);
       expect(res.includes(upgrade.newValue)).toBe(true);
@@ -61,7 +67,10 @@ describe('manager/pip_requirements/update', () => {
         managerData: { lineNumber: 1 },
         newValue: '==4.1.2',
       };
-      const res = updateDependency(requirements4, upgrade);
+      const res = updateDependency({
+        fileContent: requirements4,
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(requirements4);
       expect(res.includes(upgrade.newValue)).toBe(true);
@@ -72,7 +81,7 @@ describe('manager/pip_requirements/update', () => {
         managerData: { lineNumber: 64 },
         newValue: '>=2.11.0',
       };
-      const res = updateDependency(setupPy1, upgrade);
+      const res = updateDependency({ fileContent: setupPy1, upgrade });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(setupPy1);
       expect(res.includes(upgrade.newValue)).toBe(true);
@@ -83,7 +92,7 @@ describe('manager/pip_requirements/update', () => {
         managerData: { lineNumber: 60 },
         newValue: '==3.8.0',
       };
-      const res = updateDependency(setupPy2, upgrade);
+      const res = updateDependency({ fileContent: setupPy2, upgrade });
       expect(res).toMatchSnapshot();
       expect(res).not.toEqual(setupPy2);
       const expectedUpdate =
diff --git a/lib/manager/pip_requirements/update.ts b/lib/manager/pip_requirements/update.ts
index f8e72635328b13518fadd08f91e8342fa46d46e2..6cbecf2a4d8b14ef4a706a4d8102081c15e0e396 100644
--- a/lib/manager/pip_requirements/update.ts
+++ b/lib/manager/pip_requirements/update.ts
@@ -1,11 +1,11 @@
 import { logger } from '../../logger';
 import { dependencyPattern } from './extract';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     logger.debug(`pip_requirements.updateDependency(): ${upgrade.newValue}`);
     const lines = fileContent.split('\n');
diff --git a/lib/manager/pipenv/update.spec.ts b/lib/manager/pipenv/update.spec.ts
index abff9663d1f3ae99458544b8ef7852a0065efc1b..52a55ef1bd51496c47c00f98f6d93e5cd48a86a6 100644
--- a/lib/manager/pipenv/update.spec.ts
+++ b/lib/manager/pipenv/update.spec.ts
@@ -14,7 +14,7 @@ describe('manager/pipenv/update', () => {
         newValue: '==1.0.1',
         depType: 'packages',
       };
-      const res = updateDependency(pipfile, upgrade);
+      const res = updateDependency({ fileContent: pipfile, upgrade });
       expect(res).not.toEqual(pipfile);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
@@ -25,7 +25,7 @@ describe('manager/pipenv/update', () => {
         newValue: '==0.3.1',
         depType: 'packages',
       };
-      const res = updateDependency(pipfile, upgrade);
+      const res = updateDependency({ fileContent: pipfile, upgrade });
       expect(res).toEqual(pipfile);
     });
     it('replaces nested value', () => {
@@ -35,7 +35,7 @@ describe('manager/pipenv/update', () => {
         depType: 'packages',
         managerData: { nestedVersion: true },
       };
-      const res = updateDependency(pipfile, upgrade);
+      const res = updateDependency({ fileContent: pipfile, upgrade });
       expect(res).not.toEqual(pipfile);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
@@ -46,13 +46,13 @@ describe('manager/pipenv/update', () => {
         newValue: '==0.2.0',
         depType: 'dev-packages',
       };
-      const res = updateDependency(pipfile, upgrade);
+      const res = updateDependency({ fileContent: pipfile, upgrade });
       expect(res).not.toEqual(pipfile);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
     });
     it('returns null if error', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/pipenv/update.ts b/lib/manager/pipenv/update.ts
index b3450a6bee3fe18902a19da60ab030c6cec955ef..bf869158173899770fc52801b53c6d5cd29ddb81 100644
--- a/lib/manager/pipenv/update.ts
+++ b/lib/manager/pipenv/update.ts
@@ -1,7 +1,7 @@
 import { isEqual } from 'lodash';
 import { parse } from 'toml';
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
 // Return true if the match string is found at index in content
 function matchAt(content: string, index: number, match: string): boolean {
@@ -23,10 +23,10 @@ function replaceAt(
   );
 }
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     const { depType, depName, newValue, managerData = {} } = upgrade;
     const { nestedVersion } = managerData;
diff --git a/lib/manager/poetry/update.spec.ts b/lib/manager/poetry/update.spec.ts
index bd93f6ba603d45426481248a29bea2afb0053981..4871e2cfb300d046841b3382da8dad5e45bda802 100644
--- a/lib/manager/poetry/update.spec.ts
+++ b/lib/manager/poetry/update.spec.ts
@@ -20,7 +20,10 @@ describe('manager/poetry/update', () => {
         newValue: '1.0.0',
         managerData: { nestedVersion: false },
       };
-      const res = updateDependency(pyproject1toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject1toml,
+        upgrade,
+      });
       expect(res).not.toEqual(pyproject1toml);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
@@ -32,7 +35,10 @@ describe('manager/poetry/update', () => {
         newValue: '0.0.0',
         managerData: { nestedVersion: false },
       };
-      const res = updateDependency(pyproject1toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject1toml,
+        upgrade,
+      });
       expect(res).toEqual(pyproject1toml);
     });
     it('replaces nested value', () => {
@@ -42,7 +48,10 @@ describe('manager/poetry/update', () => {
         newValue: '1.0.0',
         managerData: { nestedVersion: true },
       };
-      const res = updateDependency(pyproject2toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject2toml,
+        upgrade,
+      });
       expect(res).not.toEqual(pyproject2toml);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
@@ -54,19 +63,25 @@ describe('manager/poetry/update', () => {
         newValue: '1.0.0',
         managerData: { nestedVersion: true },
       };
-      const res = updateDependency(pyproject2toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject2toml,
+        upgrade,
+      });
       expect(res).not.toEqual(pyproject2toml);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
     });
-    it('gracefully handles nested value for path dependency withou version field', () => {
+    it('gracefully handles nested value for path dependency without version field', () => {
       const upgrade = {
         depName: 'dep4',
         depType: 'dependencies',
         newValue: '1.0.0',
         managerData: { nestedVersion: true },
       };
-      const res = updateDependency(pyproject2toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject1toml,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('upgrades extras', () => {
@@ -76,7 +91,10 @@ describe('manager/poetry/update', () => {
         newValue: '1.0.0',
         managerData: { nestedVersion: false },
       };
-      const res = updateDependency(pyproject1toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject1toml,
+        upgrade,
+      });
       expect(res).not.toEqual(pyproject1toml);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
@@ -88,13 +106,16 @@ describe('manager/poetry/update', () => {
         newValue: '1.0.0',
         managerData: { nestedVersion: false },
       };
-      const res = updateDependency(pyproject1toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject1toml,
+        upgrade,
+      });
       expect(res).not.toEqual(pyproject1toml);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
     });
     it('returns null if upgrade is null', () => {
-      const res = updateDependency(null, null);
+      const res = updateDependency({ fileContent: null, upgrade: null });
       expect(res).toBeNull();
     });
     it('handles nonexistent depType gracefully', () => {
@@ -104,7 +125,10 @@ describe('manager/poetry/update', () => {
         newValue: '1.0.0',
         managerData: { nestedVersion: false },
       };
-      const res = updateDependency(pyproject1toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject1toml,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('handles nonexistent depType gracefully', () => {
@@ -114,7 +138,10 @@ describe('manager/poetry/update', () => {
         newValue: '1.0.0',
         managerData: { nestedVersion: false },
       };
-      const res = updateDependency(pyproject2toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject2toml,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('handles nonexistent depName gracefully', () => {
@@ -124,7 +151,10 @@ describe('manager/poetry/update', () => {
         newValue: '1.0.0',
         managerData: { nestedVersion: false },
       };
-      const res = updateDependency(pyproject1toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject1toml,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
     it('handles nonexistent depName with nested value gracefully', () => {
@@ -134,7 +164,10 @@ describe('manager/poetry/update', () => {
         managerData: { nestedVersion: true },
         newValue: '1.0.0',
       };
-      const res = updateDependency(pyproject2toml, upgrade);
+      const res = updateDependency({
+        fileContent: pyproject2toml,
+        upgrade,
+      });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/poetry/update.ts b/lib/manager/poetry/update.ts
index 9d2c9d135d1be69ce74bb9bd1f58e05b2cb10207..0b141e7be502f47bc742fe80f6c918029341eb44 100644
--- a/lib/manager/poetry/update.ts
+++ b/lib/manager/poetry/update.ts
@@ -1,7 +1,7 @@
 import { isEqual } from 'lodash';
 import { parse } from 'toml';
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 import { PoetryFile } from './types';
 
 // TODO: Maybe factor out common code from pipenv.updateDependency and poetry.updateDependency
@@ -30,10 +30,10 @@ function replaceAt(
   );
 }
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade<{ nestedVersion?: boolean }>
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   logger.trace({ config: upgrade }, 'poetry.updateDependency()');
   if (!upgrade) {
     return null;
diff --git a/lib/manager/pub/update.spec.ts b/lib/manager/pub/update.spec.ts
index 532557c5e11f9d653b560a09179ef777ac91dde4..0949e38da580b3cfe4b60e5fdc09f6cf3cb6ef5f 100644
--- a/lib/manager/pub/update.spec.ts
+++ b/lib/manager/pub/update.spec.ts
@@ -15,24 +15,30 @@ describe('manager/pub/update', () => {
         newValue: '1',
         depType: 'dependencies',
       };
-      const res = updateDependency(fileContent, upgrade);
+      const res = updateDependency({ fileContent, upgrade });
       expect(res).toEqual(fileContent);
     });
     it('returns null if content was updated', () => {
       expect(
-        updateDependency(fileContent, {
-          depName: 'test',
-          currentValue: '0.0.1',
-          newValue: '1',
-          depType: 'dev_dependencies',
+        updateDependency({
+          fileContent,
+          upgrade: {
+            depName: 'test',
+            currentValue: '0.0.1',
+            newValue: '1',
+            depType: 'dev_dependencies',
+          },
         })
       ).toBe(null);
       expect(
-        updateDependency(fileContent, {
-          depName: 'build',
-          currentValue: '0.0.1',
-          newValue: '1',
-          depType: 'dev_dependencies',
+        updateDependency({
+          fileContent,
+          upgrade: {
+            depName: 'build',
+            currentValue: '0.0.1',
+            newValue: '1',
+            depType: 'dev_dependencies',
+          },
         })
       ).toBe(null);
     });
@@ -43,7 +49,7 @@ describe('manager/pub/update', () => {
         newValue: '1.2.3',
         depType: 'dependencies',
       };
-      const res = updateDependency(fileContent, upgrade);
+      const res = updateDependency({ fileContent, upgrade });
       expect(res).not.toEqual(fileContent);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
@@ -55,7 +61,7 @@ describe('manager/pub/update', () => {
         newValue: '1.2.3',
         depType: 'dependencies',
       };
-      const res = updateDependency(fileContent, upgrade);
+      const res = updateDependency({ fileContent, upgrade });
       expect(res).not.toEqual(fileContent);
       expect(res.includes(upgrade.newValue)).toBe(true);
       expect(res).toMatchSnapshot();
diff --git a/lib/manager/pub/update.ts b/lib/manager/pub/update.ts
index 547c9eaa6496ad5286c55e67b7de9f9e91efb7ce..1e0929bc37daaa81455ab60da0be7d85deab5ebd 100644
--- a/lib/manager/pub/update.ts
+++ b/lib/manager/pub/update.ts
@@ -1,10 +1,10 @@
 import { load } from 'js-yaml';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string {
   const { depName, depType, currentValue, newValue } = upgrade;
 
   if (currentValue === newValue) return fileContent;
diff --git a/lib/manager/ruby-version/update.spec.ts b/lib/manager/ruby-version/update.spec.ts
index a12cd2f71a8cd4cba23ec6888ba5e60a4d0d035a..4327bac986cdf2aebd7e308399054e2a774a9a10 100644
--- a/lib/manager/ruby-version/update.spec.ts
+++ b/lib/manager/ruby-version/update.spec.ts
@@ -6,7 +6,7 @@ describe('manager/nvm/update', () => {
       const upgrade = {
         newValue: '8.9.1',
       };
-      const res = updateDependency('8.9.0\n', upgrade);
+      const res = updateDependency({ fileContent: '8.9.0\n', upgrade });
       expect(res).toMatchSnapshot();
     });
   });
diff --git a/lib/manager/ruby-version/update.ts b/lib/manager/ruby-version/update.ts
index 3734bf268bbbb422df2687c07c2154b455fa6227..41fddb95f1ac594f3966351051cf51881f9d303e 100644
--- a/lib/manager/ruby-version/update.ts
+++ b/lib/manager/ruby-version/update.ts
@@ -1,10 +1,7 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  _fileContent: string,
-  upgrade: Upgrade
-): string {
+export function updateDependency({ upgrade }: UpdateDependencyConfig): string {
   logger.debug(`ruby-version.updateDependency(): ${upgrade.newValue}`);
   return `${upgrade.newValue}\n`;
 }
diff --git a/lib/manager/swift/index.spec.ts b/lib/manager/swift/index.spec.ts
index ae038abb6d7e1177e69743b0d585109b76ae36e8..815035803dd0bf39bb8a09da224a490be3382400 100644
--- a/lib/manager/swift/index.spec.ts
+++ b/lib/manager/swift/index.spec.ts
@@ -172,7 +172,10 @@ describe('lib/manager/swift', () => {
         const { deps } = extractPackageFile(content);
         const [dep] = deps;
         const upgrade = { ...dep, newValue };
-        const updated = updateDependency(content, upgrade);
+        const updated = updateDependency({
+          fileContent: content,
+          upgrade,
+        });
         expect(updated).toEqual(result);
       });
     });
@@ -185,7 +188,10 @@ describe('lib/manager/swift', () => {
       const [dep] = deps;
       const upgrade = { ...dep, newValue };
       const replaced = content.replace(currentValue, newValue);
-      const updated = updateDependency(replaced, upgrade);
+      const updated = updateDependency({
+        fileContent: replaced,
+        upgrade,
+      });
       expect(updated).toBe(replaced);
     });
     it('returns null if content is different', () => {
@@ -197,7 +203,7 @@ describe('lib/manager/swift', () => {
       const [dep] = deps;
       const upgrade = { ...dep, newValue };
       const replaced = content.replace(currentValue, '1.2.5');
-      expect(updateDependency(replaced, upgrade)).toBe(null);
+      expect(updateDependency({ fileContent: replaced, upgrade })).toBe(null);
     });
   });
 });
diff --git a/lib/manager/swift/update.ts b/lib/manager/swift/update.ts
index e6a6e49dbcc1337fbfa809406077311576f2a0b3..6700cec41c72166a433e7d97173a13f5d9a4254a 100644
--- a/lib/manager/swift/update.ts
+++ b/lib/manager/swift/update.ts
@@ -1,12 +1,12 @@
 import { isVersion } from '../../versioning/swift';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
 const fromParam = /^\s*from\s*:\s*"([^"]+)"\s*$/;
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   const { currentValue, newValue, fileReplacePosition } = upgrade;
   const leftPart = fileContent.slice(0, fileReplacePosition);
   const rightPart = fileContent.slice(fileReplacePosition);
diff --git a/lib/manager/terraform/update.spec.ts b/lib/manager/terraform/update.spec.ts
index 1d62c338250482bbc58dd9e2715c57ea2805e97b..93345d8b1fa9ff02c83ca7211f9b8b88ccced6df 100644
--- a/lib/manager/terraform/update.spec.ts
+++ b/lib/manager/terraform/update.spec.ts
@@ -13,7 +13,7 @@ describe('manager/terraform/update', () => {
         depNameShort: 'hashicorp/example',
         newValue: 'v1.0.1',
       };
-      const res = updateDependency(tf1, upgrade);
+      const res = updateDependency({ fileContent: tf1, upgrade });
       expect(res).not.toEqual(tf1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -25,7 +25,7 @@ describe('manager/terraform/update', () => {
         depNameShort: 'hashicorp/example',
         newValue: 'v1.0.0',
       };
-      const res = updateDependency(tf1, upgrade);
+      const res = updateDependency({ fileContent: tf1, upgrade });
       expect(res).toEqual(tf1);
     });
     it('returns null if wrong line', () => {
@@ -36,7 +36,7 @@ describe('manager/terraform/update', () => {
         depNameShort: 'hashicorp/example',
         newValue: 'v1.0.0',
       };
-      const res = updateDependency(tf1, upgrade);
+      const res = updateDependency({ fileContent: tf1, upgrade });
       expect(res).toBeNull();
     });
     it('updates github versions', () => {
@@ -51,7 +51,7 @@ describe('manager/terraform/update', () => {
         source:
           'github.com/tieto-cem/terraform-aws-ecs-task-definition//modules/container-definition?ref=v0.1.0',
       };
-      const res = updateDependency(tf1, upgrade);
+      const res = updateDependency({ fileContent: tf1, upgrade });
       expect(res).not.toEqual(tf1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -66,7 +66,7 @@ describe('manager/terraform/update', () => {
         source: 'hashicorp/consul/aws',
         newValue: '0.4.0',
       };
-      const res = updateDependency(tf1, upgrade);
+      const res = updateDependency({ fileContent: tf1, upgrade });
       expect(res).toBeNull();
     });
     it('updates terraform versions', () => {
@@ -80,7 +80,7 @@ describe('manager/terraform/update', () => {
         source: 'hashicorp/consul/aws',
         newValue: '0.4.0',
       };
-      const res = updateDependency(tf1, upgrade);
+      const res = updateDependency({ fileContent: tf1, upgrade });
       expect(res).not.toEqual(tf1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -98,7 +98,7 @@ describe('manager/terraform/update', () => {
         source: 'hashicorp/consul/aws',
         newValue: '0.4.0',
       };
-      const res = updateDependency(tf1, upgrade);
+      const res = updateDependency({ fileContent: tf1, upgrade });
       expect(res).not.toEqual(tf1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
@@ -117,7 +117,7 @@ describe('manager/terraform/update', () => {
           'https://github.com/terraform-providers/terraform-provider-azurerm',
         newValue: '1.38.0',
       };
-      const res = updateDependency(tf1, upgrade);
+      const res = updateDependency({ fileContent: tf1, upgrade });
       expect(res).not.toEqual(tf1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
diff --git a/lib/manager/terraform/update.ts b/lib/manager/terraform/update.ts
index eae2b8a0db26c6953f58324969a4723ed8b65520..83ddd487c1c8cab5465ad30e5d7a0100fe2391b1 100644
--- a/lib/manager/terraform/update.ts
+++ b/lib/manager/terraform/update.ts
@@ -1,13 +1,13 @@
 import { logger } from '../../logger';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 
-export function updateDependency(
-  currentFileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     logger.debug(`terraform.updateDependency: ${upgrade.newValue}`);
-    const lines = currentFileContent.split('\n');
+    const lines = fileContent.split('\n');
     const lineToChange = lines[upgrade.managerData.lineNumber];
     let newLine = lineToChange;
     if (upgrade.depType === 'github') {
@@ -26,7 +26,7 @@ export function updateDependency(
     }
     if (newLine === lineToChange) {
       logger.debug('No changes necessary');
-      return currentFileContent;
+      return fileContent;
     }
     lines[upgrade.managerData.lineNumber] = newLine;
     return lines.join('\n');
diff --git a/lib/manager/travis/update.spec.ts b/lib/manager/travis/update.spec.ts
index 03023376d42c76d3598688d6a014ceaec59bfc26..fa8efab247bdcde72ca113b984e62a4a45904af2 100644
--- a/lib/manager/travis/update.spec.ts
+++ b/lib/manager/travis/update.spec.ts
@@ -15,7 +15,7 @@ describe('manager/travis/update', () => {
         currentValue: ['8', '6', '4'],
         newValue: [6, 8],
       };
-      const res = updateDependency(content, upgrade);
+      const res = updateDependency({ fileContent: content, upgrade });
       expect(res).toMatchSnapshot();
     });
     it('falls back to 2 spaces', () => {
@@ -24,7 +24,10 @@ describe('manager/travis/update', () => {
         currentValue: [8, 6, 4],
         newValue: [6, 8],
       };
-      const res = updateDependency('hello: world', upgrade);
+      const res = updateDependency({
+        fileContent: 'hello: world',
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
     });
     it('it uses double quotes', () => {
@@ -33,7 +36,10 @@ describe('manager/travis/update', () => {
         currentValue: ['6'],
         newValue: [6, 8],
       };
-      const res = updateDependency('node_js:\n  - "6"\n', upgrade);
+      const res = updateDependency({
+        fileContent: 'node_js:\n  - "6"\n',
+        upgrade,
+      });
       expect(res).toMatchSnapshot();
     });
     it('returns null if error', () => {
@@ -42,7 +48,7 @@ describe('manager/travis/update', () => {
         currentValue: [8, 6, 4],
         newValue: '6',
       };
-      const res = updateDependency(content, upgrade);
+      const res = updateDependency({ fileContent: content, upgrade });
       expect(res).toBeNull();
     });
   });
diff --git a/lib/manager/travis/update.ts b/lib/manager/travis/update.ts
index fb09d1e54d75de512d63ac5a356326aa203612e1..192293582b615233b52752aff001460942fa1b5f 100644
--- a/lib/manager/travis/update.ts
+++ b/lib/manager/travis/update.ts
@@ -1,12 +1,12 @@
 import is from '@sindresorhus/is';
 import detectIndent from 'detect-indent';
-import { Upgrade } from '../common';
+import { UpdateDependencyConfig } from '../common';
 import { logger } from '../../logger';
 
-export function updateDependency(
-  fileContent: string,
-  upgrade: Upgrade
-): string | null {
+export function updateDependency({
+  fileContent,
+  upgrade,
+}: UpdateDependencyConfig): string | null {
   try {
     logger.debug(`travis.updateDependency(): ${upgrade.newValue}`);
     const indent = detectIndent(fileContent).indent || '  ';
diff --git a/lib/workers/branch/get-updated.ts b/lib/workers/branch/get-updated.ts
index 3ef7ee2b9f5823a55b1b396f8ea168f945df951d..7111ceb7afff037b816216a1e926a0ef50651d39 100644
--- a/lib/workers/branch/get-updated.ts
+++ b/lib/workers/branch/get-updated.ts
@@ -45,7 +45,10 @@ export async function getUpdatedPackageFiles(
       }
       let newContent = existingContent;
       const updateDependency = get(manager, 'updateDependency');
-      newContent = await updateDependency(existingContent, upgrade);
+      newContent = await updateDependency({
+        fileContent: existingContent,
+        upgrade,
+      });
       if (!newContent) {
         if (config.parentBranch) {
           logger.info('Rebasing branch after error updating content');