Commit graph

347 commits

Author SHA1 Message Date
Rhys Arkins
46bc8d0068 fix: restore lockFile set for lerna 2018-06-28 13:41:11 +02:00
Rhys Arkins
ae62215936 feat(npm): lerna lockFile maintenance
Adds support for lock file maintenance when lerna is in use.

Closes #1974
2018-06-28 12:33:45 +02:00
Rhys Arkins
a3043c47ec feat: log warning if lock file error persists for 1 day
Raises an additional log file warning whenever lock file errors persist for a day or longer. The idea of this is that temporary errors - e.g. caused by npmjs itself - should not disturb the user. 1 day seems like a reasonable time for multiple attemps to be made first, assuming it has been scheduled. Once this is tested in production for a little while and no unexpected problems, it will be converted to actually raise a config warning issue in the repo to get user attention.
2018-06-28 10:17:17 +02:00
Rhys Arkins
dca7eb6983 fix: match against non-starred workspaces packages
Previously we were missing out cases like `app/package.json` if the workspaces packages were defined like `[“packages/*”, “app/“]`.

Fixes #2186
2018-06-27 14:22:45 +02:00
Rhys Arkins
0e123661cd fix(pip): enable non-equals package patterns 2018-06-25 11:24:59 +02:00
Rhys Arkins
ec5ac5fbf6 logs: lower npm.update debugs to trace 2018-06-22 22:39:21 +02:00
Ayoub Kaanich
e0ebf03e5a feat: PEP440 ranges (#2137)
Closes #2085
2018-06-19 13:32:05 +02:00
Rhys Arkins
124807974a feat(nuget): support changelogs
Refactors nuget lookups to use generatic logic and fill in repositoryUrl to enable changelogs.
2018-06-14 15:52:37 +02:00
Sam Neirinck
87575f49a3 feat: nuget support
Adds basic support for renovating C# project files. The scope is initially limited to:

- .Csproj only (no VB.NET / F#)
- SDK style csproj's only (this is the default in .net core anyway)
- Limited to nuget.org support (no custom repository support)

Closes #935, Closes #2050
2018-06-14 11:17:14 +02:00
Rhys Arkins
a60c210076 fix(docker): extract Dockerfile FROM on adjacent lines 2018-06-13 10:25:42 +02:00
Rhys Arkins
688ec14b6a refactor: datasource return array of releases 2018-06-11 14:28:50 +02:00
Rhys Arkins
371c10f259 refactor: rename clean=true to sanitize=true 2018-06-11 07:15:54 +02:00
Rhys Arkins
453fb7033f fix(npm): gracefully skip empty dependency version 2018-06-08 11:26:18 +02:00
Rhys Arkins
dbfb5606e5 logs: lower pnpm lock file error to info 2018-06-08 11:25:53 +02:00
Rhys Arkins
94cdf2cd3e
feat: composer range support (#2099)
Adds range support for composer. Mostly leverages existing npm semver range support, but massages where necessary to support Composer differences.

Closes #2097
2018-06-08 08:44:16 +02:00
Ayoub Kaanich
697b80aaf0 feat: composer exact semver support (without lockfile updates) (#1993)
This PR adds the packagist datasource plus basic exact semver Composer support. Composer lockfile updating is not yet supported.
2018-06-08 06:15:13 +02:00
Rhys Arkins
4919306265 fix(npm): correct npmrc replace regex 2018-06-07 13:05:56 +02:00
Rhys Arkins
2a0f2fbba9 fix(npm): filter out package-lock = false in .npmrc
This prevents us from updating npm lock files
2018-06-07 12:39:49 +02:00
Rhys Arkins
3dffefd82b logs: fix npm lockfile debug filename and command 2018-06-07 12:32:38 +02:00
Rhys Arkins
b21f873cf5 fix(travis): retain existing full config when updating
Also improved sorting and quotation detection.

Closes #2087
2018-06-05 18:40:05 +02:00
Ayoub Kaanich
f283104988 feat: use purl for pip requirements (#2067) 2018-06-05 11:26:08 +02:00
Rhys Arkins
c2c50222cc refactor(pip): expand matches logic 2018-06-05 10:26:58 +02:00
Rhys Arkins
775b2979eb fix(pip): reset regex before each search 2018-06-05 10:21:36 +02:00
Connor Brathwaite
398303235b (refactor): delegate generic predicate checking to @sindresorhus/is (#2021)
Closes #1764
2018-06-04 20:07:22 +02:00
Rhys Arkins
233fa20781 refactor: source yarn versions from npm not github 2018-06-04 06:40:13 +02:00
Rhys Arkins
7feca361af refactor: github datasource default to tags 2018-06-04 06:36:48 +02:00
Rhys Arkins
c21029ecbb
refactor: rename some versioning interface (#2078)
isPinnedVersion -> isVersion
rangify -> getNewValue
2018-06-04 06:03:21 +02:00
Rhys Arkins
d8cb261ecb
refactor: rename version -> value (#2076)
Renames currentVersion to currentValue, newVersion to newValue, newVersionMajor to newMajor, and newVersionMinor to newMinor.
2018-06-04 05:48:20 +02:00
Rhys Arkins
24e341b5b4 feat: support semver equals (=)
Adds support for upgrading equals values, e.g. from `=1.0.0` to `=1.0.1`.
2018-06-03 22:25:27 +02:00
Rhys Arkins
dc6959c939 fix: set versionScheme for all manager extracts 2018-06-03 19:13:39 +02:00
Ayoub Kaanich
c54d0ab69d refactor: add versioning wrapper 2018-06-03 17:02:53 +02:00
Rhys Arkins
527c355b48
refactor: move getRangeStrategy to manager (#2072) 2018-06-03 14:25:05 +02:00
Rhys Arkins
dd09707c20 refactor: default versionScheme to ‘semver’ 2018-06-03 07:43:09 +02:00
Rhys Arkins
d982056cd3 fix: skip non-semver nvmrc 2018-06-02 19:36:12 +02:00
Rhys Arkins
d1f49e93eb fix: buildkite semverScheme -> versionScheme 2018-06-02 18:59:02 +02:00
Rhys Arkins
13e8e1a2ff fix: travis get clean versions 2018-06-02 18:58:48 +02:00
Rhys Arkins
2bdc54501a feat: use purl for nvm 2018-06-02 18:28:54 +02:00
Rhys Arkins
0a38cfbc22 chore: add versionScheme to purl extract 2018-06-02 10:19:36 +02:00
Rhys Arkins
2383c5c462 fix(npm): bumpVersion use correct from version
Closes #2060
2018-06-02 07:44:01 +02:00
Rhys Arkins
1f72f473d1 fix: look up npm versions from npmjs not github 2018-06-01 19:07:55 +02:00
Rhys Arkins
fc48fac138 fix: ignore unknown engines fields
Ignores any engines fields in package.json that aren’t node, npm or yarn.

Closes #2059
2018-06-01 18:14:49 +02:00
Rhys Arkins
8b279fd38b feat: use purl for buildkite 2018-06-01 17:12:08 +02:00
Rhys Arkins
c86ea5a4ec refactor: bazel use purl 2018-06-01 16:23:13 +02:00
Rhys Arkins
784a0598b9 refactor: use options for github datasource 2018-06-01 15:32:17 +02:00
Rhys Arkins
04f1e40c30 fix: disable major node engines updates 2018-06-01 11:49:44 +02:00
Rhys Arkins
e39cc9a584
feat: use purl for package lookups (#2041) 2018-06-01 09:02:51 +02:00
Rhys Arkins
8bdc7a6c95 refactor: add purl for meteor 2018-05-31 22:21:28 +02:00
Rhys Arkins
122bb3e3d8 refactor: don’t massage @types url 2018-05-31 22:07:44 +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
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
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
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
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
Rhys Arkins
a9f47ca0b0 fix(yarn): read yarnrc contents properly
Properly fixes #2020
2018-05-26 18:22:32 +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
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
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
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
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
Rhys Arkins
b7703e3beb refactor: ls -l before yarn install 2018-05-16 06:58:07 +02:00
Rhys Arkins
7f49e1b617 logs: fix circleci debug 2018-05-16 06:36:48 +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
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
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
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
7e8148dfae fix: restore non-root package.json config validation errors 2018-05-14 07:54:24 +02:00