2017-06-04 14:42:24 +00:00
|
|
|
const fs = require('fs');
|
|
|
|
const path = require('path');
|
|
|
|
|
2017-07-01 04:48:38 +00:00
|
|
|
function template(name, subdir = 'default/') {
|
2017-06-04 14:42:24 +00:00
|
|
|
const shortName = `${name.replace(/([A-Z])/g, '-$1').toLowerCase()}.hbs`;
|
|
|
|
const hbsContents = fs.readFileSync(
|
|
|
|
// Long path is so that it works whether code is run from lib or dist
|
2017-07-02 04:18:07 +00:00
|
|
|
path.resolve(__dirname, '../config/templates/', subdir, shortName),
|
2017-06-04 14:42:24 +00:00
|
|
|
'utf8'
|
|
|
|
);
|
|
|
|
// Strip off any trailing line break
|
2017-11-12 06:23:09 +00:00
|
|
|
return hbsContents.replace(/\r?\n$/, '');
|
2017-06-04 14:42:24 +00:00
|
|
|
}
|
2017-01-20 13:03:18 +00:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
getOptions,
|
|
|
|
};
|
|
|
|
|
|
|
|
const options = [
|
2017-08-18 04:10:19 +00:00
|
|
|
{
|
|
|
|
name: 'extends',
|
|
|
|
description: 'Configuration presets to use/extend',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'list',
|
|
|
|
allowString: true,
|
|
|
|
cli: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'description',
|
|
|
|
description: 'Plain text description for a config or preset',
|
|
|
|
type: 'list',
|
|
|
|
allowString: true,
|
|
|
|
mergeable: true,
|
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
|
|
|
name: 'enabled',
|
|
|
|
description: 'Enable or disable renovate',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'package',
|
2017-01-20 13:03:18 +00:00
|
|
|
type: 'boolean',
|
2017-07-03 09:34:46 +00:00
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
|
|
|
// Log options
|
|
|
|
{
|
|
|
|
name: 'logLevel',
|
|
|
|
description: 'Logging level',
|
|
|
|
stage: 'global',
|
|
|
|
type: 'string',
|
|
|
|
default: 'info',
|
|
|
|
env: 'LOG_LEVEL',
|
2017-01-20 13:03:18 +00:00
|
|
|
},
|
2017-06-20 19:34:25 +00:00
|
|
|
{
|
|
|
|
name: 'logFile',
|
|
|
|
description: 'Log file path',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'global',
|
2017-06-20 19:34:25 +00:00
|
|
|
type: 'string',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'logFileLevel',
|
|
|
|
description: 'Log file log level',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'global',
|
2017-06-20 19:34:25 +00:00
|
|
|
type: 'string',
|
|
|
|
default: 'debug',
|
|
|
|
},
|
2017-07-03 09:34:46 +00:00
|
|
|
// Onboarding
|
|
|
|
{
|
|
|
|
name: 'onboarding',
|
|
|
|
description: 'Require a Configuration PR first',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'boolean',
|
|
|
|
},
|
2017-11-01 10:53:18 +00:00
|
|
|
{
|
|
|
|
name: 'renovateFork',
|
|
|
|
description: 'Whether to renovate a forked repository or not.',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-12-11 18:14:51 +00:00
|
|
|
{
|
|
|
|
name: 'forkMode',
|
|
|
|
description:
|
|
|
|
'Set to true if Renovate should fork the source repository and create branches there instead',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-09-01 04:45:51 +00:00
|
|
|
// encryption
|
|
|
|
{
|
|
|
|
name: 'privateKey',
|
|
|
|
description: 'Server-side private key',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'string',
|
|
|
|
replaceLineReturns: true,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'encrypted',
|
|
|
|
description:
|
2017-11-03 06:51:44 +00:00
|
|
|
'A configuration object containing configuration encrypted with project key. Valid inside renovate.json only',
|
2017-09-01 04:45:51 +00:00
|
|
|
stage: 'repository',
|
|
|
|
type: 'json',
|
|
|
|
default: null,
|
|
|
|
},
|
2017-07-03 09:34:46 +00:00
|
|
|
// Scheduling
|
2017-06-30 12:04:46 +00:00
|
|
|
{
|
|
|
|
name: 'timezone',
|
|
|
|
description:
|
|
|
|
'[IANA Time Zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)',
|
|
|
|
type: 'string',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'schedule',
|
|
|
|
description: 'Times of day/week to renovate',
|
|
|
|
type: 'list',
|
2017-08-11 05:29:16 +00:00
|
|
|
allowString: true,
|
2017-07-03 09:34:46 +00:00
|
|
|
cli: false,
|
|
|
|
env: false,
|
2017-06-30 12:04:46 +00:00
|
|
|
},
|
2017-10-13 04:42:17 +00:00
|
|
|
{
|
|
|
|
name: 'updateNotScheduled',
|
|
|
|
description:
|
|
|
|
'Whether to update (but not create) branches when not scheduled',
|
|
|
|
stage: 'branch',
|
|
|
|
type: 'boolean',
|
|
|
|
},
|
2017-01-31 17:16:33 +00:00
|
|
|
{
|
|
|
|
name: 'platform',
|
|
|
|
description: 'Platform type of repository',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'repository',
|
2017-01-31 17:16:33 +00:00
|
|
|
type: 'string',
|
|
|
|
default: 'github',
|
|
|
|
},
|
2017-02-05 08:10:29 +00:00
|
|
|
{
|
|
|
|
name: 'endpoint',
|
|
|
|
description: 'Custom endpoint to use',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'repository',
|
2017-02-05 08:10:29 +00:00
|
|
|
type: 'string',
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
|
|
|
name: 'token',
|
2017-01-31 17:16:33 +00:00
|
|
|
description: 'Repository Auth Token',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'repository',
|
2017-01-20 13:03:18 +00:00
|
|
|
type: 'string',
|
|
|
|
},
|
2017-08-29 07:25:44 +00:00
|
|
|
{
|
|
|
|
name: 'npmrc',
|
|
|
|
description: 'String copy of npmrc file. Use \\n instead of line breaks',
|
|
|
|
stage: 'branch',
|
|
|
|
type: 'string',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'yarnrc',
|
|
|
|
description: 'String copy of yarnrc file. Use \\n instead of line breaks',
|
|
|
|
stage: 'branch',
|
|
|
|
type: 'string',
|
|
|
|
},
|
2017-11-30 05:43:56 +00:00
|
|
|
{
|
|
|
|
name: 'copyLocalLibs',
|
|
|
|
description:
|
|
|
|
'enable copy local libraries found in package.json like `"lib1: file:../path/to/folder"`, warning: feature may be deprecated in future.',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-09-29 06:22:22 +00:00
|
|
|
{
|
|
|
|
name: 'ignoreNpmrcFile',
|
|
|
|
description: 'Whether to ignore any .npmrc file found in repository',
|
|
|
|
stage: 'packageFile',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-08-29 07:25:44 +00:00
|
|
|
{
|
|
|
|
name: 'autodiscover',
|
|
|
|
description: 'Autodiscover all repositories',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
|
|
|
name: 'repositories',
|
2017-03-13 09:07:57 +00:00
|
|
|
description: 'List of Repositories',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'global',
|
2017-01-20 13:03:18 +00:00
|
|
|
type: 'list',
|
|
|
|
cli: false,
|
|
|
|
},
|
2017-07-06 08:26:18 +00:00
|
|
|
{
|
|
|
|
name: 'baseBranch',
|
|
|
|
description:
|
|
|
|
'Base branch to target for Pull Requests. Otherwise default branch is used',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'string',
|
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
2017-12-09 16:09:31 +00:00
|
|
|
{
|
|
|
|
name: 'gitAuthor',
|
|
|
|
description: 'Author to use for git commits. RFC5322',
|
|
|
|
type: 'string',
|
|
|
|
},
|
2017-12-09 16:56:23 +00:00
|
|
|
{
|
|
|
|
name: 'gitPrivateKey',
|
|
|
|
description: 'PGP key to use for signing git commits',
|
|
|
|
type: 'string',
|
|
|
|
cli: false,
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
|
|
|
name: 'packageFiles',
|
|
|
|
description: 'Package file paths',
|
|
|
|
type: 'list',
|
2017-08-26 14:10:18 +00:00
|
|
|
stage: 'branch',
|
2017-01-20 13:03:18 +00:00
|
|
|
},
|
2017-07-08 05:00:58 +00:00
|
|
|
{
|
2017-08-26 19:28:29 +00:00
|
|
|
name: 'ignorePaths',
|
2017-11-01 09:31:56 +00:00
|
|
|
description:
|
|
|
|
'Skip any package.json whose path matches one of these. Can be string or glob pattern',
|
2017-08-26 19:28:29 +00:00
|
|
|
type: 'list',
|
2017-07-08 05:00:58 +00:00
|
|
|
stage: 'repository',
|
2017-12-14 05:35:12 +00:00
|
|
|
default: ['**/node_modules/**', '**/bower_components/**'],
|
2017-07-08 05:00:58 +00:00
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
2017-08-02 12:05:45 +00:00
|
|
|
name: 'dependencies',
|
|
|
|
description: 'Configuration specifically for `package.json`>`dependencies`',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'packageFile',
|
2017-08-02 12:05:45 +00:00
|
|
|
type: 'json',
|
2017-11-24 06:14:58 +00:00
|
|
|
default: { semanticCommitType: 'fix' },
|
2017-08-02 12:05:45 +00:00
|
|
|
mergeable: true,
|
|
|
|
cli: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'devDependencies',
|
|
|
|
description:
|
|
|
|
'Configuration specifically for `package.json`>`devDependencies`',
|
|
|
|
stage: 'packageFile',
|
|
|
|
type: 'json',
|
2017-11-19 05:32:06 +00:00
|
|
|
default: {},
|
2017-08-02 12:05:45 +00:00
|
|
|
mergeable: true,
|
|
|
|
cli: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'optionalDependencies',
|
|
|
|
description:
|
|
|
|
'Configuration specifically for `package.json`>`optionalDependencies`',
|
|
|
|
stage: 'packageFile',
|
|
|
|
type: 'json',
|
|
|
|
default: {},
|
|
|
|
mergeable: true,
|
|
|
|
cli: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'peerDependencies',
|
|
|
|
description:
|
|
|
|
'Configuration specifically for `package.json`>`peerDependencies`',
|
|
|
|
stage: 'packageFile',
|
|
|
|
type: 'json',
|
|
|
|
default: { enabled: false },
|
2017-07-13 20:18:24 +00:00
|
|
|
mergeable: true,
|
2017-08-02 12:05:45 +00:00
|
|
|
cli: false,
|
2017-01-20 13:03:18 +00:00
|
|
|
},
|
2017-06-27 11:44:03 +00:00
|
|
|
// depType
|
|
|
|
{
|
|
|
|
name: 'ignoreDeps',
|
|
|
|
description: 'Dependencies to ignore',
|
|
|
|
type: 'list',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'depType',
|
2017-06-27 11:44:03 +00:00
|
|
|
},
|
|
|
|
{
|
2017-08-03 05:55:59 +00:00
|
|
|
name: 'packageRules',
|
|
|
|
description: 'Rules for matching package names',
|
2017-06-27 11:44:03 +00:00
|
|
|
type: 'list',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'depType',
|
2017-08-06 04:41:45 +00:00
|
|
|
mergeable: true,
|
2017-06-27 11:44:03 +00:00
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
2017-08-02 05:52:28 +00:00
|
|
|
{
|
2017-08-03 05:55:59 +00:00
|
|
|
name: 'packageNames',
|
|
|
|
description:
|
|
|
|
'Package names to match. Valid only within `packageRules` object',
|
|
|
|
type: 'list',
|
2017-08-11 05:29:16 +00:00
|
|
|
allowString: true,
|
2017-08-02 05:52:28 +00:00
|
|
|
stage: 'depType',
|
2017-08-18 04:10:19 +00:00
|
|
|
mergeable: true,
|
2017-08-02 05:52:28 +00:00
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
|
|
|
{
|
2017-08-03 05:55:59 +00:00
|
|
|
name: 'excludePackageNames',
|
2017-08-02 05:52:28 +00:00
|
|
|
description:
|
2017-08-03 05:55:59 +00:00
|
|
|
'Package names to exclude. Valid only within `packageRules` object',
|
|
|
|
type: 'list',
|
2017-08-11 05:29:16 +00:00
|
|
|
allowString: true,
|
2017-08-03 05:55:59 +00:00
|
|
|
stage: 'depType',
|
2017-08-18 04:10:19 +00:00
|
|
|
mergeable: true,
|
2017-08-03 05:55:59 +00:00
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'packagePatterns',
|
|
|
|
description:
|
|
|
|
'Package name patterns to match. Valid only within `packageRules` object.',
|
|
|
|
type: 'list',
|
2017-08-11 05:29:16 +00:00
|
|
|
allowString: true,
|
2017-08-03 05:55:59 +00:00
|
|
|
stage: 'depType',
|
2017-08-18 04:10:19 +00:00
|
|
|
mergeable: true,
|
2017-08-03 05:55:59 +00:00
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'excludePackagePatterns',
|
|
|
|
description:
|
|
|
|
'Package name patterns to exclude. Valid only within `packageRules` object.',
|
|
|
|
type: 'list',
|
2017-08-11 05:29:16 +00:00
|
|
|
allowString: true,
|
2017-08-02 05:52:28 +00:00
|
|
|
stage: 'depType',
|
2017-08-18 04:10:19 +00:00
|
|
|
mergeable: true,
|
2017-08-02 05:52:28 +00:00
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
// Version behaviour
|
2017-10-24 03:33:03 +00:00
|
|
|
{
|
|
|
|
name: 'pinDigests',
|
|
|
|
description: 'Whether to add digests to Dockerfile source images',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'boolean',
|
|
|
|
},
|
2017-06-26 11:08:57 +00:00
|
|
|
{
|
|
|
|
name: 'pinVersions',
|
2017-11-01 08:35:55 +00:00
|
|
|
description: 'Convert ranged versions to pinned versions',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'package',
|
2017-06-26 11:08:57 +00:00
|
|
|
type: 'boolean',
|
2017-11-01 08:35:55 +00:00
|
|
|
default: null,
|
2017-06-26 11:08:57 +00:00
|
|
|
},
|
2017-04-15 10:44:50 +00:00
|
|
|
{
|
|
|
|
name: 'separateMajorReleases',
|
2017-06-02 20:40:00 +00:00
|
|
|
description:
|
|
|
|
'If set to false, it will upgrade dependencies to latest release only, and not separate major/minor branches',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'package',
|
2017-04-15 10:44:50 +00:00
|
|
|
type: 'boolean',
|
|
|
|
},
|
2017-11-10 03:57:07 +00:00
|
|
|
{
|
|
|
|
name: 'multipleMajorPrs',
|
|
|
|
description:
|
|
|
|
'If set to true, PRs will be raised separately for each available major upgrade version',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-08-01 15:10:53 +00:00
|
|
|
{
|
|
|
|
name: 'separatePatchReleases',
|
|
|
|
description:
|
|
|
|
'If set to true, it will separate minor and patch updates into separate branches',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
|
|
|
name: 'ignoreFuture',
|
|
|
|
description: 'Ignore versions tagged as "future"',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'package',
|
2017-01-20 13:03:18 +00:00
|
|
|
type: 'boolean',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'ignoreUnstable',
|
|
|
|
description: 'Ignore versions with unstable semver',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'package',
|
2017-01-20 13:03:18 +00:00
|
|
|
type: 'boolean',
|
|
|
|
},
|
2017-11-08 20:57:34 +00:00
|
|
|
{
|
|
|
|
name: 'unstablePattern',
|
|
|
|
description: 'Regex for identifying unstable versions (docker only)',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'string',
|
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
|
|
|
name: 'respectLatest',
|
|
|
|
description: 'Ignore versions newer than npm "latest" version',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'package',
|
2017-01-20 13:03:18 +00:00
|
|
|
type: 'boolean',
|
|
|
|
},
|
2017-08-04 06:32:22 +00:00
|
|
|
{
|
|
|
|
name: 'branchPrefix',
|
|
|
|
description: 'Prefix to use for all branch names',
|
|
|
|
stage: 'branch',
|
|
|
|
type: 'string',
|
|
|
|
default: 'renovate/',
|
|
|
|
},
|
2017-08-01 15:10:53 +00:00
|
|
|
// Major/Minor/Patch
|
|
|
|
{
|
|
|
|
name: 'major',
|
|
|
|
description: 'Configuration to apply when an update type is major',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'json',
|
|
|
|
default: {},
|
|
|
|
cli: false,
|
|
|
|
mergeable: true,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'minor',
|
|
|
|
description: 'Configuration to apply when an update type is minor',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'json',
|
|
|
|
default: {},
|
|
|
|
cli: false,
|
|
|
|
mergeable: true,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'patch',
|
|
|
|
description:
|
|
|
|
'Configuration to apply when an update type is patch. Only applies if `separatePatchReleases` is set to true',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'json',
|
|
|
|
default: {
|
|
|
|
branchName:
|
2017-10-02 09:38:42 +00:00
|
|
|
'{{branchPrefix}}{{depNameSanitized}}-{{newVersionMajor}}.{{newVersionMinor}}.x',
|
2017-08-01 15:10:53 +00:00
|
|
|
},
|
|
|
|
cli: false,
|
|
|
|
mergeable: true,
|
|
|
|
},
|
2017-09-13 18:52:07 +00:00
|
|
|
{
|
|
|
|
name: 'pin',
|
|
|
|
description: 'Configuration to apply when an update type is pin.',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'json',
|
|
|
|
default: {
|
|
|
|
unpublishSafe: false,
|
2017-10-19 11:10:59 +00:00
|
|
|
recreateClosed: true,
|
2017-11-03 19:15:44 +00:00
|
|
|
rebaseStalePrs: true,
|
2017-09-13 18:52:07 +00:00
|
|
|
groupName: 'Pin Dependencies',
|
|
|
|
group: {
|
2017-10-11 11:10:12 +00:00
|
|
|
commitMessage: 'Pin Dependencies',
|
2017-09-13 18:52:07 +00:00
|
|
|
prTitle: '{{groupName}}',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
cli: false,
|
|
|
|
mergeable: true,
|
|
|
|
},
|
2017-10-25 07:57:57 +00:00
|
|
|
{
|
|
|
|
name: 'digest',
|
|
|
|
description:
|
|
|
|
'Configuration to apply when updating a Docker digest (same tag)',
|
|
|
|
stage: 'package',
|
|
|
|
type: 'json',
|
2017-11-24 09:58:44 +00:00
|
|
|
default: {},
|
2017-10-25 07:57:57 +00:00
|
|
|
cli: false,
|
|
|
|
mergeable: true,
|
|
|
|
},
|
2017-06-29 17:50:26 +00:00
|
|
|
// Semantic commit / Semantic release
|
|
|
|
{
|
2017-06-30 04:01:50 +00:00
|
|
|
name: 'semanticCommits',
|
2017-06-29 17:50:26 +00:00
|
|
|
description: 'Enable semantic commit prefixes for commits and PR titles',
|
|
|
|
type: 'boolean',
|
2017-08-10 20:35:05 +00:00
|
|
|
default: null,
|
2017-06-29 17:50:26 +00:00
|
|
|
},
|
|
|
|
{
|
2017-11-24 06:14:58 +00:00
|
|
|
name: 'semanticCommitType',
|
|
|
|
description: 'Commit type to use if semantic commits is enabled',
|
2017-06-29 17:50:26 +00:00
|
|
|
type: 'string',
|
2017-11-24 06:14:58 +00:00
|
|
|
default: 'chore',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'semanticCommitScope',
|
|
|
|
description: 'Conmmit scope to use if semantic commits are enabled',
|
|
|
|
type: 'string',
|
|
|
|
default: 'deps',
|
2017-06-29 17:50:26 +00:00
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
// PR Behaviour
|
|
|
|
{
|
|
|
|
name: 'recreateClosed',
|
|
|
|
description: 'Recreate PRs even if same ones were closed previously',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-02-06 06:56:33 +00:00
|
|
|
{
|
|
|
|
name: 'rebaseStalePrs',
|
2017-03-13 09:07:57 +00:00
|
|
|
description: 'Rebase stale PRs (GitHub only)',
|
2017-02-06 06:56:33 +00:00
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
|
|
|
},
|
2017-08-06 13:38:10 +00:00
|
|
|
{
|
|
|
|
name: 'unpublishSafe',
|
|
|
|
description: 'Set a status check for unpublish-safe upgrades',
|
|
|
|
type: 'boolean',
|
2017-08-14 04:27:00 +00:00
|
|
|
default: false,
|
2017-08-06 13:38:10 +00:00
|
|
|
},
|
2017-04-17 04:46:24 +00:00
|
|
|
{
|
|
|
|
name: 'prCreation',
|
2017-06-02 20:40:00 +00:00
|
|
|
description:
|
|
|
|
'When to create the PR for a branch. Values: immediate, not-pending, status-success.',
|
2017-04-17 04:46:24 +00:00
|
|
|
type: 'string',
|
|
|
|
default: 'immediate',
|
|
|
|
},
|
2017-08-28 09:37:09 +00:00
|
|
|
{
|
|
|
|
name: 'prNotPendingHours',
|
|
|
|
description: 'Timeout in hours for when prCreation=not-pending',
|
|
|
|
type: 'integer',
|
2017-12-20 05:47:20 +00:00
|
|
|
// Must be at least 24 hours to give time for the unpublishSafe check to "complete".
|
|
|
|
default: 24,
|
2017-08-28 09:37:09 +00:00
|
|
|
},
|
2017-04-20 11:01:23 +00:00
|
|
|
// Automatic merging
|
|
|
|
{
|
|
|
|
name: 'automerge',
|
2017-06-02 20:40:00 +00:00
|
|
|
description:
|
2017-08-21 11:41:48 +00:00
|
|
|
'Whether to automerge branches/PRs automatically, without human intervention',
|
|
|
|
type: 'boolean',
|
|
|
|
default: false,
|
2017-04-20 11:01:23 +00:00
|
|
|
},
|
2017-06-08 04:18:21 +00:00
|
|
|
{
|
|
|
|
name: 'automergeType',
|
|
|
|
description:
|
|
|
|
'How to automerge - "branch-merge-commit", "branch-push" or "pr". Branch support is GitHub-only',
|
|
|
|
type: 'string',
|
|
|
|
default: 'pr',
|
|
|
|
},
|
2017-07-05 05:02:25 +00:00
|
|
|
{
|
|
|
|
name: 'requiredStatusChecks',
|
|
|
|
description:
|
|
|
|
'List of status checks that must pass before automerging. Set to null to enable automerging without tests.',
|
|
|
|
type: 'list',
|
|
|
|
cli: false,
|
|
|
|
env: false,
|
|
|
|
},
|
2017-07-01 04:48:38 +00:00
|
|
|
// Default templates
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
|
|
|
name: 'branchName',
|
|
|
|
description: 'Branch name template',
|
|
|
|
type: 'string',
|
2017-06-04 14:42:24 +00:00
|
|
|
default: template('branchName'),
|
2017-01-20 13:03:18 +00:00
|
|
|
cli: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'commitMessage',
|
|
|
|
description: 'Commit message template',
|
|
|
|
type: 'string',
|
2017-06-04 14:42:24 +00:00
|
|
|
default: template('commitMessage'),
|
2017-01-20 13:03:18 +00:00
|
|
|
cli: false,
|
|
|
|
},
|
2017-12-25 19:37:14 +00:00
|
|
|
{
|
|
|
|
name: 'commitBody',
|
|
|
|
description:
|
|
|
|
'Commit message body template. Will be appended to commit message, separated by two line returns.',
|
|
|
|
type: 'string',
|
|
|
|
cli: false,
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
{
|
|
|
|
name: 'prTitle',
|
|
|
|
description: 'Pull Request title template',
|
|
|
|
type: 'string',
|
2017-06-04 14:42:24 +00:00
|
|
|
default: template('prTitle'),
|
2017-01-20 13:03:18 +00:00
|
|
|
cli: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'prBody',
|
|
|
|
description: 'Pull Request body template',
|
|
|
|
type: 'string',
|
2017-06-04 14:42:24 +00:00
|
|
|
default: template('prBody'),
|
2017-01-20 13:03:18 +00:00
|
|
|
cli: false,
|
|
|
|
},
|
2017-04-13 20:39:46 +00:00
|
|
|
// Yarn Lock Maintenance
|
|
|
|
{
|
2017-07-01 04:44:41 +00:00
|
|
|
name: 'lockFileMaintenance',
|
|
|
|
description: 'Configuration for lock file maintenance',
|
2017-07-03 08:31:36 +00:00
|
|
|
stage: 'packageFile',
|
2017-07-01 04:44:41 +00:00
|
|
|
type: 'json',
|
|
|
|
default: {
|
2017-11-01 08:45:30 +00:00
|
|
|
enabled: false,
|
2017-07-02 04:21:24 +00:00
|
|
|
recreateClosed: true,
|
2017-07-07 11:57:43 +00:00
|
|
|
branchName: template('branchName', 'lock-file-maintenance'),
|
|
|
|
commitMessage: template('commitMessage', 'lock-file-maintenance'),
|
|
|
|
prTitle: template('prTitle', 'lock-file-maintenance'),
|
|
|
|
prBody: template('prBody', 'lock-file-maintenance'),
|
2017-08-02 14:14:09 +00:00
|
|
|
schedule: ['before 5am on monday'],
|
2017-10-05 09:07:15 +00:00
|
|
|
groupName: null,
|
2017-07-01 04:44:41 +00:00
|
|
|
},
|
2017-04-13 20:39:46 +00:00
|
|
|
cli: false,
|
2017-07-01 04:44:41 +00:00
|
|
|
mergeable: true,
|
2017-04-13 20:39:46 +00:00
|
|
|
},
|
2017-04-15 20:04:14 +00:00
|
|
|
// Dependency Groups
|
2017-06-03 13:27:11 +00:00
|
|
|
{
|
|
|
|
name: 'lazyGrouping',
|
|
|
|
description: 'Use group names only when multiple dependencies upgraded',
|
|
|
|
type: 'boolean',
|
|
|
|
default: true,
|
|
|
|
},
|
2017-04-15 20:04:14 +00:00
|
|
|
{
|
|
|
|
name: 'groupName',
|
|
|
|
description: 'Human understandable name for the dependency group',
|
|
|
|
type: 'string',
|
|
|
|
default: null,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'groupSlug',
|
2017-06-02 20:40:00 +00:00
|
|
|
description:
|
|
|
|
'Slug to use for group (e.g. in branch name). Will be calculated from groupName if null',
|
2017-04-15 20:04:14 +00:00
|
|
|
type: 'string',
|
|
|
|
default: null,
|
2017-07-03 09:34:46 +00:00
|
|
|
cli: false,
|
|
|
|
env: false,
|
2017-04-15 20:04:14 +00:00
|
|
|
},
|
|
|
|
{
|
2017-07-01 04:48:38 +00:00
|
|
|
name: 'group',
|
|
|
|
description: 'Config if groupName is enabled',
|
|
|
|
type: 'json',
|
|
|
|
default: {
|
|
|
|
branchName: template('branchName', 'group'),
|
|
|
|
commitMessage: template('commitMessage', 'group'),
|
|
|
|
prTitle: template('prTitle', 'group'),
|
|
|
|
prBody: template('prBody', 'group'),
|
|
|
|
},
|
2017-04-15 20:04:14 +00:00
|
|
|
cli: false,
|
2017-07-01 04:48:38 +00:00
|
|
|
env: false,
|
|
|
|
mergeable: true,
|
2017-04-15 20:04:14 +00:00
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
// Pull Request options
|
|
|
|
{
|
|
|
|
name: 'labels',
|
|
|
|
description: 'Labels to add to Pull Request',
|
|
|
|
type: 'list',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'assignees',
|
2017-11-22 04:12:19 +00:00
|
|
|
description:
|
|
|
|
'Assignees for Pull Request (user name in GitHub/GitLab, email address in VSTS)',
|
2017-01-20 13:03:18 +00:00
|
|
|
type: 'list',
|
|
|
|
},
|
2017-01-31 13:54:16 +00:00
|
|
|
{
|
|
|
|
name: 'reviewers',
|
2017-11-22 04:12:19 +00:00
|
|
|
description:
|
|
|
|
'Requested reviewers for Pull Requests (user name in GitHub/GitLab, email or user name in VSTS)',
|
2017-01-31 13:54:16 +00:00
|
|
|
type: 'list',
|
|
|
|
},
|
2017-10-11 08:22:47 +00:00
|
|
|
{
|
|
|
|
name: 'npm',
|
|
|
|
description: 'Configuration object for npm package.json renovation',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'json',
|
2017-11-03 11:07:12 +00:00
|
|
|
default: {
|
|
|
|
enabled: true,
|
|
|
|
},
|
2017-10-11 08:22:47 +00:00
|
|
|
mergeable: true,
|
|
|
|
},
|
2017-09-12 07:33:41 +00:00
|
|
|
{
|
|
|
|
name: 'meteor',
|
|
|
|
description: 'Configuration object for meteor package.js renovation',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'json',
|
2017-10-20 05:04:04 +00:00
|
|
|
default: { enabled: true },
|
2017-09-12 07:33:41 +00:00
|
|
|
mergeable: true,
|
|
|
|
},
|
2017-12-07 08:22:10 +00:00
|
|
|
{
|
|
|
|
name: 'bazel',
|
|
|
|
description: 'Configuration object for bazel WORKSPACE renovation',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'json',
|
2017-12-14 12:19:30 +00:00
|
|
|
default: { enabled: true },
|
2017-12-07 08:22:10 +00:00
|
|
|
mergeable: true,
|
|
|
|
},
|
2017-12-05 06:50:16 +00:00
|
|
|
{
|
|
|
|
name: 'supportPolicy',
|
|
|
|
description:
|
|
|
|
'Dependency support policy, e.g. used for LTS vs non-LTS etc (node-only)',
|
|
|
|
type: 'list',
|
|
|
|
allowString: true,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'node',
|
|
|
|
description: 'Configuration object for node version renovation',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'json',
|
|
|
|
default: {
|
|
|
|
enabled: false,
|
|
|
|
supportPolicy: ['lts'],
|
|
|
|
branchName: template('branchName', 'node'),
|
|
|
|
prBody: template('prBody', 'node'),
|
|
|
|
prTitle: template('prTitle', 'node'),
|
|
|
|
},
|
|
|
|
mergeable: true,
|
|
|
|
},
|
2017-09-14 07:31:36 +00:00
|
|
|
{
|
|
|
|
name: 'docker',
|
|
|
|
description: 'Configuration object for Dockerfile renovation',
|
|
|
|
stage: 'repository',
|
|
|
|
type: 'json',
|
|
|
|
default: {
|
2017-10-23 11:59:33 +00:00
|
|
|
enabled: true,
|
2017-09-14 07:31:36 +00:00
|
|
|
branchName: template('branchName', 'docker'),
|
|
|
|
commitMessage: template('commitMessage', 'docker'),
|
|
|
|
prTitle: template('prTitle', 'docker'),
|
|
|
|
prBody: template('prBody', 'docker'),
|
2017-10-24 04:36:52 +00:00
|
|
|
major: { enabled: false },
|
2017-10-25 07:57:57 +00:00
|
|
|
digest: {
|
|
|
|
branchName: template('branchName', 'docker-digest'),
|
|
|
|
commitMessage: template('commitMessage', 'docker-digest'),
|
|
|
|
prBody: template('prBody', 'docker-digest'),
|
|
|
|
prTitle: template('prTitle', 'docker-digest'),
|
|
|
|
},
|
2017-09-14 07:31:36 +00:00
|
|
|
pin: {
|
2017-10-24 03:24:15 +00:00
|
|
|
branchName: template('branchName', 'docker-pin'),
|
2017-09-14 07:31:36 +00:00
|
|
|
prTitle: template('prTitle', 'docker-pin'),
|
|
|
|
prBody: template('prBody', 'docker-pin'),
|
|
|
|
groupName: 'Pin Docker Digests',
|
|
|
|
group: {
|
|
|
|
prTitle: template('prTitle', 'docker-pin-group'),
|
|
|
|
prBody: template('prBody', 'docker-pin-group'),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
group: {
|
|
|
|
prTitle: template('prTitle', 'docker-group'),
|
|
|
|
prBody: template('prBody', 'docker-group'),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mergeable: true,
|
|
|
|
cli: false,
|
|
|
|
},
|
2017-01-20 13:03:18 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
function getOptions() {
|
|
|
|
return options;
|
|
|
|
}
|