diff --git a/docs/configuration.md b/docs/configuration.md index e41edaee9a6446c9ce31d6616e5d85c243c9f3e7..2c42c39065917f9a2ebf56a892347408ce13d473 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -24,7 +24,7 @@ Using a configuration file gives you very granular configuration options. For in ```javascript module.exports = { - labels: ['defaults'], + labels: ['upgrade'], depTypes: ['dependencies', 'devDependencies'], repositories: [ { @@ -33,7 +33,7 @@ module.exports = { 'package.json', { fileName: 'frontend/package.json', - labels: ['frontend'] + labels: ['upgrade', 'frontend'] }, ], }, @@ -101,6 +101,7 @@ Obviously, you can't set repository or package file location with this method. | Option | Description | Default value | File | Environment | CLI | |---------------------|---------------------------------------------------------|-----------------------------------------------------------|---------------------------|--------------------------|---------------------------| | Token | GitHub Personal Access Token | | `token` | `GITHUB_TOKEN` | `--token` | +| Enabled | Enable/Disable renovate for this repo or file | true | `enabled` | | | | Repositories | List of Repositories | | `repositories` | `RENOVATE_REPOS` | Space-delimited arguments | | Package Files | Package file location(s) | `[]` | `repository.packageFiles` | `RENOVATE_PACKAGE_FILES` | `--package-files` | | Dependency Types | Sections of package.json to renovate | `dependencies`, `devDependencies`, `optionalDependencies` | `depTypes` | `RENOVATE_DEP_TYPES` | `--dep-types` | diff --git a/lib/config/default.js b/lib/config/default.js index 0681749e5f0c853afd2fd6b61f92018407d02487..91ac5d98668e61707dcd0672f595e15cee011b60 100644 --- a/lib/config/default.js +++ b/lib/config/default.js @@ -1,4 +1,5 @@ module.exports = { + enabled: true, packageFiles: [], // Autodiscover depTypes: ['dependencies', 'devDependencies', 'optionalDependencies'], ignoreDeps: [], diff --git a/lib/worker.js b/lib/worker.js index a6f58bee8e81bb1666d4425b403d645cf1c8edc7..391f9443493c98949b2520098560ce2f935d1f2b 100644 --- a/lib/worker.js +++ b/lib/worker.js @@ -22,6 +22,7 @@ function renovate(repoName, packageFile, setConfig) { // Start the chain return github.getFileJson(packageFile) .then(checkforRenovateConfig) + .then(checkIfEnabled) .then(contents => packageJson.extractDependencies(contents, config.depTypes)) .then(filterIgnoredDependencies) .then(findUpgrades) @@ -30,7 +31,9 @@ function renovate(repoName, packageFile, setConfig) { logger.info(`${repoName} ${packageFile} done`); }) .catch((error) => { - logger.error(`renovate caught error: ${error}`); + if (error !== 'renovate disabled') { + logger.error(`renovate caught error: ${error}`); + } }); } @@ -43,6 +46,15 @@ function checkforRenovateConfig(packageContent) { return packageContent; } +// Rejects promise if config.enabled = false +function checkIfEnabled(packageContent) { + if (!config.enabled) { + logger.info('Config is disabled. Skipping'); + return Promise.reject('renovate disabled'); + } + return packageContent; +} + // Remove any dependencies that are on the ignore list function filterIgnoredDependencies(dependencies) { return dependencies.filter(dependency => config.ignoreDeps.indexOf(dependency.depName) === -1);