Commit graph

445 commits

Author SHA1 Message Date
Rhys Arkins
c3d84d4767
fix: find .renovaterc.json when onboarding (#1145) 2017-11-11 05:18:24 +01:00
Rhys Arkins
36dc55b894 fix: remove release.date conversion (#1144) 2017-11-10 16:04:25 +01:00
Rhys Arkins
3e34d52819
feat: cache changelog responses (#1143)
Returns cached value if from the to versions are an exact match. No expiry.

Closes #262
2017-11-10 14:48:14 +01:00
Rhys Arkins
ede1a59527
feat: support .renovaterc json configuration file (#1142)
Renovate will now check for `renovate.json`, `.renovaterc`, and `.renovaterc.json` in that order. JSON-only supported (no YAML).

Closes #969
2017-11-10 14:10:16 +01:00
Rhys Arkins
ca5b080aac
refactor: check blocked PR before checking schedule (#1140)
Instead of checking schedule first, now we check first if the PR is blocked by a closed PR. This provides more consistent feedback.

Closes #1100
2017-11-10 13:32:33 +01:00
Rhys Arkins
8a87bcd918
feat: rebase onboarding branch (#1139)
Previously, Renovate's "Configure Renovate" onboarding branch would never get rebased after it was created. Now, it will be rebased every time the base branch is updated, unless the list of modified files is more than `renovate.json` alone.

Closes #1111
2017-11-10 13:07:06 +01:00
Rhys Arkins
f9e9351409
fix: use gitlab iid consistently in all pr-related functions (#1135) 2017-11-10 09:29:24 +01:00
Rhys Arkins
30b82c06a7
fix: gitlab MR bodies should use html (#1134) 2017-11-10 09:15: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
0bc2953113
fix: lock file stderr was not being included in pr comments (#1122) 2017-11-08 13:26:55 +01:00
Rhys Arkins
f044aca321 refactor: streamline platform file operations (#1121)
Remove original getFile, getFileContent, and getFileJson and replace with getFile (which used to be getFileContent.. shortened now for convenience). Also remove unused getSubdirectories functions.
2017-11-08 12:23:32 +01:00
Rhys Arkins
00e7821fcb
feat: use mostly markdown for pr bodies (#1118)
Existing solution uses HTML bodies for PR descriptions, as that was the easiest way to get consistency between GitHub and GitLab. However, VSTS supports only markdown so we needed to refactor how this is done. Now, GitHub PR bodies uses only minimal HTML (for summary/details) while GitLab PR bodies are converted to HTML using GitHub flavoured markdown for maximum compatibility. VSTS will be able to strip out the minimal markdown.

Closes #1018
2017-11-08 11:09:26 +01:00
Rhys Arkins
89e13d05fe
fix: refactor logger addStream and depType logging (#1117)
* fix: refactor logger addstream

* remove depTyp setMeta
2017-11-08 09:59:32 +01:00
Rhys Arkins
8c479071fd
refactor: use global logger (#1116) 2017-11-08 06:44:03 +01:00
Rhys Arkins
602752f9fe
refactor: use platform global (#1115) 2017-11-07 13:31:34 +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
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
9dd3fd968c
feat: rename mistakenly closed PRs (#1085)
Renovate already detects PRs mistakenly closed during a certain time period when a bug was present. Now, it will rename those so that they are no longer detected and the ignore code does not have to remain indefinitely.
2017-11-03 06:29:29 +01:00
Rhys Arkins
9c43d74162
fix: escape every @ in pr body with zero width space (#1084) 2017-11-03 05:29:46 +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
6a511e6b3b chore: remove v10 TODO comments from source code 2017-11-01 13:13:55 +01:00
Rhys Arkins
2cd741d1df feat: deprecate ignoreFuture configuration option (#1063)
Drop support for (unused) ignoreFuture option.

Closes #588

BREAKING CHANGE: Support is removed for ignoreFuture configuration option
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
f582181504 fix: check day of month in schedule (#1048)
Fixes #1047
2017-10-25 11:37:05 +02: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
31e7c8a881 refactor: move languages from branch worker to manager (#1044) 2017-10-25 06:48:08 +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
da1ded5344 refactor: move more package worker logic to manager 2017-10-24 15:46:47 +02:00
Rhys Arkins
3b180aa679 refactor: move workers/package/npm to manager/npm/package 2017-10-24 15:46:47 +02:00
Rhys Arkins
d134d8b38e refactor: move workers/package/docker to manager/docker/package 2017-10-24 15:46:47 +02:00
Rhys Arkins
3960da6e38 refactor: use manager subdirectory for grouping (#1040) 2017-10-24 13:12:44 +02:00
Rhys Arkins
a2bdcde8fb fix: check for dockerfile content before processing (#1039) 2017-10-24 12:11:37 +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
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
a65a149b8d fix: try/catch dockerfile replace (#1022) 2017-10-23 11:28:46 +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
2fa50b3771 feat: rebase branch whenever versions need updating (#1018) 2017-10-21 16:42:40 +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
34a7a459da fix: disabled types should be filtered out by package worker (#1005)
Closes #1004
2017-10-20 09:58:09 +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
76ddde1cb5 fix: ignored digest pr comment (#1001) 2017-10-20 06:55:52 +02:00
Rhys Arkins
9732f3c717 refactor: log assignees and reviewers success after completion (#999) 2017-10-20 06:04:46 +02:00
Rhys Arkins
00dabb5dc1 feat: raise pr with warning if lock file generation fails (#994)
Previously, upgrades with failing lock files were not raised as PRs. Usually this is because of missing private module configuration. Now, Renovate will raise a PR but add a comment warning of the error, with the error log. It's raised as a comment because we now won't need to regenerate the lock file error every run, and we don't want to "lose" it if the PR description gets updated.

Closes #600
2017-10-19 14:05:10 +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
c93c761d27 refactor: log addReviewers and add empty team reviewers (#988)
See if this helps #782
2017-10-19 06:35:21 +02:00
Rhys Arkins
0552900d06 fix: add missing await to getBranchPr call (#986)
Closes #983
2017-10-19 06:12:14 +02:00
Rhys Arkins
01211f119f fix: strip duplicates from dependencies log
* fix: strip duplicates from dependencies log

* chore: update prAlreadyExisted log messages
2017-10-18 21:39:10 +02:00
Rhys Arkins
f980fea6ca feat: comment in closed PR when it is blocking an update (github) (#981)
This feature adds a new behaviour to Renovate, where it will now add a comment to any existing closed PRs that are "blocking" currently valid updates. A new API function "ensureComment" has been added, its purpose is so we can ensure there exists only one comment with a certain subject/heading. This lets us prevent duplicates as well as update existing, without having to keep state about it. ensureComment needs porting to gitlab, but should be quite easy.
2017-10-18 15:28:51 +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
7a1d08eaab fix: refactor out remaining do-while loops (#978)
* 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
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
11b1b0ea51 fix: add missing await after findPr (#965) 2017-10-17 13:22:53 +02:00
Rhys Arkins
e310887f36 refactor: remove checkForClosedPr
replace with findPr
2017-10-17 11:09:03 +02:00
Rhys Arkins
3d84c22cf0 feat: skip regenerating lock file maintenance if branch exists (#956) 2017-10-16 21:57:48 +02:00
singapore
c96f24a82c chore: remove unnecessary log.info from check-existing 2017-10-16 15:22:48 +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
7c410c1283 feat: ignore mistakenly closed PRs and recreated closed (#951) 2017-10-16 13:13:31 +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
8fc61e35bc feat: add assignees and reviewers whenever status checks fail (#928)
This feature means that you can configure branches/PRs to automerge, but if status checks fail (preventing automerge) then you can still get assigneed the PR to take action. Previously such PRs remained unassigned because we do not assign automerging PRs by default, to reduce noise.

Closes #722
2017-10-13 10:56:18 +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
c15cfb6406 fix: refactor package file detection to not modify deep state (#923) 2017-10-12 20:02:04 +02:00
Rhys Arkins
ad3f8d945f fix: wrap meteor parsing in try/catch (#921) 2017-10-12 18:25:26 +02:00
Rhys Arkins
393c24c652 fix: stop attempting branch merge if pr exists (#920) 2017-10-12 17:39:10 +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
039ff55b88 refactor: rename depType docker to Dockerfile 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
renovate[bot]
8866603a46 fix(deps): update dependency get-installed-path to v4 (#892)
* fix(deps): update dependency get-installed-path to v4.0.3

* fix
2017-10-08 06:30:01 +02:00
Rhys Arkins
28a18b18da feat: write existing lockfile before regenerating (#881)
It appears that writing the existing lockfile before regenerating a new one can help speed some resolutions up.

Closes #815
2017-10-08 05:52:58 +02:00
Rhys Arkins
913d0cf208 feat: create PRs if branch automerge failed (#888) 2017-10-05 09:31:10 +02:00
Rhys Arkins
5dab080ef7 fix: info message if automerge branch fails (#886)
* fix: info message if automerge branch fails

* fix snapshot
2017-10-04 16:52:50 +02:00
Rhys Arkins
88e6406e77 fix: dont log full upgrade object (#876) 2017-10-02 20:34:51 +02:00
Rhys Arkins
853a43937a fix: check if depName exists before replacing (#873) 2017-10-02 14:14:24 +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
d392efc36c chore: add filename to Renovating package.json log (#869) 2017-10-01 15:25:05 +02:00
Rhys Arkins
1c42140475 fix: write npmrc to subdirectories with lock file (#858)
* fix: write npmrc to subdirectories with lock file

* fix lint
2017-09-29 10:42:16 +02:00
Rhys Arkins
6969ff3a36 fix: only massage package name if name exists (#859) 2017-09-29 10:37:02 +02:00
Rhys Arkins
d5f11ad9bd feat: remove {} template strings from package.json name (#855) 2017-09-29 09:18:59 +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
23f8467d1e feat: support non-root yarn workspaces (#852)
Previously, Renovate assumed that any yarn workspaces configuration would be in the root of the repository. Now, workspaces can be located within a subdirectory, e.g. `frontend/`. Note: Renovate still supports only one workspace per repository, please file an issue if you require more than one.

Closes #842
2017-09-29 08:08:52 +02:00
singapore
7ef9e65052 chore: downgrade rebase warning to info 2017-09-28 15:04:27 +02:00
Rhys Arkins
636b5fd82a fix: log npm version when generating lockfile (#836)
Now adds `stdout` and `stderr` from `npm` and `yarn` installs to the "Generated lockfile" log message, so that the exact versions of npm and yarn can be known in the default logs.

Closes #827
2017-09-24 16:53:47 +02:00
Rhys Arkins
fe61fe2e7f fix: add —ignore-engines to yarn install (#831) 2017-09-23 08:05:43 +02:00
Rhys Arkins
9aad365032 feat: improve logging visibility (#828)
* fix: add upgrade and branch timings to log

Adds timing logs for upgrade detection + branch updating stages.

Closes #821

* improve request retry logging
2017-09-22 07:04:41 +02:00
Rhys Arkins
9ff555c74b fix: promisify lockfiles (#826)
`npm` and `yarn` lockfile generation use promisified child process `exec` now instead of `spawnSync`.
2017-09-20 22:56:57 +02:00
Rhys Arkins
d7025f25d6 fix: Detect npm & yarn when globally installed (#825)
This fix improves the way Renovate detects embedded/installed npm and yarn. It tries:
- locally installed npm or yarn
- npm or yarn embedded inside globally installed renovate
- globally installed npm or yarn
- global `yarn` or `npm` commands as fallback

Fixes #824
2017-09-20 07:52:44 +02:00
Rhys Arkins
710d0262e2 fix: logger.info not warn when failing to look up dep (#819) 2017-09-16 08:25:31 +02:00
Rhys Arkins
450b16b459 fix: downgrade dep not found error to warning (#818) 2017-09-16 07:39:27 +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
f9b12dbb3e fix: don’t massage packagefile name (#814) 2017-09-15 13:34:53 +02:00
Rhys Arkins
3956877288 fix: use replace rather than full substitution for invalid package file name (#813) 2017-09-15 12:58:06 +02:00
Rhys Arkins
2e40724856 fix: pass PATH to lockfile scripts (#812) 2017-09-15 11:48:12 +02:00
Rhys Arkins
a4490add1e fix: log lock file generation times (#811) 2017-09-15 09:10:50 +02:00
Rhys Arkins
20542e7529 fix: write only updated package.json files when checking for lock files (#810) 2017-09-14 22:10:51 +02:00
Rhys Arkins
6f60289782 feat: install npm as dependency (#808)
* install npm from npm

* use embedded npm and remove versions checking
2017-09-14 18:24:14 +02:00
Rhys Arkins
e4b62a32b2 fix: pass empty env to lock file scripts (#807) 2017-09-14 18:05:38 +02:00
Rhys Arkins
a8126a383f feat: use yarn as a dependency (#806)
Renovate will now depend on yarn like any other dependency and call this version directly, instead of having an embedded version. This will allow us to "renovate" the yarn version we use too.
2017-09-14 17:57:17 +02:00
singapore
75c9203ae0 fix: more check package.json name 2017-09-14 13:57:28 +02:00
Rhys Arkins
60f54f8a5a fix: Check for package.json name first (#805) 2017-09-14 13:56:09 +02:00
Rhys Arkins
760b128b3e feat: massage package.json files before lock file generation (#804)
- Any package names not matching valid pattern will be rewritten to “dummy”
- “engines” and “scripts” fields will be completely removed

Closes #801, Closes #784
2017-09-14 10:54:41 +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
9c56d6f51c fix: nrefactor config.logger -> logger (#794) 2017-09-14 07:21:22 +02:00
Rhys Arkins
d546f30a8f chore: fix eslint (#793)
* fix eslint configuration

* run eslint fix
2017-09-13 21:43:52 +02:00
Rhys Arkins
31b1ee4ef7 refactor: separate npm specifics from package worker (#792) 2017-09-13 21:20:07 +02:00
Rhys Arkins
dd6f3630b6 refactor: move pin config to definitions (#791) 2017-09-13 20:52:07 +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
8fa94141a1 feat: use package names for ignoring when lerna or workspaces (#787)
* add minimatch

* feat: use package names for ignoring when lerna or workspaces

Renovate will now:
- Find all package.json files matching lerna or yarn workspaces glob pattern
- Retrieve package names from within those package.json files
- Implicitly ignore (not renvoate) any of those names

Closes #781
2017-09-12 07:49:56 +02:00
Rhys Arkins
e5654fc812 fix: convert only first line of commit message to lowercase (#779)
Helps #777
2017-09-07 21:18:50 +02:00
Rhys Arkins
1957bba62d feat: update embedded yarn to v1.0.1 (#778) 2017-09-07 20:34:53 +02:00
Rhys Arkins
4e6c7e2ef5 feat: delete branch if PR creation fails (#774)
This will help “self heal” in cases where the branch becomes invalid and PR creation continually fails.

Closes #773
2017-09-03 10:02:48 +02:00
Rhys Arkins
33d58ce2a3 fix: log prTitle when creating pr (#772) 2017-09-03 06:59:51 +02:00
Rhys Arkins
bae9ae0595 feat: stop branch processing after lock file error or pin dependencies (#768)
If a repository has a lock file error (e.g. can’t look up a private module) then it will no longer attempt to create every branch. Instead, it will error/exit after the first branch. Additionally, “Pin Dependencies” has been sorted to be first and further branches won’t be added or updated until Pin Dependencies has been merged.
2017-09-02 08:51:49 +02:00
Rhys Arkins
47df66143b fix: do not warn when lerna subdirectories not found (#762) 2017-09-01 11:40:12 +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
5f708c2297 fix: do not restart renovation if automerging failed (#755) 2017-08-31 07:15:53 +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