Commit Graph

141 Commits (v9.45.7)

Author SHA1 Message Date
Rhys Arkins 4bc7009db1 fix: improve schedule massage logic ()
- 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 () 2017-08-23 12:38:47 +02:00
Rhys Arkins 5693b17ecf fix: advanced schedules migration ()
- 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 () 2017-08-22 10:58:53 +02:00
Rhys Arkins 238a72b1eb fix: only migrate known strings for automerge ()
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 ()
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 
2017-08-22 06:20:23 +02:00
Rhys Arkins b657d3c291 feat: support lock file maintenance automerge ()
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 
2017-08-21 13:41:48 +02:00
Rhys Arkins d72dccfbe1 fix: do not resolve packageFile content () 2017-08-18 21:01:08 +02:00
Rhys Arkins 26cdabe57e fix: array objects should be migrated () 2017-08-18 19:47:13 +02:00
Rhys Arkins 573b434d2f fix: arrays of objects should be massaged () 2017-08-18 19:24:27 +02:00
Rhys Arkins ad40f0abd8 feat: shareable preset configs ()
This PR implements eslint-inspired shareable configs. With this feature, we:
- Add new config option "extends"
  * This is an array of preset config names that the current config or preset extends/inherits from
- Add new config option "description"
  * Each preset config should include a description of its functionality that is human-readable
- Provide a set of commonly use configs called "preset defaults"
- Provide two "full" preset configs: "app" and "library"
   * Almost the same but app pins *all* version numbers while library only pins devdependencies
- Replace regular config in onboarding with one of these two presets
- Generate human-readable description of config in Onboarding PR
- Support npm for hosting configs (both scoped and non-scoped)

Closes , Closes , Closes 
2017-08-18 06:10:19 +02:00
Rhys Arkins 3099bf9da1 fix: migrate last day of month schedule to first of month () 2017-08-15 11:54:36 +02:00
Rhys Arkins c120b7389d fix: migrate automerge=false to automerge=none () 2017-08-15 09:30:40 +02:00
Rhys Arkins 43660d51c4 feat: validate schedule ()
Also enables config errors to be shown in Configure Renovate PR.

Closes 
2017-08-14 11:09:14 +02:00
Rhys Arkins 7970f62a7d feat: massage true/false strings to boolean ()
Closes 
2017-08-14 07:49:33 +02:00
Rhys Arkins e9f672060e fix: disable unpublish-safe default ()
It was a mistake to enable this feature by default, and should be disabled. A check has been made to set the status to “success” if it was previously “pending” and the setting is now false. This should also cover the case when someone enables it and then disables it.

Fixes 
2017-08-14 06:27:00 +02:00
Rhys Arkins 99e68cddd3 feat: process all package rules in parent->child order () 2017-08-11 08:03:18 +02:00
Rhys Arkins d27d35e535 feat: allow strings instead of lists ()
Updates definitions for schedule and package rules to allow strings to be massaged to lists - instead of erroring.

Closes 
2017-08-11 07:29:16 +02:00
Rhys Arkins 88aaaccfb9 fix: don't detect semantic commits if config set globally ()
Fixes 
2017-08-10 22:35:05 +02:00
Rhys Arkins 57091a1cb4 fix: only concat parent list if non-null () 2017-08-07 10:39:32 +02:00
Rhys Arkins 12e4b1eb90 fix: use fix(deps) for dependencies () 2017-08-07 07:45:43 +02:00
Rhys Arkins d7a6bbe367 feat: unpublish-safe status check ()
Renovate now adds a status check renovate/unpublish-safe that has the following behaviour:
If any upgrade in the branch is < 24 hours old then the status check state is "pending"
If all upgrades in the branch are 24 hours or more old then the status check state is "success"
This is able to be disabled via a new option "unpublishSafe".

Closes 
2017-08-06 15:38:10 +02:00
Rhys Arkins cfa495da61 feat: support package rule merging ()
packageRules are now mergeable between parent and child. Child rules will be placed before parent rules.

Closes 
2017-08-06 06:41:45 +02:00
Rhys Arkins d484f9bf8b fix: add yarnCacheFolder to removedOptions () 2017-08-05 07:48:12 +02:00
Rhys Arkins 5d6652b4bc fix: remove non-functioning yarn cache folder option () 2017-08-04 16:12:24 +02:00
Rhys Arkins f8ec742b3b feat: Detect semantic commits every run ()
Now no need to detect at onboarding time. Also suggests removing setting in migration if it is already the same value.

Closes 
2017-08-04 14:49:02 +02:00
Rhys Arkins e7ce772e94 feat: Make semanticPrefix implicit in templates ()
No need for {{semanticPrefix}} to be specified in templates now - it will be implicitly added to start of commit message and PR titles if semanticCommits=true
2017-08-04 12:34:42 +02:00
Rhys Arkins b51915912f fix: check for legacy pr title format ()
Checks for legacy PR title format so we don't accidentally recreate any of those.
2017-08-04 11:55:49 +02:00
Rhys Arkins 009113b094 fix: no v version prefix for ranges () 2017-08-04 10:25:02 +02:00
Rhys Arkins c2a6033ad7 fix: use v prefix for commit message and pull request versions ()
Now will use “v1.0.0” instead of “version 1.0.0”

