diff --git a/docs/adding-a-package-manager.md b/docs/adding-a-package-manager.md index d7c6a5637525d78b4be712a4830e2bd6bd31c9b8..41048820af18d337614ba715cef25d5d334959b6 100644 --- a/docs/adding-a-package-manager.md +++ b/docs/adding-a-package-manager.md @@ -24,15 +24,15 @@ module.exports = { extractDependencies, filePattern, getPackageUpdates, - parentManager, + language, resolvePackageFile, updateDependency, }; ``` -##### parentManager (optional) +##### language (optional) -This is used when more than one package manager share common characteristics. e.g. docker-compose, circleci and gitlabci all specify "docker" as their parent manager and inherit all config settings from there. +This is used when more than one package manager share settings from a common language. e.g. docker-compose, circleci and gitlabci all specify "docker" as their language and inherit all config settings from there. ##### filePattern diff --git a/lib/manager/circleci/index.js b/lib/manager/circleci/index.js index 068d2f113c541faeda6070bcc9c08be4f85118ec..2b674babc7ce39226c0aa796c9999ebd2c7334e4 100644 --- a/lib/manager/circleci/index.js +++ b/lib/manager/circleci/index.js @@ -4,13 +4,13 @@ const { updateDependency } = require('./update'); const filePattern = new RegExp('^.circleci/config.yml$'); const contentPattern = new RegExp('(^|\\n)\\s*- image: '); -const parentManager = 'docker'; +const language = 'docker'; module.exports = { contentPattern, extractDependencies, filePattern, getPackageUpdates, - parentManager, + language, updateDependency, }; diff --git a/lib/manager/docker-compose/index.js b/lib/manager/docker-compose/index.js index 3f5ed7f32aad7407cc6800a41837b5b2fb13f4ec..0618fe466e8536976a5bd775c9ca768eee374e8b 100644 --- a/lib/manager/docker-compose/index.js +++ b/lib/manager/docker-compose/index.js @@ -5,14 +5,14 @@ const { updateDependency } = require('./update'); const filePattern = new RegExp('(^|/)docker-compose[^/]*\\.ya?ml$'); const contentPattern = new RegExp('(^|\\n)\\s*image:'); -const parentManager = 'docker'; +const language = 'docker'; module.exports = { contentPattern, extractDependencies, filePattern, getPackageUpdates, - parentManager, + language, resolvePackageFile, updateDependency, }; diff --git a/lib/manager/index.js b/lib/manager/index.js index ef1a9e19bfc642b1138ddcaa2538eeba146bfefe..295aa70b190be12773fd7a2cb88597bf4d0ec63d 100644 --- a/lib/manager/index.js +++ b/lib/manager/index.js @@ -41,14 +41,14 @@ async function detectPackageFiles(config) { ); for (const manager of managerList) { logger.debug(`Detecting package files (${manager})`); - const { parentManager } = managers[manager]; + const { language } = managers[manager]; // Check if the user has a whitelist of managers if ( config.enabledManagers && config.enabledManagers.length && !( config.enabledManagers.includes(manager) || - config.enabledManagers.includes(parentManager) + config.enabledManagers.includes(language) ) ) { logger.debug(manager + ' is not on the enabledManagers list'); @@ -60,8 +60,8 @@ async function detectPackageFiles(config) { continue; // eslint-disable-line no-continue } // Check if the parent is manually disabled - if (parentManager && config[parentManager].enabled === false) { - logger.debug(manager + ' parentManager is disabled'); + if (language && config[language].enabled === false) { + logger.debug(manager + ' language is disabled'); continue; // eslint-disable-line no-continue } const files = []; @@ -194,12 +194,9 @@ async function resolvePackageFiles(config) { if (managers[manager].resolvePackageFile) { return managers[manager].resolvePackageFile(config, packageFile); } - const { parentManager } = managers[manager]; - const parentManagerConfig = parentManager ? config[parentManager] : {}; - const managerConfig = mergeChildConfig( - parentManagerConfig, - config[manager] - ); + const { language } = managers[manager]; + const languageConfig = language ? config[language] : {}; + const managerConfig = mergeChildConfig(languageConfig, config[manager]); packageFile = mergeChildConfig(managerConfig, packageFile); logger.debug( `Resolving packageFile ${JSON.stringify(packageFile.packageFile)}` diff --git a/lib/manager/nvm/index.js b/lib/manager/nvm/index.js index 57f3860c9190cecf308635352bfbba87363fb4d5..abcd005bc521daa956feb1e36130a975cd590e89 100644 --- a/lib/manager/nvm/index.js +++ b/lib/manager/nvm/index.js @@ -3,12 +3,12 @@ const { getPackageUpdates } = require('./package'); const { updateDependency } = require('./update'); const filePattern = new RegExp('^.nvmrc$'); -const parentManager = 'node'; +const language = 'node'; module.exports = { extractDependencies, filePattern, getPackageUpdates, - parentManager, + language, updateDependency, }; diff --git a/lib/manager/pip_requirements/index.js b/lib/manager/pip_requirements/index.js index a405b6d489411cb033f611f2976c023eb4c4b963..96ffb634fa096d8bf91b6888527ab5493b3de631 100644 --- a/lib/manager/pip_requirements/index.js +++ b/lib/manager/pip_requirements/index.js @@ -4,13 +4,13 @@ const { updateDependency } = require('./update'); const filePattern = /(^|\/)([\w-]*)requirements.(txt|pip)$/; const contentPattern = new RegExp(`^${packagePattern}==`); -const parentManager = 'python'; +const language = 'python'; module.exports = { contentPattern, extractDependencies, filePattern, getPackageUpdates, - parentManager, + language, updateDependency, }; diff --git a/lib/manager/travis/index.js b/lib/manager/travis/index.js index 4feb1b8da0753e137dc1e8a131189120a143a3a2..4752f04cc887f9a4026e1bed14ce5cd06cc97685 100644 --- a/lib/manager/travis/index.js +++ b/lib/manager/travis/index.js @@ -4,13 +4,13 @@ const { updateDependency } = require('./update'); const filePattern = new RegExp('^.travis.yml$'); const contentPattern = new RegExp('(^|\\n)node_js:\\n'); -const parentManager = 'node'; +const language = 'node'; module.exports = { contentPattern, extractDependencies, filePattern, getPackageUpdates, - parentManager, + language, updateDependency, }; diff --git a/test/manager/index.spec.js b/test/manager/index.spec.js index d4fff3a8e10ca6c70dc0231518f59087d5aec2f9..7c6edbe566e32dec539fc2dc6a628e25f22296bc 100644 --- a/test/manager/index.spec.js +++ b/test/manager/index.spec.js @@ -29,7 +29,7 @@ describe('manager', () => { const res = await manager.detectPackageFiles(config); expect(res).toHaveLength(0); }); - it('skips if parentManager is disabled', async () => { + it('skips if language is disabled', async () => { platform.getFileList.mockReturnValueOnce([ 'package.json', '.circleci/config.yml', diff --git a/website/docs/_posts/2017-10-05-configuration-options.md b/website/docs/_posts/2017-10-05-configuration-options.md index 81317836153fde218c0d56fcd1c5a77622a178ba..dfaac12bad3aea54c347b71395149d9cdb9d3d23 100644 --- a/website/docs/_posts/2017-10-05-configuration-options.md +++ b/website/docs/_posts/2017-10-05-configuration-options.md @@ -172,11 +172,11 @@ Set this value to 'patch', 'minor' or 'major' to have Renovate update the versio Configuration object for CircleCI yaml file renovation. Also inherits settings from `docker` object. -| name | value | -| ------------- | ------ | -| type | object | -| default | {} | -| parentManager | docker | +| name | value | +| -------- | ------ | +| type | object | +| default | {} | +| language | docker | ## commitBody @@ -327,11 +327,11 @@ Configuration specific for Dockerfile updates. Configuration object for Docker Compose yaml file renovation. Also inherits settings from `docker` object. -| name | value | -| ------------- | ------ | -| type | object | -| default | {} | -| parentManager | docker | +| name | value | +| -------- | ------ | +| type | object | +| default | {} | +| language | docker | ## enabled @@ -716,11 +716,11 @@ See https://renovateapp.com/docs/deep-dives/private-modules for details on how t Configuration specific for `.nvmrc` files. -| name | value | -| ------------- | ------ | -| type | object | -| default | { } | -| parentManager | node | +| name | value | +| -------- | ------ | +| type | object | +| default | { } | +| language | node | For settings common to all node.js version updates (e.g. travis, nvm, etc) you can use the `node` object instead. @@ -1221,11 +1221,11 @@ It is only recommended to set this field if you wish to use the `schedules` feat Configuration specific for `.travis.yml` files. -| name | value | -| ------------- | ------------------ | -| type | object | -| default | { enabled: false } | -| parentManager | node | +| name | value | +| -------- | ------------------ | +| type | object | +| default | { enabled: false } | +| language | node | For settings common to all node.js version updates (e.g. travis, nvm, etc) you can use the `node` object instead.