Commit Graph

3413 Commits

Author SHA1 Message Date
Rhys Arkins 906c6273c7 fix: raise config errors for package rules missing selectors 2018-03-28 15:13:32 +02:00
Rhys Arkins b89f448946 feat: validate packageRule selectors (#1728)
Validates that each packageRule must contain at least one selector. Resolves the rule first to allow for presets.

Closes #1345, Closes #1693
2018-03-28 10:04:07 +02:00
Rhys Arkins 2611b52489 refactor: move extends validation inside list validation 2018-03-28 09:37:19 +02:00
Rhys Arkins 37035480f1 refactor: validate list only if non-empty 2018-03-28 09:36:09 +02:00
Rhys Arkins 41072f3d42 log: drop Found presets log 2018-03-28 09:25:22 +02:00
Rhys Arkins 9ab4e55bc5 chore: reduce logger.debug volume 2018-03-27 21:57:02 +02:00
Rhys Arkins 9e44b33f27 chore: log decryptConfig 2018-03-25 22:47:47 +02:00
Rhys Arkins 3acda0e524 chore: log massageConfig as config 2018-03-22 13:14:28 +01:00
Rhys Arkins 3a4a0cb029 feat: updateLockFiles (#1703)
Adds an option “updateLockFiles” which defaults to true. Setting to false means that updating lock files (e.g. package-lock.json, yarn.lock and shrinkwrap.yaml) will be skipped. The main reason for doing this is for repositories that use a dependency we can’t resolve, so that they can keep updating the package.json without lock file.
2018-03-22 10:41:26 +01:00
Rhys Arkins ee3240908b feat: requireConfig (#1695)
Adds option to bot owners to require a renovate config be in place.

Closes #1694
2018-03-21 10:08:55 +01:00
Rhys Arkins fa523846ab fix: make nvm config mergeable 2018-03-21 06:03:06 +01:00
Rhys Arkins 2364efdb39 fix: improve lockfile maintenance deletion logic
Set lock file branches to always rebase stale, and delete if there’s no work to do.
2018-03-20 06:48:27 +01:00
Rhys Arkins e50d9c1f05 feat: mirrorMode
adds feature mirrorMode, aimed for “shadowing” a target repository.
2018-03-17 06:07:39 +01:00
Rhys Arkins 2f6aac0ba6 fix: handle baseBranch array instead of string 2018-03-14 19:00:18 +01:00
Rhys Arkins d0e76b9d51 fix: validate :timezone preset value 2018-03-13 21:47:08 +01:00
Rhys Arkins e62aa89a6c feat: customisable prFooter (#1648) 2018-03-12 13:35:15 +01:00
ikisialeu c0f87172fa fix: validate timezones (#1638)
`Adds a config validation check for timezone, checking it against the list in moment-timezome.js`. Configs with invalid timezones will raise a configuration error.

Closes #1483
2018-03-12 04:24:45 +01:00
Rhys Arkins cd97792e7c fix: allow rebaseStalePrs=false to take priority over repo settings (#1624)
fix: allow rebaseStalePrs=false to take priority over repo settings
2018-03-09 06:58:40 +01:00
Rhys Arkins 21a5af01c7 fix: add try/catch logging to migrate and validate code
This reverts commit 97ea483f7e.
2018-03-08 07:28:06 +01:00
Rhys Arkins 97ea483f7e fix: Revert "fix: add try/catch logging to migrate and validate code"
This reverts commit 9b44e34fa7.
2018-03-08 07:12:31 +01:00
Rhys Arkins 9b44e34fa7 fix: add try/catch logging to migrate and validate code 2018-03-08 06:02:16 +01:00
Rhys Arkins 7874188cb5 refactor: better debug migrateAndValidate 2018-03-07 15:13:37 +01:00
Rhys Arkins 308ed432db feat: upgradeInRange (#1608)
Upgrade ranges to latest version even if latest version satisfies existing range.

| name    | value   |
| ------- | ------- |
| type    | boolean |
| default | false   |

By default, Renovate assumes that if you are using ranges then it's because you want them to be wide/open. As such, Renovate won't deliberately "narrow" the range by increasing the semver value inside.

For example, if your `package.json` specifies a value for `left-pad` of `^1.0.0` and the latest version on npmjs is `1.2.0`, then Renovate won't change anything. If instead you'd prefer to be updated to `^1.2.0` in cases like this, then set `upgradeInRange` to `true` in your Renovate config.

This feature supports simple caret (`^`) and tilde (`~`) ranges only, like `^1.0.0` and `~1.0.0`. It is not compatible with `pinVersions=true`.

Closes #1607
2018-03-07 07:41:10 +01:00
Hutson Betts d9f9e4692f docs(node): improve documentation clarity (#1606) 2018-03-06 21:42:47 +01:00
Rhys Arkins 453ce13278 fix: Revert "refactor: array concatenation (#1601)"
This reverts commit dd26a018c5.
2018-03-06 15:54:39 +01:00
AndreiMargineanu dd26a018c5 refactor: array concatenation (#1601)
Refactors all instances of .concat() to use array spread operators instead

Closes #1459
2018-03-06 12:34:39 +01:00
Rhys Arkins a924ad3715 fix: add package.json > engines > node to “node.js” group
This is so that the upgrade is combined with travis and nvm
2018-03-06 11:15:04 +01:00
Rhys Arkins dde5756488 feat: .nvmrc files (#1582)
Adds initial support for `.nvmrc` renovation. If the existing value is a fully-specified semver version then it will be upgraded, otherwise left alone.

Closes #1270
2018-03-04 15:52:06 +01:00
Rhys Arkins f398fa19aa fix: Revert "refactor: improve migration scripts"
This reverts commit c6be31543d.

Closes #1584
2018-03-04 14:36:45 +01:00
Rhys Arkins 74a7242081 fix: node-travis migration 2018-03-04 14:20:04 +01:00
Rhys Arkins c6be31543d refactor: improve migration scripts 2018-03-04 07:35:18 +01:00
Rhys Arkins a2c4ecefda fix: delete empty errors and warnings from migrated config 2018-03-04 07:12:02 +01:00
Rhys Arkins dae287b62b refactor: node-travis definitions (#1583)
Retains the "node" configuration object but moves enabling/disabling to "travis". Also removes the default `supportPolicy` from config.
2018-03-04 07:08:19 +01:00
Rhys Arkins 05c8af7e55 fix: add depType to group prBody 2018-03-03 22:25:06 +01:00
Rhys Arkins faa4cc6171 fix: travis metadata and formatting
Updates travis config and logic to use same variables as for other managers. This fixes the onboarding PR.

Fixes #1551
2018-03-03 20:53:54 +01:00
Rhys Arkins 7f9d73a318 feat: allowedVersions
A semver range defining allowed versions for dependencies

| name | value  |
| ---- | ------ |
| type | string |

Use this - usually within a packageRule - to limit how far to upgrade a dependency. For example, if you wish to upgrade to angular v1.5 but not to `angular` v1.6 or higher, you could defined this to be `<= 1.5` or `< 1.6.0`:

```
  "packageRules": [{
    "packageNames": ["angular"],
    "allowedVersions": "<=1.5"
  }]
```
2018-03-03 06:35:11 +01:00
Rhys Arkins 3fd090f3ef feat: prBanner
Enables a “banner” at the top of PRs. Must be set inside a config.js to work.
2018-03-01 17:35:11 +01:00
Rhys Arkins f95058d66b refactor: move npm registry to datasource 2018-02-27 10:49:24 +01:00
Rhys Arkins 1fd83139ed feat: configurable onboarding config (#1543)
Adds configuration option `onboardingConfig` that allows the default onboarding config to be extended or replaced via `config.js` or env configuration.

Closes #1521
2018-02-21 19:50:58 +01:00
Rhys Arkins 116939ffb5 feat: renovate node engine in package.json (#1519)
Adds support for upgrading `node` version in `package.json` > `engines` if the current version is pinned.
- Does not convert from range to pin
- Ignores ranges
- Does not upgrade major versions
2018-02-19 14:21:45 +01:00
Rhys Arkins dd0a436fb2 fix: set prNotPendingHours to 25
Removes race condition between prNotPendingHours and unPublishSafe features.

Closes #1498
2018-02-12 07:55:08 +01:00
Rhys Arkins 94bcca0e8c fix: use details/summary for non-group Release Notes 2018-02-07 09:48:39 +01:00
Luca 95289592a0 chore: add -v parameter to cli (#1489)
NOTE: 
I followed this doc as from what I've seen in the discussion the desired arguments would be `--version` and `-v`, while `commander` uses `-V` as default. This is their suggested way of overwriting it.

https://github.com/tj/commander.js#version-option

Fixes #1469
2018-02-06 07:09:54 +01:00
Rhys Arkins cecc606674 refactor: default endpoint to null 2018-02-03 07:23:24 +01:00
Rhys Arkins c70c72f14b feat: release notes in pull requests (sourced from github releases) (#1465)
Detects and embeds release notes found on GitHub when an npm dependency specifies a GitHub repository as its source and that repository has made use of the "Releases" feature.
2018-02-02 12:37:16 +01:00
Rhys Arkins 7afb693151 fix: update all pr body templates to use h1 headings 2018-02-02 10:56:40 +01:00
Rhys Arkins 360a640e40 fix: use v prefix for versions in PR bodies 2018-02-02 10:55:52 +01:00
Rhys Arkins a008b1f1cd refactor: use h1 for pr headings 2018-02-02 10:49:27 +01:00
Rhys Arkins e24aab2c04 fix: include release headings in pr body only if it has commits (group) 2018-02-02 10:45:20 +01:00
Rhys Arkins 139d6b237e fix: include release headings in pr body only if it has commits 2018-02-02 10:41:33 +01:00