diff --git a/lib/config/defaults.js b/lib/config/defaults.js index 9e58ceb894c1f46d8e75dddad65852c2f77a1d3c..171a08f25d11b2c5c3e03c0e523e48bc2ab7f2de 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 cf1ed9312d04aa73c0d3c2454e93db5f279c175d..877f7cb9803ba7b6fd7d7184aa7b85b8f536e19a 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 fbf5dad04aaf89de3a01af794a6c936f92781b3a..f5a5bc51dba05df287dfe29ef5a146a487bd5330 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 67ee579f202784ae878c9afd7ae5ca3cefd65211..54b62d373ce1d29150d75a0b374ca594633d7758 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 1b3868cb275584ec7e67ea31cb36df7ac40466a2..5fb92c60a6396e9e917db24155606e9bc562b190 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 () => {