Rhys Arkins
26cdabe57e
fix: array objects should be migrated ( #697 )
2017-08-18 19:47:13 +02:00
Rhys Arkins
ad40f0abd8
feat: shareable preset configs ( #658 )
...
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 #657 , Closes #671 , Closes #647
2017-08-18 06:10:19 +02:00
Rhys Arkins
ddb1629d9a
fix: return massaged config from migrateAndValidate ( #681 )
...
* 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 ( #680 )
2017-08-15 11:54:36 +02:00
Rhys Arkins
c120b7389d
fix: migrate automerge=false to automerge=none ( #678 )
2017-08-15 09:30:40 +02:00
Rhys Arkins
06358e32c7
fix: print schedule text along with error message ( #679 )
...
* fix: print schedule text along with error message
* update test
2017-08-15 09:13:25 +02:00
Rhys Arkins
43660d51c4
feat: validate schedule ( #674 )
...
Also enables config errors to be shown in Configure Renovate PR.
Closes #550
2017-08-14 11:09:14 +02:00
Rhys Arkins
7970f62a7d
feat: massage true/false strings to boolean ( #673 )
...
Closes #637
2017-08-14 07:49:33 +02:00
Rhys Arkins
99e68cddd3
feat: process all package rules in parent->child order ( #666 )
2017-08-11 08:03:18 +02:00
Rhys Arkins
d27d35e535
feat: allow strings instead of lists ( #665 )
...
Updates definitions for schedule and package rules to allow strings to be massaged to lists - instead of erroring.
Closes #662
2017-08-11 07:29:16 +02:00
Rhys Arkins
88aaaccfb9
fix: don't detect semantic commits if config set globally ( #664 )
...
Fixes #656
2017-08-10 22:35:05 +02:00
Rhys Arkins
57091a1cb4
fix: only concat parent list if non-null ( #644 )
2017-08-07 10:39:32 +02:00
Rhys Arkins
cfa495da61
feat: support package rule merging ( #632 )
...
packageRules are now mergeable between parent and child. Child rules will be placed before parent rules.
Closes #591
2017-08-06 06:41:45 +02:00
Rhys Arkins
f8ec742b3b
feat: Detect semantic commits every run ( #609 )
...
Now no need to detect at onboarding time. Also suggests removing setting in migration if it is already the same value.
Closes #528
2017-08-04 14:49:02 +02:00
Rhys Arkins
e7ce772e94
feat: Make semanticPrefix implicit in templates ( #608 )
...
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 ( #604 )
...
This allows for the easy overriding of our default `renovate/` branch naming.
Closes #586
2017-08-04 08:32:22 +02:00
Rhys Arkins
7ff5780a8f
fix: migrate packages array properly ( #597 )
2017-08-03 19:52:10 +02:00
Rhys Arkins
db2e6dd1b9
refactor: Convert Object.assign to spread ( #585 )
...
Closes #226
2017-08-03 08:01:20 +02:00
Rhys Arkins
c3b123a83d
feat: Advanced package rules ( #582 )
...
- Renames `packages` to `packageRules`
- Refactor `packageName` to `packageNames` array
- Refactor `packagePattern` to `packagePatterns` array
- Adds `excludePackageNames` array
- Adds `excludePackagePatterns` array
Closes #529
2017-08-03 07:55:59 +02:00
Rhys Arkins
8f8a4de69f
fix: Schedule should always be an array ( #580 )
...
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 ( #578 )
2017-08-02 14:41:25 +02:00
Rhys Arkins
d2ad057a33
feat: Improve depTypes configuration ( #577 )
...
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 ( #576 )
2017-08-02 08:54:42 +02:00
Rhys Arkins
c76222fd53
fix: Validate array objects in configuration ( #575 )
2017-08-02 07:52:28 +02:00
Rhys Arkins
023e520702
fix: Do not log warning when deprecated config options found ( #563 )
2017-07-31 14:50:44 +02:00
Rhys Arkins
194b5b4b16
fix: Config validation ignore null and massage schedule to array ( #558 )
2017-07-29 22:12:19 +02:00
Rhys Arkins
7d493a14bf
feat: Log warnings when unknown configuration options or option types found ( #554 )
...
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 #556 .
Closes #548 , Closes #555
2017-07-28 21:15:27 +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 #515
2017-07-24 20:56:15 +02:00
Rhys Arkins
e41c44ea77
fix(prBody): Update PR body link
2017-07-18 07:33:37 +02:00
Rhys Arkins
5f02c91823
refactor(config): Warn instead of error when no repositories found
2017-07-15 06:47:20 +02:00
Rhys Arkins
192c9b998c
feat(config): mergeable depTypes ( #485 )
2017-07-13 22:18:24 +02:00
Rhys Arkins
b10bcecade
fix(groups): Assign a groupName to lockFileMaintenance to prevent unwanted grouping
...
Previously, when someone declared a repository groupName such as “All”, it resulted in lock file maintenance updates being grouped together as well. This is undesirable, especially if the All group then inherits the lock file maintenance schedule.
Fixes #483
2017-07-13 13:37:06 +02:00
Rhys Arkins
1395187ccc
feat(npm): Support packagelock.json maintenance ( #471 )
...
Renovate will now "maintain" npm@5's `package-lock.json` files on the same schedule as existing `yarn.lock` maintenance.
Closes #470
2017-07-07 13:57:43 +02:00
Rhys Arkins
372b445260
refactor: set recreateClosed in group and lockFileMaintenance
2017-07-02 06:25:42 +02:00
Rhys Arkins
6f49927a45
feat: schedule support for lock file maintenance
...
This feature now allows a custom schedule to be defined for lock file maintenance. It is now enabled by default but runs only before 5m on Sundays. Closes #399
BREAKING CHANGE: lock file maintenance is enabled by default.
Rules will apply to both yarn and npm (npm is yet to be implemented however). Existing mainainYarn* variables are removed and replaced by new lockFileMaintenance object.
2017-07-01 06:46:11 +02:00
Rhys Arkins
552b5e68c5
Refactor helpers ( #382 )
...
* Move yarn and npm helpers into branch worker
* Fix name
* Move package-json helper
* Update name
* Move changelog
* Move github-app
* Remove unused platform
* Move logger
* Fix lint
2017-06-29 07:29:41 +02:00
Rhys Arkins
463d2fc39d
Refactor worker code ( #362 )
...
* Move package-file worker
* rename to renovatePackageFile
* Move packageJson
* Add getDepTypeConfig
* Add
* Revert "Add"
This reverts commit d034e6149a
.
* Refactor versions
* rename findPackageFileUpgrades
* rename versions
* packageWorker
* Refactor promises
* move snapshots
* Rename
* Refactor versions
* Refactor
* Finish package worker
* Major refactor
* Remove worker tests
* package/versions
* Finish packageWorker tests
* package-json test
* Finish dep-type tests
* Add back package-json helper test
* Refactor package-file
* Add back branch and pr
* Add back remaining worker tests
* update tests
* remove snapshot
* Fix dep-type coverage
* Remove old tests
* Coverage
2017-06-27 13:44:03 +02:00
Rhys Arkins
ae73655c6e
Refactor repository worker ( #361 )
...
* Add subdirectory
* Move apis tests
* Move onboarding
* Move more apis functions
* Move upgrades
* Refactor index
* Renames
2017-06-26 14:26:49 +02:00
Rhys Arkins
1dd464cba5
Refactor config definitions and onboarding values ( #360 )
...
* Set levels in definitions
* Rename global worker
* getRepoConfig use options levels
* Refactor packageFileConfig
* Add onboarding configuration
2017-06-26 13:08:57 +02:00
Rhys Arkins
10622a1811
Refactor to enable log context ( #331 )
...
Closes #317
* Install traverse
* Scrub api and logger in stringify config
* Use stringifyConfig
* Ignore logs
* Add meta to CLI logs
* Refactor repo structure
* rename repoWorker
* renamed worker
* Refactor logger location
* Refactor main worker
* Refactor getRepoConfig
* Refactor err
* Refactor repo logger
* Add config serializer and logger
* Refactor redact
* Remove stringifyConfig
* Refactor onboarding
* Set packageFile logger
* Refactor package file logic
* branch and pr logging
* Improve log context
* Fix tests part 1
* more test fixes
* Fix github init
* All tests passing
* Rename cli helper
* Refactor logger
* Add logger tests
* Add config serializer tests
* Add configParser tests
* Fix package file tests
* Expand package-file tests
* Use defaultConfig
* Add package-file tests
* Refactor
* Finish package-file tests
2017-06-22 09:03:36 +02:00
Rhys Arkins
07ad13337b
Add GitHub App support ( #230 )
...
* Add jsonwebtoken
* Add githubApp option
* Add id and key configs
* Add integer parsing to cli and env
* Remove boolean app enablement
* Drop got
* Add API functions for GitHub Apps
* debug not verbose in api
* Add GitHub App Helper
* Update redact function
* Add GitHub app logic
* Update logging
* Fix lint
* getInstallations tests
* getInstallationToken tests
* getInstallationRepositories tests
* Refactor ghGot structure
* Add github app tests
* Add config tests
* update lockfile
2017-06-02 22:06:15 +02:00
Rhys Arkins
44e7bbf512
Use es5 trailing commas ( #183 )
2017-04-21 10:25:49 +02:00
Rhys Arkins
06f8d50f5e
Use Prettier ( #181 )
2017-04-21 10:12:41 +02:00
Rhys Arkins
97d2a54561
Add repository autodiscovery ( #156 )
...
Closes #146
2017-04-21 07:00:26 +02:00
Rhys Arkins
c1a561ebf7
Refactor platform check and api assignment ( #179 )
...
* Refactor platform check and api assignment
* Drop mock
* drop async
2017-04-21 06:43:26 +02:00
Jon Bretman
3818e535ad
Move tests to Jest ( #94 )
...
* No need to run tests against compiled code
* Better support for reseting modules
* Will make writing tests for the github/npm apis easier
2017-02-09 05:30:00 +01:00
Rhys Arkins
87a025c2d1
Refactor for multiple platforms ( #81 )
...
* Add gl-got
* Add platform config definition
* Refactor for multiple platforms
Preparing for #65
2017-01-31 18:16:33 +01:00
Rhys Arkins
528112bc47
Use async await ( #78 )
...
All promise syntax has been replaced with async/await.
`renovate` is now transpiled with `babel` to a `dist/` folder, which is the target of `main` and `start` in `package.json` now.
`renovate` can be run in `node.js` v7 without transpilation using `npm run start-raw`
Closes #77
2017-01-31 12:19:06 +01:00
Rhys Arkins
732958c843
Refactor worker
2017-01-22 14:40:14 +01:00
Rhys Arkins
00d6249711
Refactor config
...
Now generates CLI, env and docs
Makes config more testable
2017-01-20 14:03:18 +01:00