Commit Graph

2547 Commits

Author SHA1 Message Date
Rhys Arkins 5a852baa61 fix: do not clean uninitiated repository (#1102) 2017-11-05 06:27:46 +01:00
Rhys Arkins 80bed05146 feat: return result from renovateRepository
Repository logic code has been rearranged for better logic and file separation.

Closes #654
2017-11-05 05:45:49 +01:00
Rhys Arkins d5462049a6 chore: implement require-await eslint rule (#1095) 2017-11-03 11:56:25 +01:00
Rhys Arkins dcdfc0d004 fix: refactor pin dependencies first using array.some (#1094) 2017-11-03 11:50:57 +01:00
Rhys Arkins 935a70e88c refactor: use plain markdown for onboarding pr body (#1093)
This PR refactors the onboarding PR logic into its own subdirectory and redesigns it to use plain markdown instead of html. Plain markdown in PR bodies is a requirement for adding VSTS Support ( #1049 ).
2017-11-03 10:01:54 +01:00
Rhys Arkins 9769f5a5db refactor: detectPackageFiles returns packageFiles not config (#1092) 2017-11-03 09:25:18 +01:00
Rhys Arkins 9c1b7d78cd refactor: move monorepos logic to npm manager (#1091)
* refactor: move monorepos logic to npm manager

* fix test
2017-11-03 09:06:42 +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 143044ed64 fix: set contentBranch to undefined instead of null (#1077)
This allows parameter substitution to work correctly (undefined is replace, null is not).

Closes #1076
2017-11-02 04:59:31 +01:00
Rhys Arkins 90c3b1cdbd fix: add gitlab MR labels at time of creation (#1006)
This refactor means that createPr now takes `labels` as a new parameter so that the GitLab API can include them with the MR creation request, so save one API call. This also fixes #985 as a result.
2017-11-01 13:55:36 +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 56e6bd32b5 refactor: log if repository is a configured fork (#1071) 2017-11-01 11:42:20 +01:00
Rhys Arkins caa8c20b1f fix: prune branches if repo is a fork (#1060) 2017-11-01 06:33:21 +01:00
Rhys Arkins 780b3f3175 feat: autodetect js type during runtime (#1053)
This is instead of autodetecting lib or app during onbiarding. This means some package files might be all pinned while others in the same monorepo can be not. This also simplifies the onboarding logic.
2017-10-29 05:15:59 +01:00
Rhys Arkins 0427604de6 refactor: move language extraction logic to manager (#1046)
* refactor: move docker and meteor extraction to manager

* refactor: move resolve docker logic to manager

* refactor extract config
2017-10-25 10:11:11 +02:00
Rhys Arkins 7d06bebe2e refactor: push detect dockerfiles to manager (#1043)
* refactor platform

* refactor detect package files

* fix

* refactor npm detect

* refactor meteor detect

* refactor: move detect package files completely to manager

* update snapshots
2017-10-25 06:00:07 +02:00
Rhys Arkins a2bdcde8fb fix: check for dockerfile content before processing (#1039) 2017-10-24 12:11:37 +02:00
Rhys Arkins 01fedc7e0c refactor: move github and gitlab api to platform (#1037) 2017-10-24 10:27:17 +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 9bac600caf refactor: filter pinned dependencies first (#1023) 2017-10-23 12:45:32 +02:00
Rhys Arkins 9c9da3f6de fix: error and exit if cannot parse renovate.json (#1019) 2017-10-22 07:47:18 +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 d3df597aa7 fix: only detect meteor files that include json Npm.depends (#1009) 2017-10-20 14:29:12 +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 fa48a7fdef feat: rename open prs before autoclosing (#990)
This is a failsafe against Renovate bugs and potentially also mistakes on the user’s part. Before deleting/pruning any branches, Renovate will rename the PR’s title so that it should not block future PRs.

Closes #989
2017-10-19 07:36:09 +02:00
Rhys Arkins a4a14861b9 fix: replace some file sync functions with await (#980)
* refactor: await fs.readFile instead of sync version

* fix: replace fs and tmpDir sync with promises
2017-10-18 13:26:56 +02:00
Rhys Arkins 5639f4b601 fix: move renovate repository inner inside outer function (#977)
This solves the missing config.api problem introduced when moving to recursion
2017-10-18 11:18:48 +02:00
Rhys Arkins dd43fb3237 fix: replace repository do-while loop with recursion (#976) 2017-10-18 10:29:49 +02:00
Rhys Arkins 652b910d81 fix: only detect meteor package.js files containing Npm.depends (#953)
Closes #952
2017-10-16 14:21:45 +02:00
Rhys Arkins ee44d1c3ba feat: reimplement findFilePaths using trees (#950)
* refactor: replace github code search with getTree/manual search (#944)

Previously Renovate was using the GitHub code search API once for each filename we are looking for. Instead, we now retrieve a list of files in the repository and cache it so it can be reused for filename matches.

Closes #939

* fix: use recursive=true

* fix: reset fileList for every repo (github)

* feat: implement findFilePaths on gitlab (#945)

* refactor: do not check manually for root package.json

* fix: reset fileList for every repo (gitlab)

* fix tests
2017-10-16 11:59:59 +02:00
Rhys Arkins 3c1415844a fix: rename and delete erroneous onboarding PRs if found (#948) 2017-10-16 07:59:42 +02:00
Rhys Arkins 74a590ae8e fix: revert findFilePath changes (#947)
* Revert "feat: implement findFilePaths on gitlab (#945)"

This reverts commit 2820b5eef3.

* Revert "refactor: replace github code search with getTree/manual search (#944)"

This reverts commit 33851a5aea.
2017-10-16 07:33:47 +02:00
Rhys Arkins 33851a5aea refactor: replace github code search with getTree/manual search (#944)
Previously Renovate was using the GitHub code search API once for each filename we are looking for. Instead, we now retrieve a list of files in the repository and cache it so it can be reused for filename matches.

Closes #939
2017-10-15 17:38:45 +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 8b99ce5294 feat: detect languages during onboarding (#919)
* refactor: simplify onboarding logic

* docker meteor tests

* handle no package files case

* fix coverage
2017-10-12 16:29:20 +02:00
Rhys Arkins 97ebf27382 refactor: getOnboardingStatus returns config object (#918) 2017-10-12 10:58:16 +02:00
Rhys Arkins e9ee8002df fix: revert docker/meteor onboarding code (#916)
* Revert "feat: support docker and meteor onboarding without npm"

This reverts commit 437145b901.

# Conflicts:
#	test/workers/repository/onboarding.spec.js

* chore: downgrade npm cache message from debug to trace
2017-10-11 19:25:25 +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 1696244ca0 feat: warn in onboarding if package.json missing or failed to parse (#911)
* chore: downgrade json parsing warning from warn to debug

* feat: warn in onboarding if package.json missing or failed to parse

Closes #891
2017-10-11 14:38:40 +02:00
Rhys Arkins a60748c5ec feat: improve onboarding help
Adds mention of app author + how to recreate PR.
2017-10-11 12:46:30 +02:00
Rhys Arkins ce178f96bc chore: improve meteor and docker info log 2017-10-11 12:10:31 +02:00
Rhys Arkins 437145b901 feat: support docker and meteor onboarding without npm 2017-10-11 12:10:31 +02:00
Rhys Arkins ff906bd832 fix: rename javascript types to npm 2017-10-11 12:10:31 +02:00
Rhys Arkins a1941e309b fix: only check package.json file types for isPrivate 2017-10-11 12:10:31 +02:00
Rhys Arkins eacd2b258a refactor: check if npm enabled before detecting files 2017-10-11 12:10:31 +02:00
Rhys Arkins 7c17c666f4 fix: better pin description in oboarding 2017-10-11 12:10:31 +02:00
Rhys Arkins 343814d467 fix: use presets js-app and js-lib (#906) 2017-10-10 12:34:35 +02:00