Commit graph

357 commits

Author SHA1 Message Date
Rhys Arkins
b3ad425b53
feat(npm): support package aliases (#3577)
Closes #3575
2019-04-23 10:48:09 +02:00
Wu Haotian
05e9c57a35 fix(npm): always run lerna bootstrap with --no-ci (#3571)
fix(npm): always run `lerna bootstrap` with `--no-ci`
2019-04-21 10:52:41 +02:00
Rhys Arkins
3460dbe08c fix(npm): remove local .npmrc file if ignoring
In gitFs, it’s not enough to just skip writing a .npmrc file if we are ignoring it - the file is already in the file system so we need to delete it so that npm/yarn don’t try to use it.
2019-04-16 23:09:35 +02:00
Rhys Arkins
6b1695e16d fix(pnpm): define store location explicitly 2019-04-10 12:13:52 +02:00
Rhys Arkins
a599eab231
feat: unify file locations (#3507)
feat: unify file locations
2019-04-09 17:14:08 +02:00
Rhys Arkins
2419878761 logs: dedupe err.message 2019-04-08 08:52:04 +02:00
Rhys Arkins
c55481f78e fix(npm): check string before comparing
Closes #3479
2019-04-03 23:12:03 +03:00
Rhys Arkins
ef2e67b4b1 fix(yarn): strip frozen-lockfile from yarnrc
Closes https://github.com/renovatebot/config-help/issues/195
2019-03-31 11:03:23 +02:00
Rhys Arkins
0e2280c07f fix(npm): better skipInstalls check 2019-03-24 06:03:37 +01:00
Rhys Arkins
b60cb7431a fix: Revert "fix(npm): don’t set skipInstalls when file refs found"
This reverts commit 45007169f4.
2019-03-24 06:02:26 +01:00
Rhys Arkins
c8c80bcedb fix: Revert "fix(npm): better skipInstalls check"
This reverts commit 20e68f4325.
2019-03-23 22:23:45 +01:00
Rhys Arkins
20e68f4325 fix(npm): better skipInstalls check 2019-03-23 22:14:41 +01:00
Rhys Arkins
45007169f4 fix(npm): don’t set skipInstalls when file refs found 2019-03-23 11:24:25 +01:00
Rhys Arkins
dcc5fe2f9e logs: log skipInstalls setting 2019-03-23 07:09:33 +01:00
Rhys Arkins
42fe6f548f fix(lerna): call bootstrap if yarn workspaces not used 2019-03-20 22:46:56 +01:00
Rhys Arkins
25dc743481 refactor: debug monorepo packages 2019-03-20 18:11:30 +01:00
Rhys Arkins
1258630faa
feat(npm): dedupe (#3322)
Allows dedupe options for npm and yarn.

Closes #2883
2019-03-07 16:37:07 +01:00
Rhys Arkins
e82f455d8c refactor: log npm package.json name 2019-03-01 11:14:27 +01:00
Rhys Arkins
d17bc17970 fix(yarn): detect yarn integrity in a mixed manager branch
Closes #3274
2019-02-27 13:58:49 +01:00
Rhys Arkins
ff6115fb15 fix(npm): add back line return when massaging npmrc 2019-02-14 11:01:07 -05:00
Rhys Arkins
3edd582b64 logs: don’t warn for lock file maintenance lerna 2019-02-13 10:50:17 -05:00
Rhys Arkins
13cc5b5b0e refactor: rename lock files -> artifacts 2019-02-09 07:08:15 +01:00
Rhys Arkins
a9332a8db0
feat: replace purl with datasource (#3154)
This deprecates the (internal) use of package URLs and instead replaces with `datasource`/`lookupName`.

Closes #3005
2019-02-04 09:41:22 +01:00
Rhys Arkins
bf57bb8071 refactor: github ref => lookupType 2019-01-30 06:46:41 +01:00
Rhys Arkins
ddb78f637f fix(yarn): use latest yarn by default 2019-01-28 03:54:17 +01:00
Rhys Arkins
7be86204ad fix(npm): check for invalid names 2019-01-27 08:40:43 +01:00
Rhys Arkins
10b52cf93b refactor: log lockfileUpdate 2019-01-24 08:46:28 +01:00
Rhys Arkins
62d92660b2
feat: new 'lockfile-update' rangeStrategy (#3108)
Adds a new `rangeStrategy` value `lockfile-update'. Enabling this means you will get PRs that contain updates for the versions in your lock file (currently npm and yarn only) even if the range in the `package.json` file hasn't changed because the update is "in range".

Closes #1382
2019-01-24 06:23:08 +01:00
Rhys Arkins
6d09535c9f
feat: split out npm versioning from semver (#3023)
Closes #2069
2019-01-07 05:49:47 +01:00
Rhys Arkins
4b38793471 refactor: trustLevel 2019-01-05 09:16:32 +01:00
Rhys Arkins
56d55fb1dc feat: node versioning
Very basic at first. A slim wrapper around npm semver that normalizes versions.
2019-01-04 12:41:22 +01:00
Rhys Arkins
55875476a8 refactor: sanitize -> normalize 2018-12-26 07:07:01 +02:00
Rhys Arkins
079afe1820
feat: configurable versionScheme (#2945)
Closes #2914
2018-12-13 05:29:11 +01:00
Rhys Arkins
772bc17603 refactor: repositoryUrl -> sourceUrl 2018-12-10 05:59:28 +01:00
Rhys Arkins
846c16529d
refactor: versioning require (#2915)
Simplify when statically selected
2018-12-08 15:51:34 +01:00
Rhys Arkins
e6ef42d027 chore: fix log 2018-11-17 08:25:02 +01:00
Rhys Arkins
db0efdf053 feat: trustLevel
New config option replaces existing option exposeEnv. Set trustLevel=high in the bot config if you trust the contents of the repositories you are renovating. Doing so results in env being exposed, access to localhost, etc.

Closes #2739
2018-11-16 12:16:37 +01:00
Rhys Arkins
9292833ecf
refactor: extractAllFiles (#2741) 2018-11-05 07:47:44 +01:00
Rhys Arkins
44d119823f refactor: rename extractDependencies -> extractPackageFile 2018-11-04 18:51:23 +01:00
Rhys Arkins
2dbab991a6 fix(monorepo): allow string packages 2018-10-26 07:10:29 +02:00
Rhys Arkins
790e74f036 fix(yarn): support resolutions glob syntax
Closes #2670
2018-10-22 11:08:07 +02:00
Rhys Arkins
5a85e67b2e fix(npm): don’t error if no dependencies in lock file 2018-10-17 12:33:58 +02:00
Rhys Arkins
f71ee0ef9f refactor: lower debugging 2018-10-17 06:04:39 +02:00
Rhys Arkins
b7123806f4 fix(npm): drop Host key verification check 2018-10-16 05:25:29 +02:00
Rhys Arkins
50ba8473f7 refactor: lower debug logging 2018-10-15 09:21:57 +02:00
Rhys Arkins
10f4f42be0 fix(npm): skip non-string values
Closes https://github.com/renovatebot/config-help/issues/113
2018-10-14 21:11:50 +02:00
Rhys Arkins
6fc40ad4f4 refactor: default skipInstalls to null
This allows users to control true/false explicitly via config.

Related: #2647
2018-10-12 20:00:49 +02:00
Rhys Arkins
45339b778e refactor: log integrity switching 2018-10-02 16:32:12 +02:00
Rhys Arkins
6714a03b9b fix(yarn): write yarn.lock only once 2018-10-02 12:14:42 +02:00
Rhys Arkins
88371ea750 fix(lerna): call yarn directly
Closes #2589
2018-10-02 12:04:43 +02:00
Rhys Arkins
dbe30501bf fix(yarn): prepend nested path with node 2018-09-27 13:18:53 +02:00
Rhys Arkins
ec27dee005 fix: check for installed renovate bundled yarn 2018-09-27 13:01:33 +02:00
Rhys Arkins
c980fa1e13 fix: bundle yarn binary instead of aliasing 2018-09-27 12:35:05 +02:00
Rhys Arkins
1a209989bc
feat: yarn integrity switching (#2567)
Detects if `yarn.lock` contains `integrity` fields already and if so then runs `yarn` using v1.10.1 instead of the default v1.9.4.
2018-09-27 11:30:04 +02:00
Rhys Arkins
1dd4c8ce76 fix(yarn): check binarySource=global 2018-09-25 11:18:15 +02:00
Rhys Arkins
804484ed0f refactor: change npm/yarn cache dirs 2018-09-24 13:10:09 +02:00
Rhys Arkins
19a77f8901 fix(npm): force package-lock.json update when widening
Removes dependency record from package-lock.json before running “npm install” to ensure the latest version is installed.

Closes #2480
2018-09-22 18:17:49 +02:00
Rhys Arkins
4b3c2d23ac
feat: combine tmp storage (#2533)
Renovate will now put all its data in `path.join(os.tmpdir(), '/renovate’);` and will instruct npm and yarn to do the same. To force Renovate to use a specific folder, set `process.env.TMPDIR` when running. The previous variable `RENOVATE_TMPDIR` is now deprecated and will be rewritten to TMPDIR.

Closes #1794
2018-09-18 05:26:09 +02:00
Rhys Arkins
b29ea46f8b feat: bumpVersion mirror 2018-09-17 12:45:05 +02:00
Rhys Arkins
eeae416ac9
feat(npm): support git digest updates (#2528)
Adds support for renovating git references in `package.json` files. Supports updating semver tags or sha1 references ("commit hashes").

Also includes support for updating git references from *private* GitHub repositories, if the following conditions are met:
- Renovate user/token is authorised to read from the source private repository
- Dependency is written like `git+https://github.com/owner/repo.git#ref` in `package.json`

Closes #415, Closes #817
2018-09-17 11:18:18 +02:00
Rhys Arkins
c2eb51df54 feat(npm): support long git references
Part of #415
2018-09-17 10:55:27 +02:00
Rhys Arkins
c0eee811b2 refactor(npm): git ref semvers 2018-09-15 18:11:03 +02:00
Rhys Arkins
e7418b27a0 fix(npm): correct skipInstalls logic to consider config 2018-09-15 18:09:10 +02:00
Rhys Arkins
bad9c0770c refactor(npm): separate getDependency function 2018-09-15 18:01:11 +02:00
Rhys Arkins
e517a985c6 fix(npm): valid github owner/repo when extracting 2018-09-15 17:24:54 +02:00
Rhys Arkins
acf512a4ff feat: github semver tag support for npm
Detects github repos in package.json and keeps them up to date if they are using semver tags, e.g. `”github:gulpjs/gulp#v4.0.0-alpha.2”` will get updated to `”github:gulpjs/gulp#v4.0.0”`.

Part of #415 but not closing it yet.
2018-09-15 15:18:18 +02:00
Rhys Arkins
598d57c315 feat: binarySource
Defaulting to ‘bundled’ (default behaviour), this option can be changed to ‘global’ if you wish Renovate to use globally installed npm, yarn, pnpm and lerna binaries. Note: composer always uses global regardless.
2018-09-14 20:38:52 +02:00
Rhys Arkins
6feda1fd25 fix(lerna): detect changed lock files properly
Closes #2519
2018-09-14 06:07:53 +02:00
Rhys Arkins
dda0bade29
refactor: use single localDir per repo (#2505) 2018-09-12 06:30:01 +02:00
Rhys Arkins
bf7bb5a845 fix(npm): default lockfile value 2018-09-12 06:09:32 +02:00
Rhys Arkins
57fbdf7e57 fix(yarn): update resolutions in all cases 2018-09-11 05:25:54 +02:00
Rhys Arkins
b20dde2d53 fix: handle grouped monorepo lockFileMaintenance branches 2018-09-10 09:48:20 +02:00
Rhys Arkins
11c6be8fba refactor: deprecate copyLocalLibs
This can/should be enabled by default now.
2018-09-10 09:38:03 +02:00
Rhys Arkins
ccffdaf712 fix: throw error up if no disk space 2018-09-08 07:16:05 +02:00
Rhys Arkins
81818195b7 refactor: separate lockFileMaintenance per-package file
Closes #2464
2018-09-07 09:26:43 +02:00
Rhys Arkins
ed0bb8760e fix(yarn): throw errors when registry down
Detect strings in `yarn` `stderr` that indicate a registry problem and if found then throw a `registry-failure` error instead of continuing with a PR creation or update. This way they should be retried on each run until the registry is available again.

Closes #2474, Closes #2475
2018-09-04 18:06:07 +02:00
Rhys Arkins
08b44a062a chore: rename packageFile/fileName in extract 2018-08-24 17:49:32 +02:00
Rhys Arkins
d4aec0ff76 feat(npm): perform full install if file: references found
npm’s —package-lock-only implementation seems to have a bug and produces incorrect lock files when file: references are present. If file: dependencies are detected, skipInstalls is set to false.

Closes #2401
2018-08-17 08:22:41 +02:00
Rhys Arkins
a80173d898 fix(npm): ignore scripts on full install 2018-08-15 17:27:40 +02:00
Rhys Arkins
d0ec341e15
feat: skipInstalls (#2390)
Adds new admin option “skipInstalls” that is applicable for npm-only for now (including lerna-npm). If set to false, Renovate will perform a full install of modules rather than `—package-lock-only`. This is necessary in some cases to work around bugs in npm.

Self-hosted bot users can set this option themselves on the bot’s config, but app users will require it to be enabled per-repository by the app admin.
2018-08-15 17:13:07 +02:00
Rhys Arkins
103d8fbf68
feat: prettyDepType (#2376)
Adds field prettyDepType available for templates, currently used for npm only. Allows for PR titles like “Update devDependency left-pad to v1.3.0” instead of default “Update dependency left-pad to v1.3.0”.

To enable in PR titles: add this configuration: `"commitMessageTopic": "{{prettyDepType}} {{depName}}”`

This is not enabled by default as otherwise it could lead to the reopening of previously manually-closed PRs.

Closes #2371, Closes #1863
2018-08-11 11:24:38 +02:00
Mathias Schreck
4868a0e9d9 fix: strip yarn-path option from yarnrc (#2311)
Removing the `yarn-path` option from `yarnrc` makes sure that renovate always uses its bundled version of `yarn`.

Closes #2310
2018-07-26 16:18:37 +02:00
Rhys Arkins
efff72a5e1 chore: fix lint 2018-07-22 09:39:35 +02:00
Rhys Arkins
250c4d8162 feat(npm): ignore vendorised package.json files
Closes #2291
2018-07-22 09:29:19 +02:00
Rhys Arkins
91215af1ba refactor(js): use language ‘js’ for npm and meteor 2018-07-21 21:28:38 +02:00
Rhys Arkins
cddd9cd858 feat: raise prs with lock file warning
Raises PRs and includes warning if lock file updates fail and release timestamp is greater than a day old.

Closes #2233
2018-07-14 08:14:02 +02:00
Rhys Arkins
11c4741271 refactor: fix import order 2018-07-09 11:15:06 +02:00
Rhys Arkins
5ea6955aac fix: don’t reuse lock files in branch if any updates are lock file maintenance 2018-07-05 12:06:55 +02:00
Rhys Arkins
cd9adf76b5 refactor: RENOVATE_REUSE_PACKAGE_LOCK
Attempted workaround for #1984
2018-07-04 19:20:34 +02:00
Rhys Arkins
fb6271e4f7 refactor: rename update.type -> update.updateType 2018-07-04 10:11:53 +02:00
Rhys Arkins
25a35b871d fix(npm): set lockedVersion only if valid semver 2018-06-29 06:31:12 +02:00
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
ec5ac5fbf6 logs: lower npm.update debugs to trace 2018-06-22 22:39:21 +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
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
233fa20781 refactor: source yarn versions from npm not github 2018-06-04 06:40:13 +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
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
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
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
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
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
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