Commit graph

384 commits

Author SHA1 Message Date
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
Rhys Arkins
e533f96185 fix: escape depName as code in pr bodies 2018-02-01 08:30:44 +01:00
Rhys Arkins
e13e1abab7 fix: don’t escape versions in group pr body 2018-02-01 07:25:37 +01:00
Rhys Arkins
ad4b9feb92 feat: prConcurrentLimit
Adds a new feature to limit the number of concurrent branches/PRs to have open at any one time. Defaults to 0 (disabled), set it to a positive integer to enforce that limit.
2018-01-30 11:43:16 +01:00
Rhys Arkins
a09e9527ce fix: default peerDependencies to not pin Versions 2018-01-28 14:46:05 +01:00
Rhys Arkins
d66dea7ec3
feat: verify status check (GitHub) (#1444)
Adds a `renovate/verify` status check for those migrating and looking for familiarity. Better to check the GPG verified commit, as mentioned in the associated doc.
2018-01-25 13:36:21 +01:00
ctaepper
280e74fa9f feat: expose env to npmrc and npm/yarn/pnpm (#1407)
Adds a config option to bot administrators called `exposeEnv`, for cases where repositories are trusted. If set to true, the bot's full `process.env` can be used for `.npmrc` variable substitution and is passed to child processes when generating lock files. Disabled by default, including in the App.
2018-01-25 10:38:30 +01:00
Rhys Arkins
0925f59262
feat: versionStrategy (#1439)
Adds new config option `versionStrategy` that allows config to override Renovate’s autodetection of when to “widen” an existing semver range, and when to “replace”.
2018-01-24 15:26:37 +01:00
Rhys Arkins
1aad8ec053
feat: peerDependencies support (#1438)
Enables peerDependencies renovation by default, now that complex semver ranges can be upgraded.
2018-01-24 11:39:29 +01:00
Rhys Arkins
9504fb8abb
refactor: use handlebars triple escapes in templates (#1434)
This stops HTML substitution from occurring
2018-01-24 07:18:11 +01:00
otofu-square
f251969fab fix: correct typos in templates (#1423) 2018-01-22 11:17:00 +01:00
Rhys Arkins
3b13591ebc refactor: Add warning to Pin PRs that upgrade PRs will be held up
Closes #1380
2018-01-20 16:20:50 +01:00
Rhys Arkins
b72bfdf4ba
feat: bumpVersion (#1413)
Adds a new configuration option that allows you to bump the version number in the package.json being updated. e.g. you might configure Renovate to bump a patch every time, or maybe for dependencies only and not devDependencies. e.g. if you configure `"bumpVersion": "patch"` then a Renovate PR updating a `package.json` that used to be version `1.2.1` will now see it updated to `1.2.2` (in addition to the dependency version(s) being updated too). Thanks to @gunar for the feature suggestion.

Closes #861
2018-01-20 09:27:05 +01:00
Rhys Arkins
0204da0f97 chore: fix lint 2018-01-16 08:02:08 +01:00
Rhys Arkins
f56a0b5af8
fix: add repository to ignored validation fields 2018-01-16 07:58:58 +01:00
Rhys Arkins
b5db28b242 fix: propagate registry-failure errors to avoid config validation warnings
We don’t want npmjs 5xx errors to cause config validation Issues in repositories.

Closes #1388
2018-01-14 18:58:49 +01:00
Rhys Arkins
dba574950b
feat: baseBranches (multi-branch) support (#1379)
This PR adds the capability to renovate more than one base branch at a time. For instance, a project may have their released `3.x` version on `master`, while an upcoming `4.x` is being prepared using branch `next`. `4.x` might have a quite different set of dependencies (e.g. some removed or some added) so it's not appropriate to only target `master` and keep rebasing, as it will get messy. Instead, it's necessary to target both `master` and `next` to keep both updated.

Closes #1279
2018-01-12 07:47:18 +01:00
Rhys Arkins
2dcb2a70d8 feat: prHourlyLimit
Adds a feature to enforce an hourly limit on PR creations.

Closes #1363
2018-01-11 11:56:16 +01:00
Rhys Arkins
2925c0d9a7 feat: automatically group @types companion packages
By stripping ‘types/ from the branch name, package x and @types/x then become automatically combined in the same PR. We then massage it a little to ensure the decription for the non-types package is used, and a note added saying that types is included.

Closes #1365
2018-01-10 15:35:14 +01:00
Rhys Arkins
72745b6b13 fix: add full npmjs scope when migrating npmToken
commit 7e15d3d488c927df2f11f728f35d493e2821477d
Author: Rhys Arkins <rhys@arkins.net>
Date:   Wed Jan 10 14:26:44 2018 +0100

    Revert "refactor: use _auth= when migrating npm tokens"

    This reverts commit 4a2fdd0477.
2018-01-10 14:27:19 +01:00
Rhys Arkins
ba029d55e3 fix: set pathRules to be mergeable 2017-12-29 15:13:50 +01:00
Rhys Arkins
f8a10a9f4c feat: pathRules
Adds new configuration option “pathRules”. pathRules is an array of path rules. Each rule should contain a “paths” array which uses string or glob matching like the existing ignorePaths. If any of the paths in a rule matches a packageFile then the remaining configuration from the rule is applied to the packageFile.
2017-12-29 15:06:28 +01:00
Rhys Arkins
35d7a63d00 docs: add warning about config.js and extends 2017-12-26 06:28:28 +01:00
Rhys Arkins
6c49ba177e docs: correlate website configuration documentation with source code
This PR adds new checks that:
- Website configuration options are listed in alphabetical order
- Every relevant configuration option in source code is documented on the website
Website docs have been updated accordingly to pass.

Closes #543, Closes #1310
2017-12-26 05:40:14 +01:00
Rhys Arkins
2720688f4c feat: commit body
This PR adds the configuration option “commitMessageBody”. The contents of this will be appended to the commitMessage, separated by two line returns.
2017-12-25 20:37:14 +01:00
Rhys Arkins
4ec85ad818
feat: use version in pr title for synchronised groups (#1333)
Now, if every upgrade in a group has the same new version, then the PR title will include this version.

Closes #1332
2017-12-24 11:14:34 +01:00
Rhys Arkins
1e4bebe627 refactor: use update instead of renovate prefix in group pr titles and commit messages
Closes #1314
2017-12-20 21:15:30 +01:00
Ed Morley
709a68c7ae fix: increase prNotPendingHours default to 24 hours (#1316)
To prevent PRs being opened prior to the `unpublishSafe` check having
transitioned from `pending` to `success`, when using `not-pending`
mode.

Fixes #1312.
2017-12-20 06:47:20 +01:00
Ed Morley
312e164746 fix: remove duplicate 'onboarding' config definition (#1309)
Since it's already defined higher up in the file:
48a2d2de8e/lib/config/definitions.js (L67-L73)
2017-12-18 16:00:09 +01:00
Rhys Arkins
5243c01230 fix: don’t use v prefix in commit message if range 2017-12-18 12:39:59 +01:00
Rhys Arkins
eeefc3c8f3
feat: stop and raise error if repository is misconfigured (#1302)
This PR updates Renovate to detect config validation problems and (1) stop processing, and (2) either raise an Issue if already onboarded, or (2) update the onboarding PR to reflect the error if still onboarding.

Closes #1300
2017-12-18 09:39:52 +01:00
Rhys Arkins
c5a420711b fix: Revert "feat: support mergeable strings in config for npmrc"
This reverts commit 4f65356ba4.

I will attempt to merge npmrc configs a different way, as npm itself does not support merging cascaded configs (it finds the most specific one and just uses it).
2017-12-15 09:15:20 +01:00
Rhys Arkins
c98faa2b34 refactor: default bazel to enabled 2017-12-14 13:19:30 +01:00
Rhys Arkins
b5b714d4b5
fix: writeToken -> forkToken (#1295)
Rename writeToken to forkToken to make it clearer. This enables GitHub API to use one token for all reads, and another token just for writing to the forked repository.
2017-12-14 11:47:00 +01:00
Rhys Arkins
4f65356ba4 feat: support mergeable strings in config for npmrc 2017-12-14 09:56:52 +01:00
Rhys Arkins
4a2fdd0477 refactor: use _auth= when migrating npm tokens 2017-12-14 09:49:50 +01:00
Rhys Arkins
794e149179 refactor: ignore bower_components by default 2017-12-14 06:35:12 +01:00
Rhys Arkins
bbb700c54d feat: add github writeToken capability in github wrapper 2017-12-12 14:54:09 +01:00
Rhys Arkins
18c41df5c1
refactor: fix up config definitions (#1291)
- Remove duplicate autodiscover (fixes #1290)
- Remove npm.pin.automerge=true
2017-12-11 22:26:59 +01:00
Rhys Arkins
cb8fd6b4ed
feat: fork mode (#1287)
This PR adds the capability to run Renovate in a new "fork mode". This new mode must be configured by the Renovate admin, and cannot be configured within repositories themselves (for now). Example use: `renovate --autodiscover --fork-mode`

In this mode: 
* Renovate will fork the repository if necessary (first run only)
* If the fork already existed, Renovate will ensure that its base branch is up to date with the source repository's
 * Branches will be created within the fork, PRs will be created in the source
2017-12-11 19:14:51 +01:00
Rhys Arkins
5036360658
feat: gitPrivateKey for signed git commits (#1282)
This feature enables signing of git commits on GitHub. To achieve this, Renovate must be configured with a gitPrivateKey in format supported by openpgp. There must also be a gitAuthor configured to enable this feature.

Closes #897
2017-12-09 17:56:23 +01:00
Rhys Arkins
70c95add5a
feat: custom git commit author (#1280)
This PR adds the capability to specify a custom author for git commits on GitHub. Setting this field will mean GitHub uses this value for author and commit instead of the token’s identity. For instance if you are running hosted mode you may set the gitAuthor to “Renovate Bot <bot@renovate.com>” to have commits appear as coming from the renovate-bot account.
2017-12-09 17:09:31 +01:00
DJ Madeira
e212093aa9 fix: find config path in cwd when installed globally (#1277)
Fixes #1182
2017-12-07 20:16:51 +01:00
Rhys Arkins
d2f54ba763
fix: do not escape unlinked depNames in pr bodies (#1275) 2017-12-07 13:57:30 +01:00
Rhys Arkins
c499790d94 refactor: add unstablePattern to list of ignored preset keys 2017-12-07 09:50:14 +01:00
Rhys Arkins
987891ba2e
feat: bazel WORKSPACE support (#1268)
This PR adds support for bazel WORKSPACE package files, as suggested https://github.com/alexeagle/angular-bazel-example/issues/17#issuecomment-349167982

Renovate will:
1. Detect `WORKSPACE` files anywhere in the repository
2. Look for all `git_repository()` sections in the file
3. Extract any dependencies with name, remote and tag values
4. Look up any dependencies that (a) have a github https remote, and (b) a valid semver as tag
5. Update the tag to the latest available
2017-12-07 09:22:10 +01:00
renovate[bot]
73506f9043 chore(deps): update dependency prettier to v1.9.0 (#1267)
* chore(deps): update dependency prettier to v1.9.0

* run prettier
2017-12-05 11:50:16 +01:00
Rhys Arkins
b8dadb718d
feat: travis.yml node_js versions support (#1243)
This PR adds support for renovating the `node_js` versions in `.travis.yml` configuration files. Important notes:
- Functionality is disabled by default and hence opt-in via configuration
- Added a new manager type `node` because it is anticipated to support more than just Travis in future, with mostly unified logic
- Added the config option "policy" with supported values: lts, active, current, lts_latest and lts_active
- Policy is actually an array, to allow additive combining, e.g. `["lts_latest", "current"]`
- Actual node versions are *hardcoded*. There is no perfect metadata source for this and they change infrequently enough that it is definitely not a problem for now (next change will be in April 2018)
- If node versions need updating, they are listed from newest to oldest
- Replacing function attempts to detect the indention (spacing) in file and use that

To enable, configure `node.enabled=true` and optionally `node.policy=["<policy>"]` if you want something other than `lts`.

Closes #1208
2017-12-05 07:50:16 +01:00
Rhys Arkins
5e68613150
refactor: add extends config massage (#1256) 2017-12-01 07:16:17 +01:00
JYC
ab3372d33c feat: copy local packages (#1244)
If we have in a package.json links to some local lib file:../path/to/folder
Then the local lib package.json will be copied to the tmp folder to be able to generate the right yarn lock file. This is not working with tgz files, only folder reference.

Closes #1215
2017-11-30 06:43:56 +01:00
Rhys Arkins
779ca36bc1
refactor: use semanticCommitType chore for pin/digest (#1234) 2017-11-24 10:58:44 +01:00
Rhys Arkins
65a5e90bb7
feat: split semanticPrefix into type and scope 2017-11-24 07:14:58 +01:00
Rhys Arkins
d0a08734e5
fix: remove semanticPrefix override from pin.group to pin (#1231) 2017-11-23 19:49:14 +01:00
JYC
8e1dfa111c feat: VSTS - Add Reviewers & Assignees (#1200) 2017-11-22 05:12:19 +01:00
Rhys Arkins
8ea800dce0
fix: drop “fix devDependencies” customisation (#1198) 2017-11-19 06:32:06 +01:00
JYC
c9335d5bf6 Add VSTS support (#1049)
This PR adds support for Microsoft's [Visual Studio Team Services](https://www.visualstudio.com/team-services/) platform (in addition to existing GitHub and GitLab support). 

Closes #571
2017-11-12 10:26:53 +01:00
Rhys Arkins
9c086703c6 fix: strip windows line returns from templates (#1151) 2017-11-12 07:23:09 +01:00
Rhys Arkins
ce88c32f94
refactor: drop {{#if isGitHub}} from templates (#1150)
Pull Request and PR are already search/replaced in JS code for GitLab.
2017-11-12 07:22:13 +01:00
Rhys Arkins
88fc9c4155
refactor: use Object.entries when looping over key/val (#1141)
Closes #1079
2017-11-10 13:46:16 +01:00
Rhys Arkins
28a7ea7193
feat: enable Docker minor and patch tag upgrades (#1137) 2017-11-10 13:11:51 +01:00
Rhys Arkins
51cde5d03f
feat: multipleMajorPrs (#1129)
With this PR, Renovate will default to raising only one major PR at a time. e.g. if you have Webpack 1.x then you will get only one major PR for webpack v3 and not also for v2. set multipleMajorPrs=true to get multiple.

Closes #1101
2017-11-10 04:57:07 +01:00
Rhys Arkins
4cebc7ad64
feat: unstablePattern (#1125)
This adds a configuration option unstablePattern - used only by Docker currently - that can be used to define a regex patternt to identify “unstable” versions.

Closes #1035
2017-11-08 21:57:34 +01:00
Rhys Arkins
8c479071fd
refactor: use global logger (#1116) 2017-11-08 06:44:03 +01:00
renovate[bot]
c1df1b2cb8 chore(deps): update dependency prettier to v1.8.0 (#1113)
* chore(deps): update dependency prettier to v1.8.0

* reformat
2017-11-07 11:52:15 +01:00
Rhys Arkins
f8be45055a
refactor: remove config.api and use platform dispatcher (#1114) 2017-11-07 11:46:10 +01:00
Rhys Arkins
f4d0fea6ae
fix: use colon not at when describing existing docker image:tag (#1103) 2017-11-05 06:17:16 +01:00
Rhys Arkins
8c27d97d5d
feat: rebase stale pin branches (#1099) 2017-11-03 20:15:44 +01:00
Rhys Arkins
14883f818b
refactor: automerge npm pins (#1096) 2017-11-03 12:07:12 +01:00
Rhys Arkins
543d93c520
refactor: move migrate-validate to config/ (#1090) 2017-11-03 08:25:51 +01:00
Rhys Arkins
11d7f26cc1
refactor: perform decrypt as part of merge renovate.json (#1086)
Also clarify docs that encrypted config must be contained in renovate.json (i.e. not package.json).
2017-11-03 07:51:44 +01:00
Rhys Arkins
1e5a5cab79
refactor: move config globals inside functions (#1088)
This was necessary when attempting to use jest mock all
2017-11-03 07:43:26 +01:00
Rhys Arkins
c157e747cf
fix: use major version in pr title for docker tag updates (#1081) 2017-11-02 15:13:56 +01:00
Rhys Arkins
58784fc958 feat: add renovateFork option
99% of the time we should not Renovate forked repositories. Previously, we skipped onboarding them unless a renovate.json was present. However, that meant that if someone forked a repository where the source was using Renovate, then the fork gets renovated automatically too. After this change, forked repositories need to set renovateFork=true in their renovate.json

Closes #940

BREAKING CHANGE: Forked repositories now need to configure renovateFork=true in renovate.json
2017-11-01 13:13:55 +01:00
Rhys Arkins
aada8f0b73 feat: support globs in ignorePaths (#1069)
Renovate will now check ignorePaths values for either (a) a string match, or (b) glob pattern. e.g. a string of ‘node_modules/‘ will ignore ‘node_modules/foo/package.json’ and ‘backend/node_modules/foo/package.json’ but it will also ignore ‘not_node_modules/foo/package.json` too. Therefore a blog pattern of `**/node_modules/**` is superior.

Closes #1054

BREAKING CHANGE: ignorePaths now supports globs and may match more than before, but that’s probably a good thing.
2017-11-01 13:13:55 +01:00
Rhys Arkins
af75504e20 feat: deprecate github app (#1068)
BREAKING CHANGE: GitHub *App* support code has been removed from within this repository.
2017-11-01 13:13:55 +01:00
Rhys Arkins
138d99a04f feat: default lockFileMaintenance to disabled (#1066)
Closes #590

BREAKING CHANGE: lock file maintenance is now disabled by default.
2017-11-01 13:13:55 +01:00
Rhys Arkins
950c65f827 feat: default pinVersions to null (autodetect) (#1062)
By defaulting pinVersions to null, this allows Renover to autodetect on a per-package file basis. Users may still manually configure (override autodetection) pinning enabled or disabled via config.

Closes #589

BREAKING CHANGE: Renovate will no longer default to pinning versions - instead it will autodetect whether to pin, unless overrided.
2017-11-01 13:13:55 +01:00
Rhys Arkins
f3273618b2
fix: add uniqueness to docker-digest pr title (#1051)
Use first 6 chars of sha256 digest in PR title to ensure uniqueness and not block future digest updates.

Closes #1060
2017-10-27 23:33:55 +02:00
Rhys Arkins
c972086f2d fix: improve docker templates for pin/digest/upgrade (#1045) 2017-10-25 09:57:57 +02:00
Rhys Arkins
3960da6e38 refactor: use manager subdirectory for grouping (#1040) 2017-10-24 13:12:44 +02:00
Rhys Arkins
fbf0824dd8 refactor: rename lib/api to lib/registry (#1038)
docker and npm
2017-10-24 10:40:47 +02:00
Rhys Arkins
01fedc7e0c refactor: move github and gitlab api to platform (#1037) 2017-10-24 10:27:17 +02:00
Rhys Arkins
435478864e feat: renovate docker tag major/minor versions (#1029)
This feature enables docker tag "upgrading". Examples:
- From `node:6` to `node:8`
- From `node:6.10` to `node:6.11`
- From `node:6.11.1` to `node:6.11.3`
- From `node:6.10-onbuild` to `node:6.11-onbuild`
Currently these are disabled by default so they are opt-in, you can enable them by setting e.g. `{ docker: { minor: { enabled: true }, major: { enabled: true }}`

Closes #930
2017-10-24 06:36:52 +02:00
Rhys Arkins
7dd8bf13be refactor: add pinDigests configuration option for docker (#1033) 2017-10-24 05:33:03 +02:00
Rhys Arkins
db05a259e0 refactor: improve docker pin templates (#1032) 2017-10-24 05:24:15 +02:00
Rhys Arkins
9c16565a2d feat: enable docker by default (#1026)
Docker does now not need to be explicitly enabled.

Closes #942
2017-10-23 13:59:33 +02:00
Rhys Arkins
b2f35fef44 fix: do not delete semantic commits when migrating (#1025) 2017-10-23 13:06:09 +02:00
Rhys Arkins
827b9af7ef refactor: use deepcopy for migrate and massage (#1024) 2017-10-23 12:56:11 +02:00
Rhys Arkins
826753e329 fix: migrate null schedule to [] (#1021) 2017-10-23 09:14:50 +02:00
Rhys Arkins
50295417d4 fix: don’t prefix ranges with v in pr body (#1017) 2017-10-21 15:15:22 +02:00
Rhys Arkins
636c7d17de feat: skip group name if all depNames are the same (#1015)
This commonly applies to monorepos where the same dependency may be present in multiple.json files. Instead of using the group name to describe the PR, it uses the dependency name.

Closes #848
2017-10-21 07:46:47 +02:00
Rhys Arkins
622116f7e0 feat: migrate boolean config objects to enabled true/false (#1007) 2017-10-20 13:15:00 +02:00
Rhys Arkins
aba27eb757 feat: enable meteor by default (#1002)
Renovate will now check for and update meteor package.js files unless explicitly *disabled*.
2017-10-20 07:04:04 +02:00
Rhys Arkins
1146cfbfe4 fix: pin prs should recreate closed (#991) 2017-10-19 13:10:59 +02:00
Rhys Arkins
665ede8475 fix: migrate excludedPackageNames to excludePackageNames (#961) 2017-10-17 11:16:02 +02:00
Rhys Arkins
e1599073d0 fix: migrate ‘ every day’ schedule to empty (#937) 2017-10-14 07:03:44 +02:00
Rhys Arkins
1a174226ed feat: keep branches/PRs updated when out of schedule (#926)
By default, Renovate will now continue *updating* - but not creating - branches even if off-schedule. This applies to features such as (a) rebasing branches if master changes, (b) updating if new version comes, (c) creating PRs if tests pass, (d) automerging. It is planned that (b) will be configurable in a future feature. To disable this behaviour altogether, set updateNotScheduled to false.

Closes #879
2017-10-13 06:42:17 +02:00
Rhys Arkins
f91aa14235 fix: cast automerge migration values (#924) 2017-10-12 21:15:10 +02:00
Rhys Arkins
c15cfb6406 fix: refactor package file detection to not modify deep state (#923) 2017-10-12 20:02:04 +02:00
Rhys Arkins
19949f2604 fix: migrate automergeMajor automergeMinor automergePatch (#922)
This is a misconfiguration by a user but no harm in adding it to migrations.
2017-10-12 18:55:46 +02:00
Rhys Arkins
68bcb5e726 fix: convert for loop to for..of (#915)
* fix: convert for loop to for..of

* chore: lessen preset debugging

* chore: set detectPackageFiles to debug

* fix lint
2017-10-11 18:54:09 +02:00
Rhys Arkins
bf2491bfc1 fix: don’t automerge pinned dependencies (#914) 2017-10-11 16:20:17 +02:00
Rhys Arkins
83ecc08541 fix: add commitMessage for pin groups (#910)
Fixes #895
2017-10-11 13:10:12 +02:00
Rhys Arkins
df52f68b3e chore: add npm config to definitions 2017-10-11 12:10:31 +02:00
Rhys Arkins
5ad377655f fix: don’t group lockFileMaintenance update (#890)
Setting lockFileMaintenance.groupName =  null will prevent the case where the user configures a repository groupName like “all” and then that group inherits the schedule of lock file maintenance. Instead, there will be renovate/all and renovate/lock-file-maintenance.

Fixes #885
2017-10-05 11:07:15 +02:00
Rhys Arkins
e42b4034eb feat: sanitize branch names (#872)
Previously, you might see branch names like `renovate/@types/jquery-3.x`. Now, such branches will instead be like `renovate/types-jquery-3.x`.
2017-10-02 11:38:42 +02:00
Rhys Arkins
b689509eb2 fix: don’t error if packageFile configured (#856) 2017-09-29 09:36:14 +02:00
Rhys Arkins
8125c772ae feat: ignoreNpmrcFile (#853)
This feature adds support for ignoring .npmrc files in a repository. Set config option to true if you wish to ignore.

Closes #851
2017-09-29 08:22:22 +02:00
Rhys Arkins
43bff1ee54 fix: improve every xday schedule migration (#850)
Fixes #845
2017-09-28 19:42:33 +02:00
renovate[bot]
f8589fa836 chore(deps): update dependency prettier to v1.7.0 (#752)
* chore(deps): update dependency prettier to v1.6.1

* chore(deps): update dependency prettier to v1.7.0

* run lint
2017-09-15 20:20:25 +02:00
renovate[bot]
cfc6c5ccdf fix: update dependency eslint-config-airbnb-base to v12 (#771)
* chore(deps): update dependency eslint-config-airbnb-base to v12.0.0

* fix lint
2017-09-15 19:46:25 +02:00
Rhys Arkins
a88ba0d16a feat: Dockerfile digest support (#788)
This feature adds initial support for renovating Dockerfiles. Renovate now:
- Detects all `Dockerfile`s in repo
- Searches for `FROM x` in first non-comment line, breaks x into image, tag, digest
- Queries public Docker registry for image:tag combination to find latest digest
- Patches Dockerfile if necessary
- Creates branches/PRs as like with npm

Closes #795
2017-09-14 09:31:36 +02:00
Rhys Arkins
dd6f3630b6 refactor: move pin config to definitions (#791) 2017-09-13 20:52:07 +02:00
Rhys Arkins
d6a45e5f47 fix: handle null child config in merge (#790) 2017-09-13 20:29:20 +02:00
Rhys Arkins
d765b34c33 feat: renovate meteor package.js dependencies (#786)
This feature adds support for renovating Meteor's `package.js` files. Meteor config is disabled by default so must be manually enabled to work. If enabled, Renovate uses GitHub's search API to look for any files named `package.js` that include the text `Npm.depends`. If so then the file is parsed using Regex to extract its dependencies and check them for updates.

Closes #785
2017-09-12 09:33:41 +02:00
Rhys Arkins
1a395a3dd9 fix: fix and improve schedule migrations (#761)
* fix: migrate “every xday” to “on xday”

* fix: do not migrate before and after if before is after after

e.g. do not migrate “after 1am and before 5am”
2017-09-01 11:27:54 +02:00
Rhys Arkins
c889f2eec0 fix: don’t massage encrypted npm token (#760) 2017-09-01 07:43:49 +02:00
Rhys Arkins
6c0d50703f feat: encrypted configuration strings (#759)
A new config object `encrypted` can be defined at any level and contain encrypted configuration strings. Initial use is for encrypting an npm token for use with the hosted renovate app.

Closes #650
2017-09-01 06:45:51 +02:00
Rhys Arkins
16d36a15e2 feat: add npmToken, npmrc and yarnrc configuration support (#753)
Renovate config can now support the fields `npmToken`, `npmrc` and `yarnrc`. `npmrc` and `yarnrc` (note no `.` prefix) can be used as an alternative to checking the respective files into the repo and have the same effect. `npmToken` is a shorter alternative and allows for just the npm token to be added, defaulting to the public npm registry.
2017-08-29 09:25:44 +02:00
Rhys Arkins
deac76b015 feat: support timeout for pr creation = not-pending (#748)
We should not leave the PR unopened forever if the branch remains in not-pending state too long. Some status checks may leave the status as “pending” instead of “failed”. Defaults to 12 hours but is configurable.

Closes #747
2017-08-28 11:37:09 +02:00
Rhys Arkins
ec1eaa2dd0 feat: convet ignoreNodeModules to ignorePaths (#741)
The ignoreNodeModules feature is replaced with a generic ignorePaths one and allows any array of strings to be defined and package.json file matching them will be skipped/ignored. Also migrates any existing config/presets.
2017-08-26 21:28:29 +02:00
Rhys Arkins
ea9ace2a76 feat: branch worker updates (#736)
This is a major refactor of branch code to prepare for Yarn workspaces plus creating PRs for branches with failing lockfiles. Marked as "feature" to cause a minor version bump due to the moderate chance of accidentally breaking something.
2017-08-26 16:10:18 +02:00
Rhys Arkins
93d9d9e357 fix: migrate presets when resolving (#733)
Fixes #732
2017-08-25 06:25:25 +02:00
Rhys Arkins
4bc7009db1 fix: improve schedule massage logic (#725)
- reuse suffix for any “before and after” splits
- move “on every weekday” massage to migrate
2017-08-24 07:04:04 +02:00
Rhys Arkins
e443e6b848 fix: only migrate 'and' schedule if it includes before and after (#724) 2017-08-23 12:38:47 +02:00
Rhys Arkins
5693b17ecf fix: advanced schedules migration (#723)
- Split ‘x and y’ schedule into [x, y]
- Replace schedules like ’on mondays’ with ‘on monday’
2017-08-23 11:50:05 +02:00
Rhys Arkins
9d0cbb2e5d fix: migrate fields within depTypes (#718) 2017-08-22 10:58:53 +02:00
Rhys Arkins
238a72b1eb fix: only migrate known strings for automerge (#716)
Leave the rest to error.
2017-08-22 08:12:42 +02:00
Rhys Arkins
2ca2e7c8ca fix: expand automerge string to fill all upgrade types (#714)
This makes for an uglier migration and potentially some redundancy, but is the only easy way to ensure that the migrated behaviour is definitely correct.

Fixes #713
2017-08-22 06:20:23 +02:00
Rhys Arkins
b657d3c291 feat: support lock file maintenance automerge (#712)
Refactored the `automerge` field to change it to boolean. Existing string will be migrated to new config. Automerging lock files is now possible by adding `”lockFileMaintenance”: { ”automerge”: true}` to config.

Closes #706
2017-08-21 13:41:48 +02:00