Closes 
2017-08-04 09:26:11 +02:00
Rhys Arkins 134065c7c7 refactor: use branch prefix in templates ()
This allows for the easy overriding of our default `renovate/` branch naming.

Closes 
2017-08-04 08:32:22 +02:00
Rhys Arkins 7ff5780a8f fix: migrate packages array properly () 2017-08-03 19:52:10 +02:00
Rhys Arkins db2e6dd1b9 refactor: Convert Object.assign to spread ()
Closes 
2017-08-03 08:01:20 +02:00
Rhys Arkins c3b123a83d feat: Advanced package rules ()
- Renames `packages` to `packageRules`
- Refactor `packageName` to `packageNames` array
- Refactor `packagePattern` to `packagePatterns` array
- Adds `excludePackageNames` array
- Adds `excludePackagePatterns` array

Closes 
2017-08-03 07:55:59 +02:00
Rhys Arkins 195988aa0b fix: Incorrect variable used to resolve depTypeConfig () 2017-08-02 16:19:52 +02:00
Rhys Arkins 8f8a4de69f fix: Schedule should always be an array ()
Massaging of string to array is done in migration function.
2017-08-02 16:14:09 +02:00
Rhys Arkins 6c6b1756cb fix: Migration check should set flag true at all times () 2017-08-02 14:41:25 +02:00
Rhys Arkins d2ad057a33 feat: Improve depTypes configuration ()
depTypes configuration is now refactored from being an array of strings/objects to having each type of dep (`dependencies`, `devDependencies`, `optionalDependencies`, `peerDependencies`) be a first class object in the namespace. The "old" way of configuring is still supported but is transformed using a migrateConfig script. Later, PRs will be raised to impacted repositories to suggest the new config.
2017-08-02 14:05:45 +02:00
Rhys Arkins 7f97424092 fix: Separate config migration check to own file () 2017-08-02 08:54:42 +02:00
Rhys Arkins c76222fd53 fix: Validate array objects in configuration () 2017-08-02 07:52:28 +02:00
Rhys Arkins d9d131de6c feat: Full patch separation support ()
This PR adds explicit patch support. A user can set `separatePatchReleases` to true and receive not only major/minor updates but also patch updates separately. This functionality is also implicitly enabled if `automerge` is set to `patch`.
This PR also enables separate major/minor/patch configuration, e.g. config overrides for major versions, for patch versions, etc. `branchName` is currently overridden for patch branches using this technique.

Closes , Closes 
2017-08-01 17:10:53 +02:00
Rhys Arkins f1d7330f2b fix: Improve PR body fixes for scoped packages ()
Escape all scoped package mentions
Escape in group PR bodies too
Remove empty repositoryUrl links
2017-08-01 08:49:41 +02:00
Rhys Arkins 6cd398f0c5 fix: Escape scoped package names in PR bodies ()
GitHub attempts to autolink any @user mention and this causes problems when we use scoped npm modules like `@types/gulp`. This escapes such package names with a zero width space to fool GitHub’s parser.

Fixes 
2017-08-01 07:22:43 +02:00
Rhys Arkins b674e93de2 fix: Add groupCommitMessage to deprecatedOptions () 2017-07-31 16:54:24 +02:00
Rhys Arkins 023e520702 fix: Do not log warning when deprecated config options found () 2017-07-31 14:50:44 +02:00
Rhys Arkins 194b5b4b16 fix: Config validation ignore null and massage schedule to array () 2017-07-29 22:12:19 +02:00
Rhys Arkins 7d493a14bf feat: Log warnings when unknown configuration options or option types found ()
This PR adds detection and log warnings for the following config validation errors:
- Unknown config option (e.g misspelling of a valid config option)
- Config option is a wrong type (e.g. string instead of boolean)

It does *not* propagate this warning to the user (i.e. in onboarding or PRs) yet due to the high chance that we'll find a false negative. I will watch logs for a week or so and then once happy with results will activate user-visible warnings via .

Closes , Closes 
2017-07-28 21:15:27 +02:00
Ika 3c83075fb8 feat: add 'patch' option to automerge ()
* feat: add 'patch' option to automerge

* test: add tests for automerge = patch

* docs: add patch option to automerge

* refactor(isAutomergeEnabled): write code verbosely

* feat: export isAutomergeEnabled

* test(isAutomergeEnabled): add tests
2017-07-27 22:17:28 +02:00
Rhys Arkins beb37bc128 feat(lockFile): Support lockFileMaintenance disabling in env
It’s now possible to set `RENOVATE_LOCK_FILE_MAINTENANCE={}` in env to disable lock file maintenance.

Closes 
2017-07-24 20:56:15 +02:00
Rhys Arkins 8e48d97392 feat(logs): Support custom log detail fields
This removes the need to JSON.stringify() objects in logs. Default bunyan fields plus our custom meta fields are stripped out, and everything else is stringified in the details field.

Closes 
2017-07-19 08:05:26 +02:00