Commit graph

1570 commits

Author SHA1 Message Date
Rhys Arkins
d6132ff634 fix: flatten only if updates are present 2018-05-31 20:53:29 +02:00
Rhys Arkins
077923109e
feat: add purl to npm packages (#2053) 2018-05-31 19:19:42 +02:00
Rhys Arkins
d37eb1d694
logs: debug new node releases 2018-05-31 16:28:01 +02:00
Rhys Arkins
b5fdc67872
feat: github datasource getDependency (#2051)
Add new function `getDependency` with same structure as in npm.
2018-05-31 16:24:14 +02:00
Rhys Arkins
c429e4b157 feat: support bumping greater than or equal to ranges 2018-05-31 13:11:56 +02:00
Rhys Arkins
a8bcd004dd logs: fix fileCount 2018-05-31 13:07:09 +02:00
Rhys Arkins
f347e500a0 fix: use getBranchPr for finding open PR for rebase check 2018-05-30 11:03:30 +02:00
Rhys Arkins
830d56875e
fix: restore allowedVersions filter (#2044)
Also adds tests to make sure it’s never lost again.

Fixes https://github.com/renovatebot/config-help/issues/49
2018-05-30 08:27:49 +02:00
Rhys Arkins
8737a324df fix(yarn): handle complex workspaces packages 2018-05-29 22:06:36 +02:00
Rhys Arkins
5475e567d7 fix(node): use semver sort 2018-05-29 15:17:41 +02:00
Rhys Arkins
1da997dbe6 fix: pin when range strategy is autodetected to pin 2018-05-29 14:27:34 +02:00
Rhys Arkins
51108d3fed logs: log dep name with pin message 2018-05-29 14:20:28 +02:00
Rhys Arkins
6cb8f7f583
feat: refactor lookup/package logic for npm (#2038) 2018-05-29 12:44:01 +02:00
Rhys Arkins
d71639bbf8 refactor: fetch array or object 2018-05-29 10:27:41 +02:00
Rhys Arkins
16e66ad67b fix: do not log find before lock file
Closes #2039
2018-05-29 10:04:51 +02:00
Rhys Arkins
9e80c2bde7 fix(npm): unpublishable calculation 2018-05-29 09:52:32 +02:00
Rhys Arkins
1271414cb0 fix: respect latest only if ignoring unstable 2018-05-29 09:32:15 +02:00
Rhys Arkins
7ad306da44 feat: allow rollback + upgrades
If a current version is missing, we now return both rollback as well as upgrades if upgrades are present.
2018-05-29 07:13:44 +02:00
Rhys Arkins
6c2cabac6e feat: optimise lerna reuse
Removes `npx` approach and instead installs each version globally.

Closes #1801
2018-05-29 06:25:46 +02:00
Rhys Arkins
7b149df595 logs: less debug 2018-05-28 22:25:33 +02:00
Rhys Arkins
720c280421 refactor: handle lock file errors due to registry not being ready 2018-05-28 20:12:17 +02:00
Rhys Arkins
6f77953795 fix(npm): use —no-audit 2018-05-28 19:41:34 +02:00
Rhys Arkins
4ae2ee10e9 refactor: run find after npm install 2018-05-28 19:19:10 +02:00
Rhys Arkins
98c250af1a fix: log info messages if package being updated fails 2018-05-28 18:47:58 +02:00
Rhys Arkins
f211ebedaa fix: limit embedded changelogs to last 20 releases 2018-05-28 17:11:55 +02:00
Rhys Arkins
3ba49df83d refactor: disable non-offline tests 2018-05-28 16:25:53 +02:00
Rhys Arkins
19550a328c refactor: log npm 429 retries 2018-05-28 16:16:30 +02:00
Rhys Arkins
1210300dd2 fix: retry 429 with retry-after 2018-05-28 16:10:23 +02:00
Rhys Arkins
11d5a8b02e fix: don’t update starred versions 2018-05-28 15:18:40 +02:00
Rhys Arkins
1c115ae6b6 refactor: move getRangeStrategy into npm/lookup 2018-05-28 13:25:54 +02:00
Rhys Arkins
c9e9bb73a8 fix: widen complex bump range instead of skip 2018-05-28 12:42:02 +02:00
Rhys Arkins
b43f51dac7 fix: embed release notes for at most first 50 releases
Closes #2032
2018-05-28 10:13:50 +02:00
Rhys Arkins
addf184473
feat: refactor getPackageUpdates for manager expansion (#1994)
The goal of this PR is to refactor npm's version lookup/grouping as much as possible to enable the same logic to be used for other package managers.
2018-05-28 09:09:22 +02:00
Dragomir Țurcanu
65b9934a5b tests: remove semver validation (#2027)
Closes #2024
2018-05-27 16:54:11 +02:00
Rhys Arkins
a9f47ca0b0 fix(yarn): read yarnrc contents properly
Properly fixes #2020
2018-05-26 18:22:32 +02:00
Rhys Arkins
941d06172d fix: fortify get changelog to not error
Adds check for res before res.project and wraps in try/catch so that any future errors are ignored and don’t stop the PR.

Fixes #2023
2018-05-26 06:58:02 +02:00
Rhys Arkins
c2100ffc21 fix(yarn): look for .yarnrc for every package file
Closes #2020
2018-05-25 12:12:03 +02:00
Rhys Arkins
2610015467 fix: abort repository when lockfile error 2018-05-24 16:28:36 +02:00
Dragomir Țurcanu
89978d4ebe fix: GitLab MR rebasing logic (#2006)
Fixed the 404 error on branch rebasing. (GitLab)

Closes #1992
2018-05-23 19:26:56 +02:00
Rhys Arkins
6799374e34 fix(npmrc): don’t massage naked ‘_auth’ 2018-05-23 19:18:27 +02:00
Rhys Arkins
c338bdd2dd fix(nmprc): massage _auth to _authToken only if base64 encoded 2018-05-23 18:13:17 +02:00
Rhys Arkins
d6cc5b0755 fix: default rangeStrateg to “replace” 2018-05-23 11:17:20 +02:00
Rhys Arkins
00031c09fa refactor: return latestVersion with npmjs result 2018-05-21 17:42:49 +02:00
Rhys Arkins
7f8dd25a97 refactor: matchesSemver -> matches 2018-05-21 17:40:15 +02:00
Rhys Arkins
63f2669153 refactor: semverSort -> sortVersions 2018-05-21 17:35:50 +02:00
Rhys Arkins
7a1d30c8b6 refactor: move semver to lib/versioning 2018-05-21 17:30:55 +02:00
Rhys Arkins
d45f957cfd refactor: defer isX upgrade classifications 2018-05-21 17:20:41 +02:00
Rhys Arkins
2f1e1a979a fix: Revert "feat: permission check in initRepo (#1983)"
This reverts commit 09978ae8dd.
2018-05-19 09:15:10 +02:00
Dragomir Țurcanu
09978ae8dd feat: permission check in initRepo (#1983)
Added permission checking on `initRepo` which, in case of an error, throws a clear message (`The token doesn't have the write permissions to the repository`)

Closes #509
2018-05-19 08:33:41 +02:00
Rhys Arkins
c89929d3e2 fix: rename changelog cache file 2018-05-19 08:22:37 +02:00
Marco Massarotto
929231b46c Feat/allow ghe changelog (#1981)
This PR follows up and fixes #1968

The previous PR didn't behave correctly as it was expecting Github Enterprise to ALWAYS been configured and that the github.com token was available in the `GITHUB_COM_TOKEN` env variable.
But for non GHE project `GITHUB_COM_TOKEN` is not defined and github.com token is available at the `GITHUB_TOKEN` env variable instead.

This updated PR fix this issue and avoid further problems by prioritising `github.com` over GHE.
Now the code is NOOP if no `GITHUB_ENDPOINT` is configured.

If it's configured, instead, now the codes assumes that, by DEFAULT, a dependency is hosted on `github.com` so it removes `GITHUB_ENDPOINT` and use `GITHUB_COM_TOKEN` as Github token immediately.
They are restored only if needed, when a dependency is hosted on the provided GithubEnterprise.
2018-05-19 07:44:56 +02:00
Rhys Arkins
702ccee67a refactor: rename changelog fields 2018-05-18 17:20:20 +02:00
Rhys Arkins
4c80a433df fix(npm): handle jump between unstable releases in same major
Closes #1990
2018-05-18 16:07:33 +02:00
Rhys Arkins
4822bc5d91 fix: Revert "fix(npm): ignore deprecated versions"
This reverts commit 7fcbb47b3a.
2018-05-18 08:34:34 +02:00
Rhys Arkins
ced6ee20bb fix: Revert "fix(npm): deprecate only if deprecated === ‘this’"
This reverts commit 080d945153.
2018-05-18 08:34:17 +02:00
Rhys Arkins
080d945153 fix(npm): deprecate only if deprecated === ‘this’ 2018-05-18 08:23:49 +02:00
Rhys Arkins
7fcbb47b3a fix(npm): ignore deprecated versions
Closes #1988
2018-05-18 07:44:34 +02:00
Rhys Arkins
93379c4b79 refactor: separatePatchReleases -> separateMinorPatch
Closes #1952
2018-05-17 07:40:29 +02:00
Rhys Arkins
6c3645d18c refactor: separateMajorReleases -> separateMajorMinor 2018-05-17 07:37:37 +02:00
Rhys Arkins
eaf10143c2 refactor: rename multipleMajorPrs -> separateMultipleMajor 2018-05-17 07:33:59 +02:00
Rhys Arkins
7f4cb4aa57
feat: rangeStrategy (#1954)
This PR replaces the existing `pinVersions`, `upgradeInRange` and `versionStrategy` settings with a single one: `rangeStrategy`.

Previously:
 - `pinVersions` could be `true` or `false`, but defaulted to `null`, which meant that Renovate would decide. `true` meant that Renovate would replace existing ranges like `^1.0.0` with an exact/pinned version such as `1.2.0`.
 - `upgradeInRange` could be true or false, default to false. If `true`, it would mean Renovate would replace an existing range like `^1.0.0` with something like `^1.2.0`
 - `versionStrategy` could be `replace` or `widen` and was mainly used for `peerDependencies` to widen existing ranges, e.g. from `^1.0.0` to `^1.0.0 || ^2.0.0`

It was possible to set conflicting settings, e.g. configuring `pinVersions=true` and `upgradeInRange=true`.

Now, we combine them into a single setting: `rangeStrategy`:
 - `auto` = Renovate decides (this will be done on a manager-by-manager basis)
 - `pin` = convert ranges to exact versions
 - `bump` = same as `upgradeInRange` previously, e.g. bump the range even if the new version satisifies the existing range
 - `replace` = Same as pinVersions === false && upgradeInRange === false, i.e. only replace the range if the new version falls outside it
 - `widen` = Same as previous versionStrategy==='widen'
2018-05-17 07:16:13 +02:00
Rhys Arkins
407b302cfe logs: info not warn for no packageFile content 2018-05-16 08:50:30 +02:00
Rhys Arkins
10fae47aa0 logs: print cmd when lockfile error 2018-05-16 08:22:28 +02:00
Rhys Arkins
d8aac6aff6 refactor: run find before installs 2018-05-16 08:20:51 +02:00
Ayoub Kaanich
70252b0513 feat(github): parallel paginate (#1973)
Fetch pages 2..10 in parallel

Closes #1944
2018-05-16 07:23:59 +02:00
Rhys Arkins
6dbf9c52ad fix: Revert "feat: support retrieving changelog from ghe hosted repositories (#1968)"
This reverts commit f2fb2e6bda.
2018-05-16 07:04:59 +02:00
Rhys Arkins
c4d3b3dfb4 refactor: pass bad credentials error from branch to repo 2018-05-16 07:03:27 +02:00
Rhys Arkins
b7703e3beb refactor: ls -l before yarn install 2018-05-16 06:58:07 +02:00
Marco Massarotto
f2fb2e6bda feat: support retrieving changelog from ghe hosted repositories (#1968) 2018-05-16 06:38:14 +02:00
Rhys Arkins
791f31b9ac fix: handle null content returned for package file 2018-05-16 06:37:26 +02:00
Rhys Arkins
f63a882cc7 logs: trace getFile 2018-05-16 06:37:01 +02:00
Rhys Arkins
7f49e1b617 logs: fix circleci debug 2018-05-16 06:36:48 +02:00
Rhys Arkins
fc203bcc89 refactor(github): do not retry 401 Bad Credentials 2018-05-16 06:04:55 +02:00
Rhys Arkins
71a8fb894f fix(docker): update old docs link
Closes #1977
2018-05-16 05:44:43 +02:00
Rhys Arkins
2167eeba11 fix(lerna): return gracefully for lock file maintenance 2018-05-16 05:27:12 +02:00
Rhys Arkins
b7c90ce15d refactor(lerna): throw error if no lernaClient 2018-05-15 21:38:39 +02:00
Rhys Arkins
9f8852c1e3 refactor(lerna): debug missing lernaClient 2018-05-15 21:27:47 +02:00
Rhys Arkins
f3584b5fea fix(yarn): optimise existing file writing 2018-05-15 20:52:25 +02:00
Rhys Arkins
da562aadd2 fix(npm): write package-lock.json and npm-shrinkwrap.json 2018-05-15 20:03:06 +02:00
Rhys Arkins
4f5896c908 refactor: monorepo -> internal-package 2018-05-15 13:46:41 +02:00
Rhys Arkins
2323820df9 refactor: replace config dot notation in npm lookup 2018-05-15 07:29:42 +02:00
Rhys Arkins
409cd4adde refactor: monorepoPackages -> internalPackages 2018-05-15 07:21:10 +02:00
Rhys Arkins
53abbc064a refactor: lessen npmrc logging 2018-05-15 06:07:10 +02:00
Rhys Arkins
8c2ae3248c fix: use yarn workspaces packages if defined, the lerna 2018-05-15 05:58:18 +02:00
Rhys Arkins
3fa8ea22ea logs: log packageFile when failing to look up dependency 2018-05-14 21:53:00 +02:00
Rhys Arkins
1dd623c917 fix: set npmrc before calling getDependency 2018-05-14 21:02:50 +02:00
Rhys Arkins
9db821682c refactor: debug token when npm lookup fails 2018-05-14 13:33:36 +02:00
Rhys Arkins
2bc93e285b fix: correct nested config recommendation 2018-05-14 10:08:41 +02:00
Rhys Arkins
1352bbeb18 feat: discard npmrc if containing variables
.npmrc files will fail during lock file generation if they contain unexpanded variables, so it’s better to discard them instead.
2018-05-14 08:11:23 +02:00
Rhys Arkins
2b2b1d92ab logs: packageFiles -> config 2018-05-14 07:56:17 +02:00
Rhys Arkins
7e8148dfae fix: restore non-root package.json config validation errors 2018-05-14 07:54:24 +02:00
Rhys Arkins
69b264cf01 fix(npm): don’t read npmrc files if ignoreNpmrcFiles=true 2018-05-13 23:06:27 +02:00
Rhys Arkins
ebe9607d79 fix(npm): npmrc/ignoreNpmrc logic 2018-05-13 22:04:06 +02:00
Marco Massarotto
4b5efca7a7 feat: improve compatibility with nexus private npm repo (#1965)
as nexus hosted npm repository does not automatically 'extracts' any value from the published versions we have to manually pick the repository and namepage fields from the latest version if not already defined in the reponse root
2018-05-13 21:39:30 +02:00
Rhys Arkins
57552d5d2b fix(npm): skip packageFile npmrc if ignoreNpmrc 2018-05-13 21:31:46 +02:00
Rhys Arkins
49bbcd48e8 fix(onboarding): rebase existing content
# Conflicts:
#	lib/workers/repository/onboarding/branch/rebase.js
2018-05-13 14:43:07 +02:00
Rhys Arkins
0fa499cd66 fix: getPr canRebase calculation
Closes #1961
2018-05-13 14:36:56 +02:00
Rhys Arkins
8a2818db8e fix(automerge): default to pr, not pr-comment 2018-05-13 08:01:58 +02:00
Rhys Arkins
37874127db fix: return null for large files off master 2018-05-12 06:32:30 +02:00
Rhys Arkins
a8a3197629 fix(github): check pull request reviews before merging 2018-05-12 06:17:24 +02:00
Rhys Arkins
32fc33eedc fix(npm): don’t warn for ENOTFOUND lookup 2018-05-12 05:45:21 +02:00
Rhys Arkins
6cf4faeedf fix: use npm Basic authorization if massaging _auth 2018-05-11 21:01:36 +02:00
Rhys Arkins
2b2fbe97f1 fix(npm): massage _auth to _authToken 2018-05-11 20:10:07 +02:00
Rhys Arkins
a60940497e fix: log redacted auth details if npm lookup fails 2018-05-11 18:44:56 +02:00
Rhys Arkins
8ca30e5b92 fix: use getBranchPr not findPr for onboarding
This allows for the case where the user renames the PR.
2018-05-11 17:59:30 +02:00
Rhys Arkins
6f583ab0e6 fix(presets): set npmrc after first decrypt
In case the renovate config has a npmrc in it that is used to decrypt a preset.
2018-05-11 15:43:14 +02:00
Rhys Arkins
16f6b5810a fix(npm): skip lock file check if no npm package files 2018-05-11 07:23:26 +02:00
Rhys Arkins
680a0bc193 fix: don’t fetch .npmrc in initApis
It will be fetched if there is a package.json anyway
2018-05-10 21:03:25 +02:00
Rhys Arkins
916e258bbd fix: spoil github autolinking even for private repos
Closes #1931
2018-05-09 20:09:34 +02:00
Rhys Arkins
4babdd989e fix: delete branch if PR fails with 502 error 2018-05-09 19:53:46 +02:00
Rhys Arkins
5dfe14b71c logs: less getPrList 2018-05-09 18:44:41 +02:00
Rhys Arkins
16de6a2912 logs: less changelog 2018-05-09 18:42:47 +02:00
Rhys Arkins
e7a9c0fe44 logs: don’t log changelog headings 2018-05-09 18:38:32 +02:00
Rhys Arkins
eccef72b52 fix(npm): restore autodetect pinVersions 2018-05-09 18:17:11 +02:00
Rhys Arkins
4791742060 fix: close configuration issue 2018-05-09 18:03:48 +02:00
Rhys Arkins
3989d47f76 fix: re-enable semantic commit detection 2018-05-09 14:38:17 +02:00
Rhys Arkins
9c7600d6d3 fix: check npmrc before calling includes 2018-05-09 14:20:10 +02:00
Rhys Arkins
407f8fc576 refactor: drop key after decrypt 2018-05-09 13:43:23 +02:00
Rhys Arkins
2ebc0b7718 fix: don’t write .npmrc if contains unexpanded variables 2018-05-09 13:38:24 +02:00
Rhys Arkins
43ac21778f logs: decrease debugging 2018-05-09 13:31:04 +02:00
Rhys Arkins
66804bf211 logs: drop excessive debug 2018-05-09 13:26:16 +02:00
Rhys Arkins
4ecd691325 fix: expand criteria for keeping package.json files 2018-05-09 12:36:58 +02:00
Rhys Arkins
1631757e61 logs: don’t debug package.json content 2018-05-09 12:35:22 +02:00
Rhys Arkins
d4de9108af feat: skip PR generation if lock file generation fails 2018-05-09 12:10:45 +02:00
Rhys Arkins
d75a220008 fix: filter out disabled updates 2018-05-09 11:37:35 +02:00
Rhys Arkins
ee3f7f714e fix: iterate all lerna dirs 2018-05-09 11:17:50 +02:00
Rhys Arkins
2075c20baa fix: lock file refactor 2018-05-09 10:42:38 +02:00
Rhys Arkins
9fe651bca9 logs: drop unnecessary flatten debugs 2018-05-09 10:14:35 +02:00
Rhys Arkins
10012f343a fix: manager -> lernaClient 2018-05-09 10:14:21 +02:00
Rhys Arkins
a332d8fb50 fix: lernaLockFile -> lernaClient 2018-05-09 09:38:11 +02:00
Rhys Arkins
f1f88e4443 fix: always write config.npmrc 2018-05-09 09:35:02 +02:00
Rhys Arkins
3c0e6b7e88 fix: default lerna client to npm 2018-05-09 09:32:21 +02:00
Rhys Arkins
9e47738e8e fix: don’t attempt automerge if push protection enabled (github) 2018-05-09 08:53:57 +02:00
Rhys Arkins
ecdcd9df4f
feat: refactor dependency extraction (#1912)
Rewrite of dependency extraction, particularly for npm. Paves way for easier addition of new package managers.

Closes #1882
2018-05-09 08:03:59 +02:00
Rhys Arkins
b07b49fa99 fix: use amd64/x instead of library/x for Docker Hub digest lookups 2018-05-08 19:15:12 +02:00
Ayoub Kaanich
38a4397feb feat: changelog for pip (#1927)
This PR adds support for pip changelog,
unlike npm, I couldn't find a mapping between github and pip other than github being used as the homepage of some projects, if there are other ways of mapping it would be helpful.

Closes #1911
2018-05-08 04:55:16 +02:00
Rhys Arkins
9ffd0abda1 refactor: replace stringify/parse with fast-clone 2018-05-07 21:50:40 +02:00
Rhys Arkins
812fe227b8 fix(onboarding): adjust packageFiles check when filtering 2018-05-07 20:14:00 +02:00
Rhys Arkins
ad16528fa0 fix: don’t debug branches when sorting 2018-05-07 13:21:46 +02:00
Rhys Arkins
2517c9f1d9
refactor: renovateRepository split (#1928) 2018-05-07 12:59:32 +02:00
Rhys Arkins
6431cf6861 refactor: move sortBranches 2018-05-07 07:59:53 +02:00
Rhys Arkins
c0c935963e refactor: remove null onboarding case 2018-05-07 07:55:49 +02:00
Rhys Arkins
4a4feb35ab refactor: pass branches explicitly to repo onboarding 2018-05-07 07:02:08 +02:00
Rhys Arkins
7189f4682f refactor: simplify repo init 2018-05-07 06:47:17 +02:00
Rhys Arkins
3dbd470f61 refactor: move repo processResult 2018-05-07 06:33:49 +02:00
Rhys Arkins
1eb37c4373 refactor: move repo finalise logic to own directory 2018-05-07 06:26:07 +02:00
Ayoub Kaanich
edfcfc3838 feat: decouple npm and github logic in changelog (#1926)
This PR splits the logic behind changelog into manager (npm) and source (github)
the manager provides the repo url + versions
the source consumes the manager info and generates changelog info

Closes #1911
2018-05-07 04:49:26 +02:00
Rhys Arkins
ac2bc0decb refactor: rename upgrades to updates in branchify 2018-05-06 20:12:01 +02:00
teppeis
abebabb91d fix: remove a useless param 2018-05-06 18:02:54 +02:00
Rhys Arkins
4c72978e29 fix: strip git suffix from changelog repository 2018-05-06 12:33:58 +02:00