Commit Graph

73 Commits (v9.90.3)

Author SHA1 Message Date
Rhys Arkins 7a1d08eaab fix: refactor out remaining do-while loops ()
* fix: convert prBody trimming from do-while to recursive

* fix: convert gitlab projects do-while to use pagination
2017-10-18 11:40:48 +02:00
Rhys Arkins 665ede8475 fix: migrate excludedPackageNames to excludePackageNames () 2017-10-17 11:16:02 +02:00
Rhys Arkins e6e8b541cf refactor: rename ghGotRetry and glGot to get () 2017-10-17 07:15:01 +02:00
Rhys Arkins e1599073d0 fix: migrate ‘ every day’ schedule to empty () 2017-10-14 07:03:44 +02:00
Rhys Arkins 19949f2604 fix: migrate automergeMajor automergeMinor automergePatch ()
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 5ad377655f fix: don’t group lockFileMaintenance update ()
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 
2017-10-05 11:07:15 +02:00
Rhys Arkins d6a45e5f47 fix: handle null child config in merge () 2017-09-13 20:29:20 +02:00
Rhys Arkins 1a395a3dd9 fix: fix and improve schedule migrations ()
* 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 () 2017-09-01 07:43:49 +02:00
Rhys Arkins 6c0d50703f feat: encrypted configuration strings ()
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 
2017-09-01 06:45:51 +02:00
Rhys Arkins 16d36a15e2 feat: add npmToken, npmrc and yarnrc configuration support ()
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 ec1eaa2dd0 feat: convet ignoreNodeModules to ignorePaths ()
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 ()
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 ()
Fixes 
2017-08-25 06:25:25 +02:00
Rhys Arkins 3917fc6bae fix: explicitly check automerge = true ()
* fix: explicitly check automerge = true

* update presets fixtures and tests

* fix versions tests

* update tests
2017-08-24 12:39:23 +02:00
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 841a3a189a tests: add advanced presets test () 2017-08-19 07:31:36 +02:00
Rhys Arkins 26cdabe57e fix: array objects should be migrated () 2017-08-18 19:47:13 +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 ddb1629d9a fix: return massaged config from migrateAndValidate ()
* add massage test

* fix: return massaged config from migrateAndValidate
2017-08-15 13:26:05 +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 06358e32c7 fix: print schedule text along with error message ()
* fix: print schedule text along with error message

* update test
2017-08-15 09:13:25 +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 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 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 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 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 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 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