From 87967b49456ed1ce363d2b254ecbbbfb8b3adb91 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@keylocation.sg> Date: Thu, 29 Jun 2017 15:38:18 +0200 Subject: [PATCH] fix: Onboarding config should use repo config, not defaults (#386) --- lib/config/defaults.js | 12 ------------ lib/config/index.js | 14 ++++++++++++++ lib/workers/repository/apis.js | 3 ++- lib/workers/repository/onboarding.js | 8 ++++---- test/workers/repository/onboarding.spec.js | 1 + 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/lib/config/defaults.js b/lib/config/defaults.js index 9e58ceb894..171a08f25d 100644 --- a/lib/config/defaults.js +++ b/lib/config/defaults.js @@ -3,7 +3,6 @@ const configDefinitions = require('./definitions'); module.exports = { getDefault, getConfig, - getOnboardingConfig, }; const defaultValues = { @@ -26,14 +25,3 @@ function getConfig() { }); return config; } - -function getOnboardingConfig() { - const options = configDefinitions.getOptions(); - const config = {}; - options.forEach(option => { - if (option.level !== 'global' && option.onboarding !== false) { - config[option.name] = getDefault(option); - } - }); - return config; -} diff --git a/lib/config/index.js b/lib/config/index.js index cf1ed9312d..877f7cb980 100644 --- a/lib/config/index.js +++ b/lib/config/index.js @@ -14,6 +14,7 @@ const githubApp = require('./github-app'); module.exports = { parseConfigs, filterConfig, + getOnboardingConfig, }; async function parseConfigs(env, argv) { @@ -134,3 +135,16 @@ function filterConfig(inputConfig, filterLevel) { } return outputConfig; } + +function getOnboardingConfig(repoConfig) { + const config = {}; + for (const option of definitions.getOptions()) { + if (option.level !== 'global' && option.onboarding !== false) { + config[option.name] = repoConfig[option.name]; + } + } + if (repoConfig.detectedPackageFiles) { + config.packageFiles = []; + } + return config; +} diff --git a/lib/workers/repository/apis.js b/lib/workers/repository/apis.js index fbf5dad04a..f5a5bc51db 100644 --- a/lib/workers/repository/apis.js +++ b/lib/workers/repository/apis.js @@ -67,5 +67,6 @@ async function detectPackageFiles(config) { config.logger.trace({ config }, 'detectPackageFiles'); const packageFiles = await config.api.findFilePaths('package.json'); config.logger.debug(`Found ${packageFiles.length} package file(s)`); - return Object.assign({}, config, { packageFiles }); + const detectedPackageFiles = true; + return Object.assign({}, config, { packageFiles, detectedPackageFiles }); } diff --git a/lib/workers/repository/onboarding.js b/lib/workers/repository/onboarding.js index 67ee579f20..54b62d373c 100644 --- a/lib/workers/repository/onboarding.js +++ b/lib/workers/repository/onboarding.js @@ -1,7 +1,7 @@ const handlebars = require('handlebars'); const stringify = require('json-stringify-pretty-compact'); -const defaultsParser = require('../../config/defaults'); +const configParser = require('../../config'); const onboardBranchName = 'renovate/configure'; const onboardPrTitle = 'Configure Renovate'; @@ -13,14 +13,14 @@ module.exports = { }; async function createBranch(config) { - const defaultConfig = defaultsParser.getOnboardingConfig(); - const defaultConfigString = `${stringify(defaultConfig)}\n`; + const onboardingConfig = configParser.getOnboardingConfig(config); + const onboardingConfigString = `${stringify(onboardingConfig)}\n`; await config.api.commitFilesToBranch( onboardBranchName, [ { name: 'renovate.json', - contents: defaultConfigString, + contents: onboardingConfigString, }, ], 'Add renovate.json' diff --git a/test/workers/repository/onboarding.spec.js b/test/workers/repository/onboarding.spec.js index 1b3868cb27..5fb92c60a6 100644 --- a/test/workers/repository/onboarding.spec.js +++ b/test/workers/repository/onboarding.spec.js @@ -96,6 +96,7 @@ If the default settings are all suitable for you, simply close this Pull Request findPr: jest.fn(), }, logger, + detectedPackageFiles: true, }; }); it('returns true if onboarding is false', async () => { -- GitLab