Skip to content
Snippets Groups Projects
Commit bb2fc1b7 authored by Rhys Arkins's avatar Rhys Arkins
Browse files

refactor: move npm extract from workers to manager

parent cf336a0b
No related branches found
No related tags found
No related merge requests found
File moved
const configParser = require('../../config');
const pkgWorker = require('../package');
const packageJson = require('./package-json');
const npmExtract = require('../../manager/npm/extract');
const dockerExtract = require('../../manager/docker/extract');
const meteorExtract = require('../../manager/meteor/extract');
const nodeExtract = require('../../manager/node/extract');
......@@ -31,7 +31,7 @@ async function renovateDepType(
const { manager } = config;
if (manager === 'npm') {
// Extract all dependencies from the package.json
deps = await packageJson.extractDependencies(
deps = await npmExtract.extractDependencies(
packageContent,
config.depType,
packageLockParsed,
......
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`workers/dep-type/package-json .extractDependencies(packageJson, depType) each element contains non-null depType, depName, currentVersion 1`] = `
exports[`workers/dep-type/package-json .extractDependencies(npmExtract, depType) each element contains non-null depType, depName, currentVersion 1`] = `
Array [
Object {
"currentVersion": "6.5.0",
......
const fs = require('fs');
const path = require('path');
const packageJson = require('../../../lib/workers/dep-type/package-json');
const npmExtract = require('../../../lib/manager/npm/extract');
function readFixture(fixture) {
return fs.readFileSync(
......@@ -13,9 +13,9 @@ const input01Content = readFixture('inputs/01.json');
const input02Content = readFixture('inputs/02.json');
describe('workers/dep-type/package-json', () => {
describe('.extractDependencies(packageJson, depType)', () => {
describe('.extractDependencies(npmExtract, depType)', () => {
it('returns an array of correct length (dependencies)', () => {
const extractedDependencies = packageJson.extractDependencies(
const extractedDependencies = npmExtract.extractDependencies(
JSON.parse(input01Content),
'dependencies'
);
......@@ -23,7 +23,7 @@ describe('workers/dep-type/package-json', () => {
extractedDependencies.should.have.length(6);
});
it('returns an array of correct length (devDependencies)', () => {
const extractedDependencies = packageJson.extractDependencies(
const extractedDependencies = npmExtract.extractDependencies(
JSON.parse(input01Content),
'devDependencies'
);
......@@ -31,7 +31,7 @@ describe('workers/dep-type/package-json', () => {
extractedDependencies.should.have.length(4);
});
it('each element contains non-null depType, depName, currentVersion', () => {
const extractedDependencies = packageJson.extractDependencies(
const extractedDependencies = npmExtract.extractDependencies(
JSON.parse(input01Content),
'dependencies'
);
......@@ -41,7 +41,7 @@ describe('workers/dep-type/package-json', () => {
.should.eql(true);
});
it('supports null devDependencies indirect', () => {
const extractedDependencies = packageJson.extractDependencies(
const extractedDependencies = npmExtract.extractDependencies(
JSON.parse(input02Content),
'dependencies'
);
......@@ -49,7 +49,7 @@ describe('workers/dep-type/package-json', () => {
extractedDependencies.should.have.length(6);
});
it('supports null', () => {
const extractedDependencies = packageJson.extractDependencies(
const extractedDependencies = npmExtract.extractDependencies(
JSON.parse(input02Content),
'fooDependencies'
);
......@@ -60,7 +60,7 @@ describe('workers/dep-type/package-json', () => {
const packageLockParsed = {
dependencies: { chalk: { version: '2.0.1' } },
};
const extractedDependencies = packageJson.extractDependencies(
const extractedDependencies = npmExtract.extractDependencies(
{ dependencies: { chalk: '^2.0.0', foo: '^1.0.0' } },
'dependencies',
packageLockParsed
......@@ -74,7 +74,7 @@ describe('workers/dep-type/package-json', () => {
const yarnLockParsed = {
object: { 'chalk@^2.0.0': { version: '2.0.1' } },
};
const extractedDependencies = packageJson.extractDependencies(
const extractedDependencies = npmExtract.extractDependencies(
{ dependencies: { chalk: '^2.0.0', foo: '^1.0.0' } },
'dependencies',
undefined,
......@@ -86,7 +86,7 @@ describe('workers/dep-type/package-json', () => {
expect(extractedDependencies[1].lockedVersion).toBeUndefined();
});
it('handles lock error', () => {
const extractedDependencies = packageJson.extractDependencies(
const extractedDependencies = npmExtract.extractDependencies(
{ dependencies: { chalk: '^2.0.0', foo: '^1.0.0' } },
'dependencies',
true
......
const path = require('path');
const fs = require('fs');
const packageJson = require('../../../lib/workers/dep-type/package-json');
const npmExtract = require('../../../lib/manager/npm/extract');
const pkgWorker = require('../../../lib/workers/package/index');
const depTypeWorker = require('../../../lib/workers/dep-type/index');
jest.mock('../../../lib/workers/dep-type/package-json');
jest.mock('../../../lib/manager/npm/extract');
jest.mock('../../../lib/workers/package/index');
pkgWorker.renovatePackage = jest.fn(() => ['a']);
......@@ -27,12 +27,12 @@ describe('lib/workers/dep-type/index', () => {
expect(res).toMatchObject([]);
});
it('returns empty if no deps found', async () => {
packageJson.extractDependencies.mockReturnValueOnce([]);
npmExtract.extractDependencies.mockReturnValueOnce([]);
const res = await depTypeWorker.renovateDepType({}, config);
expect(res).toMatchObject([]);
});
it('returns empty if all deps are filtered', async () => {
packageJson.extractDependencies.mockReturnValueOnce([
npmExtract.extractDependencies.mockReturnValueOnce([
{ depName: 'a' },
{ depName: 'b' },
{ depName: 'e' },
......@@ -41,7 +41,7 @@ describe('lib/workers/dep-type/index', () => {
expect(res).toMatchObject([]);
});
it('returns combined upgrades if all deps are filtered', async () => {
packageJson.extractDependencies.mockReturnValueOnce([
npmExtract.extractDependencies.mockReturnValueOnce([
{ depName: 'a' },
{ depName: 'c' },
{ depName: 'd' },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment