Commit graph

400 commits

Author SHA1 Message Date
Jamie Magee
b3390514a4 refactor(eslint): fix eslint warnings in manager (#4865) 2019-11-23 21:44:55 +01:00
Rhys Arkins
a12ef53b9c fix: escape docker volumes and working dir values 2019-11-23 11:08:16 +01:00
Kirill Romanov
edc2dc3bac fix(pnpm): stop ignore pnpmfile with high trust level (#4845) 2019-11-22 10:05:25 +01:00
Dominykas Blyžė
0d2db9032c fix(npm): use package-lock as shrinkwrap when maintaining shrinkwrap (#4776)
When running the `lockFileMaintenance`, the lock file is removed before it gets recreated. When the lock file is not present, npm creates a `package-lock.json` by default, so we need to rename it to `npm-shrinkwrap.json` when we want to get an updated version.
2019-11-07 10:59:55 +01:00
Björn Dahlgren
24a9e290fd feat: Allow specifying Docker user (#4578) 2019-10-05 13:56:58 +02:00
Nihal
87863f165e feat: support for volta (#4512) 2019-09-25 11:01:35 +02:00
Michael Kriese
331863d211 feat(platform): remove global platform variable (#4455) 2019-09-10 09:50:29 +02:00
Rhys Arkins
a32c8f4ccc fix: Revert "feat(platform): remove global platform variable (#4448)"
This reverts commit b5c9dc8e0b.
2019-09-09 06:55:30 +02:00
Michael Kriese
b5c9dc8e0b feat(platform): remove global platform variable (#4448) 2019-09-09 04:40:52 +02:00
Rhys Arkins
d0a32a53f7 logs: downgrade npm update logging 2019-08-27 15:17:36 +02:00
IKEDA Sho
081a23e6fc chore(manager): add more type annotations (#4344) 2019-08-22 17:42:35 +02:00
Rhys Arkins
7379d548a9
feat(npm): dockerMapDotfiles (#4219) 2019-07-30 07:43:36 +02:00
Rhys Arkins
e8eb055b46 fix(npm): remove copyLocalLibs functionality 2019-07-28 21:34:38 +02:00
Michael Kriese
6f99118f7c feat(manager): convert to typescript (#4148) 2019-07-25 08:17:19 +02:00
Michael Kriese
709a2bc1ec fix(manager): add missing encodings (#4166) 2019-07-24 10:29:48 +02:00
Michael Kriese
fd847da4a8 fix: refactor exec (#4155) 2019-07-23 14:39:15 +02:00
Rhys Arkins
b8b435b0fa
feat(npm): support binarySource=docker (#4150) 2019-07-23 10:20:27 +02:00
Rhys Arkins
eee428f973
feat(pnpm): support binarySource=docker (#4151) 2019-07-23 08:50:09 +02:00
azu
6333646e6d fix(npm): fix detecting logic of npmClient (#4130)
fix(npm): fix detecting logic of npmClient
2019-07-20 09:46:47 +02:00
Rhys Arkins
34a96ad327 fix(yarn): no utf for added offline modules
Closes #4126
2019-07-19 11:20:52 +02:00
Michael Kriese
d97737914e refactor: add js type check (#4098) 2019-07-17 10:14:56 +02:00
Rhys Arkins
7fc1207683
feat(yarn): support yarn offline mirror (#4102)
Look for .yarnrc in same directory as yarn.lock. If found, look for yarn-offine-mirror line and check that folder for changes.

Closes #1452
2019-07-17 09:13:07 +02:00
Michael Kriese
855d5fbae3 fix: fix logging (#4100) 2019-07-16 13:47:29 +02:00
Jamie Magee
f334c568a5 feat(typescript): convert logger to typescript (#3671) 2019-07-15 11:04:05 +02:00
praveshtora
aaa80f8055 fix: Pass PROXY in child Process (#4013) 2019-07-13 08:23:03 +02:00
Rhys Arkins
32009378de fix(npm): full npm install if deduping
Closes #3972
2019-06-27 10:39:03 +03:00
Rhys Arkins
14c3e7e9e4 fix(lerna): detect undeclared npmClient=yarn 2019-06-03 22:24:40 +02:00
Rhys Arkins
9219d34521
fix(yarn): run yarn again after dedupe (#3871) 2019-06-03 10:05:56 +02:00
Rhys Arkins
5f11c5e8d9
feat: hostRules rewrite (#3801)
Rewrites hostRules for increased flexibility. Includes renames of existing fields within a hostRule:
- `endpoint` -> `baseUrl`
- `host` -> `hostName`

Additionally, `domainName` has been added. Migration scripts should take care of these for users but it's recommended to update configs to match the new fields anyway.
2019-05-24 17:40:39 +02:00
Michael Kriese
5f213255d0 test: fix coverage (#3794) 2019-05-24 15:01:07 +02:00
Rhys Arkins
c02abf0976
feat: rename hostRules.platform to hostRules.hostType (#3768)
Refactors hostRules to use field “hostType” instead of “platform”. hostType can include datasources like npm, maven, pypi, etc.
2019-05-21 13:20:09 +02:00
Rhys Arkins
dbb1332a04 fix(npm): ignoreNpmrcFile until artifact generation 2019-05-20 23:37:43 +02:00
Rhys Arkins
735121fd39 fix(npm): remove npmrc file before artifacts if ignored 2019-05-20 20:59:15 +02:00
Rhys Arkins
f9596fc7ea chore: less debug logging 2019-05-15 07:33:22 +02:00
Rhys Arkins
49c4ad07c7
fix(lerna): support update-lockfile with npm (#3623)
This fix allows update-lockfile updates to work with lerna/npm where there is a package-lock.json in every package. Still won’t work if there’s a mix of update-lockfile and non/update-lockfile updates within one branch though.
2019-05-02 18:16:22 +02:00
Rhys Arkins
e17f998fb7 fix(npm): catch disk-space error in stderr 2019-04-28 23:04:51 +02:00
Rhys Arkins
f68414fb2f fix: less debug logging, more trace 2019-04-28 22:08:06 +02:00
Rhys Arkins
01753f986e fix(lerna): check for both shrinkwrap and package lock 2019-04-28 10:51:21 +02:00
Michael Kriese
99530c4a85 fix(pnpm): shrinkwrap -> pnpm-lock (#3602) 2019-04-26 13:35:37 +02:00
Rhys Arkins
fa6dea0373 fix(npm): internalPackages typo 2019-04-25 18:26:23 +02:00
Rhys Arkins
924a43d090 fix(npm): full install for npm shrinkwrap 2019-04-25 09:31:09 +02:00
Rhys Arkins
2b4bf85b63 fix: run minimatch with dotfile matching enabled 2019-04-25 07:00:52 +02:00
Rhys Arkins
28f3ab69a6 fix(npm): lerna npm shrinkwrap lockFileMaintenance 2019-04-24 15:47:06 +02:00
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