diff --git a/lib/workers/dep-type/index.js b/lib/workers/package-file/dep-type.js
similarity index 99%
rename from lib/workers/dep-type/index.js
rename to lib/workers/package-file/dep-type.js
index ed073db615e557f56538f07ff239ec0ae79eb9a4..6d96f536f817de0a8bc10b3269c1deebcbfa7dd0 100644
--- a/lib/workers/dep-type/index.js
+++ b/lib/workers/package-file/dep-type.js
@@ -1,5 +1,5 @@
 const configParser = require('../../config');
-const pkgWorker = require('../package');
+const pkgWorker = require('./package');
 const { extractDependencies } = require('../../manager');
 
 module.exports = {
diff --git a/lib/workers/package-file/index.js b/lib/workers/package-file/index.js
index 4d14319b93076bc97ee7b2117b79f2f8feb186b0..41c927da0f69156b233c8b9e382dcb3d851f848d 100644
--- a/lib/workers/package-file/index.js
+++ b/lib/workers/package-file/index.js
@@ -1,6 +1,6 @@
 const yarnLockParser = require('@yarnpkg/lockfile');
 const configParser = require('../../config');
-const depTypeWorker = require('../dep-type');
+const depTypeWorker = require('./dep-type');
 const npmApi = require('../../datasource/npm');
 const upath = require('upath');
 
diff --git a/lib/workers/package/index.js b/lib/workers/package-file/package.js
similarity index 100%
rename from lib/workers/package/index.js
rename to lib/workers/package-file/package.js
diff --git a/test/manager/bazel/__snapshots__/package.spec.js.snap b/test/manager/bazel/__snapshots__/package.spec.js.snap
index bbc089357c9986c6f653bbbf7d721a774ebdde5e..b49e0fa1d7feca4734e3308bafa66c433e8f71e2 100644
--- a/test/manager/bazel/__snapshots__/package.spec.js.snap
+++ b/test/manager/bazel/__snapshots__/package.spec.js.snap
@@ -1,6 +1,6 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`lib/workers/package/bazel getPackageUpdates returns http archive result 1`] = `
+exports[`lib/manager/bazel/package getPackageUpdates returns http archive result 1`] = `
 Array [
   Object {
     "newVersion": "0.8.1",
@@ -10,7 +10,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/bazel getPackageUpdates returns major result 1`] = `
+exports[`lib/manager/bazel/package getPackageUpdates returns major result 1`] = `
 Array [
   Object {
     "newVersion": "2.0.0",
@@ -20,7 +20,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/bazel getPackageUpdates returns result if newer version 1`] = `
+exports[`lib/manager/bazel/package getPackageUpdates returns result if newer version 1`] = `
 Array [
   Object {
     "newVersion": "1.1.1",
diff --git a/test/manager/bazel/package.spec.js b/test/manager/bazel/package.spec.js
index 5c14242bf774df81c85b171e433aa1a76905df92..5211c71eb3b38f61a2cd4e257d6faf2d2996d909 100644
--- a/test/manager/bazel/package.spec.js
+++ b/test/manager/bazel/package.spec.js
@@ -4,7 +4,7 @@ const ghGot = require('../../../lib/platform/github/gh-got-wrapper');
 
 jest.mock('../../../lib/platform/github/gh-got-wrapper');
 
-describe('lib/workers/package/bazel', () => {
+describe('lib/manager/bazel/package', () => {
   describe('getPackageUpdates', () => {
     let config;
     beforeEach(() => {
diff --git a/test/manager/docker/__snapshots__/package.spec.js.snap b/test/manager/docker/__snapshots__/package.spec.js.snap
index 3f0ec2139abb7ede12d31c0ff7d41414da464115..cca826b1e1e6958782a72d1a5e7794b6ef770279 100644
--- a/test/manager/docker/__snapshots__/package.spec.js.snap
+++ b/test/manager/docker/__snapshots__/package.spec.js.snap
@@ -1,6 +1,6 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`lib/workers/package/docker getPackageUpdates adds digest 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates adds digest 1`] = `
 Array [
   Object {
     "isPin": true,
@@ -23,7 +23,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/docker getPackageUpdates ignores unstable upgrades 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates ignores unstable upgrades 1`] = `
 Array [
   Object {
     "isMajor": true,
@@ -37,7 +37,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/docker getPackageUpdates returns a digest when registry is present 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates returns a digest when registry is present 1`] = `
 Array [
   Object {
     "isDigest": true,
@@ -50,7 +50,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/docker getPackageUpdates returns major and minor upgrades 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates returns major and minor upgrades 1`] = `
 Array [
   Object {
     "isMinor": true,
@@ -85,7 +85,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/docker getPackageUpdates returns only one major 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates returns only one major 1`] = `
 Array [
   Object {
     "isMinor": true,
@@ -110,7 +110,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/docker getPackageUpdates returns only one upgrade 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates returns only one upgrade 1`] = `
 Array [
   Object {
     "isMajor": true,
@@ -125,7 +125,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/docker getPackageUpdates returns only one upgrade if automerging major 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates returns only one upgrade if automerging major 1`] = `
 Array [
   Object {
     "isMajor": true,
@@ -140,7 +140,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/docker getPackageUpdates upgrades from unstable to stable 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates upgrades from unstable to stable 1`] = `
 Array [
   Object {
     "isMajor": true,
@@ -154,7 +154,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/docker getPackageUpdates upgrades from unstable to unstable if not ignoring 1`] = `
+exports[`lib/manager/docker/package getPackageUpdates upgrades from unstable to unstable if not ignoring 1`] = `
 Array [
   Object {
     "isMajor": true,
diff --git a/test/manager/docker/package.spec.js b/test/manager/docker/package.spec.js
index f8bd76e5d7855efc3ee0207c4bd8605af45d68a8..27be5fda9973d3e4a1357a7c015f967ef20a05f2 100644
--- a/test/manager/docker/package.spec.js
+++ b/test/manager/docker/package.spec.js
@@ -6,7 +6,7 @@ const defaultConfig = require('../../../lib/config/defaults').getConfig();
 dockerApi.getDigest = jest.fn();
 dockerApi.getTags = jest.fn();
 
-describe('lib/workers/package/docker', () => {
+describe('lib/manager/docker/package', () => {
   describe('isStable', () => {
     it('returns true if no pattern', () => {
       expect(docker.isStable('8', null)).toBe(true);
diff --git a/test/manager/npm/__snapshots__/extract.spec.js.snap b/test/manager/npm/__snapshots__/extract.spec.js.snap
index 5090fa33da90f7b8cce433fe32f15d6d1901756b..62d37b3953692ea147d68973872f993bfb935573 100644
--- a/test/manager/npm/__snapshots__/extract.spec.js.snap
+++ b/test/manager/npm/__snapshots__/extract.spec.js.snap
@@ -1,6 +1,6 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`workers/dep-type/package-json .extractDependencies(npmExtract, depType) each element contains non-null depType, depName, currentVersion 1`] = `
+exports[`manager/npm/extract .extractDependencies(npmExtract, depType) each element contains non-null depType, depName, currentVersion 1`] = `
 Array [
   Object {
     "currentVersion": "6.5.0",
diff --git a/test/manager/npm/__snapshots__/package.spec.js.snap b/test/manager/npm/__snapshots__/package.spec.js.snap
index b3802a82da270917d886d8f1f971a687d96a6f77..b01f0d0d9df8ebaa6868711c827df6322e3f72b6 100644
--- a/test/manager/npm/__snapshots__/package.spec.js.snap
+++ b/test/manager/npm/__snapshots__/package.spec.js.snap
@@ -1,12 +1,12 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`lib/workers/package/npm getPackageUpdates returns array if upgrades found 1`] = `
+exports[`lib/manager/npm/package getPackageUpdates returns array if upgrades found 1`] = `
 Array [
   "repositoryUrl",
 ]
 `;
 
-exports[`lib/workers/package/npm getPackageUpdates returns warning if no npm dep found 1`] = `
+exports[`lib/manager/npm/package getPackageUpdates returns warning if no npm dep found 1`] = `
 Array [
   Object {
     "message": "Failed to look up dependency some-dep",
@@ -16,7 +16,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/npm getPackageUpdates returns warning if using invalid version 1`] = `
+exports[`lib/manager/npm/package getPackageUpdates returns warning if using invalid version 1`] = `
 Array [
   Object {
     "depName": "some-dep",
diff --git a/test/manager/npm/extract.spec.js b/test/manager/npm/extract.spec.js
index 42a0e9619dd7c89522920b30ec144fa135b6b419..a2c31952cc4bb075106b415ecd05c70ecfc18141 100644
--- a/test/manager/npm/extract.spec.js
+++ b/test/manager/npm/extract.spec.js
@@ -12,7 +12,7 @@ function readFixture(fixture) {
 const input01Content = readFixture('inputs/01.json');
 const input02Content = readFixture('inputs/02.json');
 
-describe('workers/dep-type/package-json', () => {
+describe('manager/npm/extract', () => {
   describe('.extractDependencies(npmExtract, depType)', () => {
     it('returns an array of correct length (dependencies)', () => {
       const config = {
diff --git a/test/manager/npm/package.spec.js b/test/manager/npm/package.spec.js
index 56e4976deba6f3307a29a5e4c96870399a84c10f..5bfc66071f0d36fc687255dc4cd0fdd61e1b2120 100644
--- a/test/manager/npm/package.spec.js
+++ b/test/manager/npm/package.spec.js
@@ -7,7 +7,7 @@ jest.mock('../../../lib/datasource/npm');
 jest.mock('../../../lib/manager/_helpers/node/package');
 npmApi.getDependency = jest.fn();
 
-describe('lib/workers/package/npm', () => {
+describe('lib/manager/npm/package', () => {
   describe('getPackageUpdates', () => {
     let config;
     beforeEach(() => {
diff --git a/test/manager/nvm/__snapshots__/package.spec.js.snap b/test/manager/nvm/__snapshots__/package.spec.js.snap
index acf0751f45a19504773edababc727b79911b109c..5971d26e83bcb5bb25979e98aaf04b046519a6d7 100644
--- a/test/manager/nvm/__snapshots__/package.spec.js.snap
+++ b/test/manager/nvm/__snapshots__/package.spec.js.snap
@@ -1,3 +1,3 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`lib/workers/package/node getPackageUpdates returns result if needing updates 1`] = `Array []`;
+exports[`lib/manager/node/package getPackageUpdates returns result if needing updates 1`] = `Array []`;
diff --git a/test/manager/nvm/package.spec.js b/test/manager/nvm/package.spec.js
index 1c53f378b2474e072f6d1e4231d8fbcd505a1370..36708902a84440bc749861bdcac81a2666e3434e 100644
--- a/test/manager/nvm/package.spec.js
+++ b/test/manager/nvm/package.spec.js
@@ -1,7 +1,7 @@
 const node = require('../../../lib/manager/nvm/package');
 const defaultConfig = require('../../../lib/config/defaults').getConfig();
 
-describe('lib/workers/package/node', () => {
+describe('lib/manager/node/package', () => {
   describe('getPackageUpdates', () => {
     let config;
     beforeEach(() => {
diff --git a/test/manager/travis/__snapshots__/package.spec.js.snap b/test/manager/travis/__snapshots__/package.spec.js.snap
index bb6c31a3bfd26a2a73e14ad1a80431075f5729cd..8edd3117e9f2156add9b8ab0fe32273a1a858ada 100644
--- a/test/manager/travis/__snapshots__/package.spec.js.snap
+++ b/test/manager/travis/__snapshots__/package.spec.js.snap
@@ -1,6 +1,6 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`lib/workers/package/node getPackageUpdates detects pinning 1`] = `
+exports[`lib/manager/node/package getPackageUpdates detects pinning 1`] = `
 Array [
   Object {
     "isRange": true,
@@ -14,7 +14,7 @@ Array [
 ]
 `;
 
-exports[`lib/workers/package/node getPackageUpdates returns result if needing updates 1`] = `
+exports[`lib/manager/node/package getPackageUpdates returns result if needing updates 1`] = `
 Array [
   Object {
     "isRange": true,
diff --git a/test/manager/travis/package.spec.js b/test/manager/travis/package.spec.js
index ec051eea266491c8dd71bd63b32907d6ab2338a6..30014ba1eee10b8997bdc73943d883a28039fa1b 100644
--- a/test/manager/travis/package.spec.js
+++ b/test/manager/travis/package.spec.js
@@ -4,7 +4,7 @@ const githubDatasource = require('../../../lib/datasource/github');
 
 jest.mock('../../../lib/datasource/github');
 
-describe('lib/workers/package/node', () => {
+describe('lib/manager/node/package', () => {
   describe('getPackageUpdates', () => {
     let config;
     beforeEach(() => {
diff --git a/test/workers/dep-type/index.spec.js b/test/workers/package-file/dep-type.spec.js
similarity index 96%
rename from test/workers/dep-type/index.spec.js
rename to test/workers/package-file/dep-type.spec.js
index 6271f2665254a5b93ce08109757ab6c172fd6503..e0108164524f750b6c784963159168e4557227e2 100644
--- a/test/workers/dep-type/index.spec.js
+++ b/test/workers/package-file/dep-type.spec.js
@@ -1,15 +1,15 @@
 const path = require('path');
 const fs = require('fs');
 const npmExtract = require('../../../lib/manager/npm/extract');
-const pkgWorker = require('../../../lib/workers/package/index');
-const depTypeWorker = require('../../../lib/workers/dep-type/index');
+const pkgWorker = require('../../../lib/workers/package-file/package');
+const depTypeWorker = require('../../../lib/workers/package-file/dep-type');
 
 jest.mock('../../../lib/manager/npm/extract');
-jest.mock('../../../lib/workers/package/index');
+jest.mock('../../../lib/workers/package-file/package');
 
 pkgWorker.renovatePackage = jest.fn(() => ['a']);
 
-describe('lib/workers/dep-type/index', () => {
+describe('lib/workers/package-file/dep-type', () => {
   describe('renovateDepType(packageContent, config)', () => {
     let config;
     beforeEach(() => {
diff --git a/test/workers/package-file/index.spec.js b/test/workers/package-file/index.spec.js
index 0c44c4957c4f4a6673264b5b370734d4c42b1971..60408e0a820d89cb9b3b68d6b92f9895f324b7d3 100644
--- a/test/workers/package-file/index.spec.js
+++ b/test/workers/package-file/index.spec.js
@@ -1,11 +1,11 @@
 const packageFileWorker = require('../../../lib/workers/package-file');
-const depTypeWorker = require('../../../lib/workers/dep-type');
+const depTypeWorker = require('../../../lib/workers/package-file/dep-type');
 const defaultConfig = require('../../../lib/config/defaults').getConfig();
 const yarnLock = require('@yarnpkg/lockfile');
 
 jest.mock('@yarnpkg/lockfile');
 
-jest.mock('../../../lib/workers/dep-type');
+jest.mock('../../../lib/workers/package-file/dep-type');
 jest.mock('../../../lib/workers/branch/schedule');
 
 describe('packageFileWorker', () => {
diff --git a/test/workers/package/index.spec.js b/test/workers/package-file/package.spec.js
similarity index 95%
rename from test/workers/package/index.spec.js
rename to test/workers/package-file/package.spec.js
index ffa0b8f0a56ea1aa60ad1fd62ef9f78c40c15382..9f9676a204a68aee64eeed3120620b18195bceec 100644
--- a/test/workers/package/index.spec.js
+++ b/test/workers/package-file/package.spec.js
@@ -1,4 +1,4 @@
-const pkgWorker = require('../../../lib/workers/package/index');
+const pkgWorker = require('../../../lib/workers/package-file/package');
 const defaultConfig = require('../../../lib/config/defaults').getConfig();
 const configParser = require('../../../lib/config');
 
@@ -12,7 +12,7 @@ jest.mock('../../../lib/manager/npm/package');
 jest.mock('../../../lib/manager/travis/package');
 jest.mock('../../../lib/manager/bazel/package');
 
-describe('lib/workers/package/index', () => {
+describe('lib/workers/package-file/package', () => {
   describe('renovatePackage(config)', () => {
     let config;
     beforeEach(() => {