fix: Onboarding config should use repo config, not defaults (#386)

This commit is contained in:
Rhys Arkins 2017-06-29 15:38:18 +02:00 committed by GitHub
parent 3486b6db77
commit 87967b4945
5 changed files with 21 additions and 17 deletions

View file

@ -3,7 +3,6 @@ const configDefinitions = require('./definitions');
module.exports = { module.exports = {
getDefault, getDefault,
getConfig, getConfig,
getOnboardingConfig,
}; };
const defaultValues = { const defaultValues = {
@ -26,14 +25,3 @@ function getConfig() {
}); });
return config; 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;
}

View file

@ -14,6 +14,7 @@ const githubApp = require('./github-app');
module.exports = { module.exports = {
parseConfigs, parseConfigs,
filterConfig, filterConfig,
getOnboardingConfig,
}; };
async function parseConfigs(env, argv) { async function parseConfigs(env, argv) {
@ -134,3 +135,16 @@ function filterConfig(inputConfig, filterLevel) {
} }
return outputConfig; 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;
}

View file

@ -67,5 +67,6 @@ async function detectPackageFiles(config) {
config.logger.trace({ config }, 'detectPackageFiles'); config.logger.trace({ config }, 'detectPackageFiles');
const packageFiles = await config.api.findFilePaths('package.json'); const packageFiles = await config.api.findFilePaths('package.json');
config.logger.debug(`Found ${packageFiles.length} package file(s)`); config.logger.debug(`Found ${packageFiles.length} package file(s)`);
return Object.assign({}, config, { packageFiles }); const detectedPackageFiles = true;
return Object.assign({}, config, { packageFiles, detectedPackageFiles });
} }

View file

@ -1,7 +1,7 @@
const handlebars = require('handlebars'); const handlebars = require('handlebars');
const stringify = require('json-stringify-pretty-compact'); const stringify = require('json-stringify-pretty-compact');
const defaultsParser = require('../../config/defaults'); const configParser = require('../../config');
const onboardBranchName = 'renovate/configure'; const onboardBranchName = 'renovate/configure';
const onboardPrTitle = 'Configure Renovate'; const onboardPrTitle = 'Configure Renovate';
@ -13,14 +13,14 @@ module.exports = {
}; };
async function createBranch(config) { async function createBranch(config) {
const defaultConfig = defaultsParser.getOnboardingConfig(); const onboardingConfig = configParser.getOnboardingConfig(config);
const defaultConfigString = `${stringify(defaultConfig)}\n`; const onboardingConfigString = `${stringify(onboardingConfig)}\n`;
await config.api.commitFilesToBranch( await config.api.commitFilesToBranch(
onboardBranchName, onboardBranchName,
[ [
{ {
name: 'renovate.json', name: 'renovate.json',
contents: defaultConfigString, contents: onboardingConfigString,
}, },
], ],
'Add renovate.json' 'Add renovate.json'

View file

@ -96,6 +96,7 @@ If the default settings are all suitable for you, simply close this Pull Request
findPr: jest.fn(), findPr: jest.fn(),
}, },
logger, logger,
detectedPackageFiles: true,
}; };
}); });
it('returns true if onboarding is false', async () => { it('returns true if onboarding is false', async () => {