From 2bdc54501af1c7aa41e11f059775b592ede137c7 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sat, 2 Jun 2018 18:25:32 +0200 Subject: [PATCH] feat: use purl for nvm --- lib/manager/_helpers/node/package.js | 60 ------------------- lib/manager/nvm/extract.js | 2 + lib/manager/nvm/index.js | 2 - lib/manager/nvm/package.js | 10 ---- test/manager/_helpers/node/package.spec.js | 39 ------------ .../nvm/__snapshots__/extract.spec.js.snap | 2 + .../nvm/__snapshots__/package.spec.js.snap | 3 - test/manager/nvm/package.spec.js | 22 ------- 8 files changed, 4 insertions(+), 136 deletions(-) delete mode 100644 lib/manager/_helpers/node/package.js delete mode 100644 lib/manager/nvm/package.js delete mode 100644 test/manager/_helpers/node/package.spec.js delete mode 100644 test/manager/nvm/__snapshots__/package.spec.js.snap delete mode 100644 test/manager/nvm/package.spec.js diff --git a/lib/manager/_helpers/node/package.js b/lib/manager/_helpers/node/package.js deleted file mode 100644 index 38b5b00985..0000000000 --- a/lib/manager/_helpers/node/package.js +++ /dev/null @@ -1,60 +0,0 @@ -const { - getMajor, - getMinor, - isGreaterThan, - isPinnedVersion, - sortVersions, -} = require('../../../versioning/semver'); -const { getDependency } = require('../../../datasource/github'); - -async function getPackageUpdates(config) { - logger.debug('getPackageUpdates()'); - logger.trace({ config }); - const { currentVersion } = config; - logger.info('Checking for nvmrc updates'); - if (!isPinnedVersion(currentVersion)) { - logger.info('Skipping non-pinned node version: ' + currentVersion); - return []; - } - let endpoint; - let token; - // istanbul ignore if - if (process.env.GITHUB_ENDPOINT) { - logger.debug('Removing GHE token before retrieving node releases'); - endpoint = process.env.GITHUB_ENDPOINT; - delete process.env.GITHUB_ENDPOINT; - token = process.env.GITHUB_TOKEN; - process.env.GITHUB_TOKEN = process.env.GITHUB_COM_TOKEN; - } - const newReleases = Object.keys((await getDependency('nodejs/node')).versions) - .filter(release => getMajor(currentVersion) === getMajor(release)) - .filter(release => isGreaterThan(release, currentVersion)); - newReleases.sort(sortVersions); - // istanbul ignore if - if (endpoint) { - logger.debug('Restoring GHE token and endpoint'); - process.env.GITHUB_TOKEN = token; - process.env.GITHUB_ENDPOINT = endpoint; - } - if (newReleases.length) { - logger.debug({ newReleases }, 'Found newer Node releases'); - } else { - return []; - } - const newVersion = newReleases[newReleases.length - 1]; - return [ - { - type: getMajor(newVersion) > getMajor(currentVersion) ? 'major' : 'minor', - newVersion, - newVersionMajor: getMajor(newVersion), - newVersionMinor: getMinor(newVersion), - fromVersion: currentVersion, - toVersion: newVersion, - repositoryUrl: 'https://github.com/nodejs/node', - }, - ]; -} - -module.exports = { - getPackageUpdates, -}; diff --git a/lib/manager/nvm/extract.js b/lib/manager/nvm/extract.js index 4c0af583bf..089396e1ac 100644 --- a/lib/manager/nvm/extract.js +++ b/lib/manager/nvm/extract.js @@ -7,6 +7,8 @@ function extractDependencies(content) { { depName: 'node', currentVersion: content.trim(), + purl: 'pkg:github/nodejs/node?clean=true', + versionScheme: 'semver', }, ]; return { deps }; diff --git a/lib/manager/nvm/index.js b/lib/manager/nvm/index.js index 0d35d7ba9f..2c5dfa2cd7 100644 --- a/lib/manager/nvm/index.js +++ b/lib/manager/nvm/index.js @@ -1,12 +1,10 @@ const { extractDependencies } = require('./extract'); -const { getPackageUpdates } = require('./package'); const { updateDependency } = require('./update'); const language = 'node'; module.exports = { extractDependencies, - getPackageUpdates, language, updateDependency, }; diff --git a/lib/manager/nvm/package.js b/lib/manager/nvm/package.js deleted file mode 100644 index 75a8b35efd..0000000000 --- a/lib/manager/nvm/package.js +++ /dev/null @@ -1,10 +0,0 @@ -const nodeManager = require('../_helpers/node/package'); - -module.exports = { - getPackageUpdates, -}; - -function getPackageUpdates(config) { - logger.debug('nvm.getPackageUpdates()'); - return nodeManager.getPackageUpdates(config); -} diff --git a/test/manager/_helpers/node/package.spec.js b/test/manager/_helpers/node/package.spec.js deleted file mode 100644 index 0e6a8e5d3e..0000000000 --- a/test/manager/_helpers/node/package.spec.js +++ /dev/null @@ -1,39 +0,0 @@ -const nodeManager = require('../../../../lib/manager/_helpers/node/package'); -const { getDependency } = require('../../../../lib/datasource/github'); - -jest.mock('../../../../lib/datasource/github'); - -describe('manager/npm/engines', () => { - let config; - beforeEach(() => { - config = { - depName: 'node', - }; - }); - it('skips non-pinned versions', async () => { - config.currentVersion = '8'; - const res = await nodeManager.getPackageUpdates(config); - expect(res).toEqual([]); - }); - it('returns empty', async () => { - config.currentVersion = '8.9.0'; - getDependency.mockReturnValueOnce({ versions: {} }); - const res = await nodeManager.getPackageUpdates(config); - expect(res).toEqual([]); - }); - it('filters v', async () => { - config.currentVersion = '8.9.0'; - getDependency.mockReturnValueOnce({ - versions: { '8.0.0': {}, '8.9.1': {} }, - }); - const res = await nodeManager.getPackageUpdates(config); - expect(res).toHaveLength(1); - expect(res[0].newVersion).toEqual('8.9.1'); - }); - it('skips major versions', async () => { - config.currentVersion = '8.9.0'; - getDependency.mockReturnValueOnce({ versions: { '9.4.0': {} } }); - const res = await nodeManager.getPackageUpdates(config); - expect(res).toHaveLength(0); - }); -}); diff --git a/test/manager/nvm/__snapshots__/extract.spec.js.snap b/test/manager/nvm/__snapshots__/extract.spec.js.snap index 74b8f55055..2f94798327 100644 --- a/test/manager/nvm/__snapshots__/extract.spec.js.snap +++ b/test/manager/nvm/__snapshots__/extract.spec.js.snap @@ -5,6 +5,8 @@ Array [ Object { "currentVersion": "8.4.0", "depName": "node", + "purl": "pkg:github/nodejs/node?clean=true", + "versionScheme": "semver", }, ] `; diff --git a/test/manager/nvm/__snapshots__/package.spec.js.snap b/test/manager/nvm/__snapshots__/package.spec.js.snap deleted file mode 100644 index 5971d26e83..0000000000 --- a/test/manager/nvm/__snapshots__/package.spec.js.snap +++ /dev/null @@ -1,3 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -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 deleted file mode 100644 index 36708902a8..0000000000 --- a/test/manager/nvm/package.spec.js +++ /dev/null @@ -1,22 +0,0 @@ -const node = require('../../../lib/manager/nvm/package'); -const defaultConfig = require('../../../lib/config/defaults').getConfig(); - -describe('lib/manager/node/package', () => { - describe('getPackageUpdates', () => { - let config; - beforeEach(() => { - config = { - ...defaultConfig, - }; - }); - it('returns empty if matching', async () => { - config.currentVersion = ['6', '8']; - config.supportPolicy = ['lts_active']; - expect(await node.getPackageUpdates(config)).toEqual([]); - }); - it('returns result if needing updates', async () => { - config.currentVersion = ['6', '8']; - expect(await node.getPackageUpdates(config)).toMatchSnapshot(); - }); - }); -}); -- GitLab