dependabot / dependabot/dependabot-core

Unknown error when using nested relative paths in `package.json` workspaces (when `package-lock.json` is present)

Open
#7,556 2 comments 1 reaction 0 assignees View on GitHub
T: bug 🐞
Dominant language
Ruby
Stars
5.8k
Forks
1.5k
Avg merge
2d 18h
Merged PRs (30d)
149

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Package ecosystem

npm

### Package manager version

npm `9.8.0`

### Language version

Node.js `18.16.1`

### Manifest location and content before the Dependabot update

`/test1/package.json` (works):

```json
{
"name": "test",
"version": "0.1.0",
"private": true,
"devDependencies": {},
"workspaces": [
"../"
]
}
```

`/test2/dir1/package.json` (raises error):

```json
{
"name": "test2",
"version": "0.1.0",
"private": true,
"devDependencies": {},
"workspaces": [
"../../"
]
}
```

`/test3/dir1/dir2/package.json` (raises error):

```json
{
"name": "test3",
"version": "0.1.0",
"private": true,
"devDependencies": {},
"workspaces": [
"../../../"
]
}
```

### dependabot.yml content

```yml
version: 2

updates:
## Test 1
- package-ecosystem: "npm"
directory: "/test1"
open-pull-requests-limit: 1
schedule:
interval: "daily"
time: "05:00"
timezone: "Europe/Oslo"
allow:
- dependency-type: "all"
commit-message:
prefix: "dependabot notification"
include: "scope"
## Test 2
- package-ecosystem: "npm"
directory: "/test2/dir1"
open-pull-requests-limit: 1
schedule:
interval: "daily"
time: "05:00"
timezone: "Europe/Oslo"
allow:
- dependency-type: "all"
commit-message:
prefix: "dependabot notification"
include: "scope"
## Test 3
- package-ecosystem: "npm"
directory: "/test3/dir1/dir2"
open-pull-requests-limit: 1
schedule:
interval: "daily"
time: "05:00"
timezone: "Europe/Oslo"
allow:
- dependency-type: "all"
commit-message:
prefix: "dependabot notification"
include: "scope"
```

### Updated dependency

_No response_

### What you expected to see, versus what you actually saw

Dependabot should be able to handle nested relative paths in `package.json` workspaces without encountering errors. The update process should proceed smoothly, updating the dependencies as expected.

### Native package manager behavior

`/test2/dir1/package.json`:

```bash
/test2/dir1 $ npm install

up to date, audited 3 packages in 549ms

found 0 vulnerabilities
/test2/dir1 $ npm list
test2@0.1.0 /test2/dir1
└─┬ eisi@0.1.1 -> ./../..
├── eslint-config-prettier@8.8.0
├── eslint-plugin-prettier@5.0.0
├── eslint@8.44.0
└── prettier@3.0.0
```

`/test3/dir1/dir2/package.json`:

```bash
/test3/dir1/dir2 $ npm install

up to date, audited 3 packages in 549ms

found 0 vulnerabilities
/test3/dir1/dir2 $ npm list
test3@0.1.0 /test3/dir1/dir2
└─┬ eisi@0.1.1 -> ./../../..
├── eslint-config-prettier@8.8.0
├── eslint-plugin-prettier@5.0.0
├── eslint@8.44.0
└── prettier@3.0.0
```

### Images of the diff or a link to the PR, issue, or logs

https://github.com/simensol/dependabot-test/network/updates

```txt
proxy | 2023/07/13 08:48:05 proxy starting, commit: d7a27fb6ccdfcb34a156f90abed68233895dd023
proxy | 2023/07/13 08:48:05 Listening (:1080)
updater | 2023-07-13T08:48:05.957322277 [693871456:main:WARN:src/devices/src/legacy/serial.rs:222] Detached the serial input due to peer close/error.
updater | time="2023-07-13T08:48:10Z" level=info msg="guest starting" commit=25d9ac930f9094f0e928816f8de7fc7c19de9562
updater | time="2023-07-13T08:48:10Z" level=info msg="starting job..." fetcher_timeout=10m0s job_id=693871456 updater_timeout=45m0s updater_version=a7271a146ce84fdd2dd28ae5b5eb3259bced2c6c-npm
updater | 2023/07/13 08:48:16 INFO Raven 3.1.2 ready to catch errors
updater | 2023/07/13 08:48:18 INFO Starting job processing
proxy | 2023/07/13 08:48:18 [002] GET https://github.com:443/simensol/dependabot-test/info/refs?service=git-upload-pack
proxy | 2023/07/13 08:48:18 [002] * authenticating git server request (host: github.com)
proxy | 2023/07/13 08:48:18 [002] 200 https://github.com:443/simensol/dependabot-test/info/refs?service=git-upload-pack
proxy | 2023/07/13 08:48:18 [004] POST https://github.com:443/simensol/dependabot-test/git-upload-pack
proxy | 2023/07/13 08:48:18 [004] * authenticating git server request (host: github.com)
proxy | 2023/07/13 08:48:18 [004] 200 https://github.com:443/simensol/dependabot-test/git-upload-pack
proxy | 2023/07/13 08:48:18 [006] POST https://github.com:443/simensol/dependabot-test/git-upload-pack
proxy | 2023/07/13 08:48:18 [006] * authenticating git server request (host: github.com)
proxy | 2023/07/13 08:48:18 [006] 200 https://github.com:443/simensol/dependabot-test/git-upload-pack
updater | 2023/07/13 08:48:19 INFO Finished job processing
updater | time="2023-07-13T08:48:19Z" level=info msg="task complete" container_id=job-693871456-file-fetcher exit_code=0 job_id=693871456 step=fetcher
updater | 2023/07/13 08:48:22 INFO Raven 3.1.2 ready to catch errors
updater | 2023/07/13 08:48:22 INFO Starting job processing
updater | 2023/07/13 08:48:23 INFO Starting update job for simensol/dependabot-test
updater | 2023/07/13 08:48:23 INFO Checking all dependencies for version updates...
updater | 2023/07/13 08:48:23 INFO Checking if eslint-config-prettier needs updating
proxy | 2023/07/13 08:48:23 [014] GET https://registry.npmjs.org:443/eslint-config-prettier
proxy | 2023/07/13 08:48:23 [014] 200 https://registry.npmjs.org:443/eslint-config-prettier
proxy | 2023/07/13 08:48:23 [016] GET https://registry.npmjs.org:443/eslint-config-prettier/8.8.0
proxy | 2023/07/13 08:48:23 [016] 200 https://registry.npmjs.org:443/eslint-config-prettier/8.8.0
updater | 2023/07/13 08:48:23 INFO Latest version is 8.8.0
proxy | 2023/07/13 08:48:27 [019] GET https://registry.npmjs.org:443/eslint-config-prettier
proxy | 2023/07/13 08:48:27 [020] GET https://registry.npmjs.org:443/npm
proxy | 2023/07/13 08:48:27 [019] 200 https://registry.npmjs.org:443/eslint-config-prettier
proxy | 2023/07/13 08:48:27 [020] 200 https://registry.npmjs.org:443/npm
proxy | 2023/07/13 08:48:27 [022] GET https://registry.npmjs.org:443/eslint
proxy | 2023/07/13 08:48:27 [022] 200 https://registry.npmjs.org:443/eslint
proxy | 2023/07/13 08:48:27 [062] GET https://registry.npmjs.org:443/@eslint-community%2feslint-utils
proxy | 2023/07/13 08:48:27 [063] GET https://registry.npmjs.org:443/@eslint-community%2fregexpp
proxy | 2023/07/13 08:48:27 [064] GET https://registry.npmjs.org:443/@eslint%2fjs
proxy | 2023/07/13 08:48:27 [065] GET https://registry.npmjs.org:443/@eslint%2feslintrc
proxy | 2023/07/13 08:48:27 [066] GET https://registry.npmjs.org:443/@humanwhocodes%2fconfig-array
proxy | 2023/07/13 08:48:27 [067] GET https://registry.npmjs.org:443/@nodelib%2ffs.walk
proxy | 2023/07/13 08:48:27 [068] GET https://registry.npmjs.org:443/@humanwhocodes%2fmodule-importer
proxy | 2023/07/13 08:48:27 [069] GET https://registry.npmjs.org:443/ajv
proxy | 2023/07/13 08:48:27 [070] GET https://registry.npmjs.org:443/chalk
proxy | 2023/07/13 08:48:27 [071] GET https://registry.npmjs.org:443/cross-spawn
proxy | 2023/07/13 08:48:27 [072] GET https://registry.npmjs.org:443/debug
proxy | 2023/07/13 08:48:27 [073] GET https://registry.npmjs.org:443/doctrine
proxy | 2023/07/13 08:48:27 [062] 200 https://registry.npmjs.org:443/@eslint-community%2feslint-utils
proxy | 2023/07/13 08:48:27 [074] GET https://registry.npmjs.org:443/escape-string-regexp
proxy | 2023/07/13 08:48:27 [063] 200 https://registry.npmjs.org:443/@eslint-community%2fregexpp
proxy | 2023/07/13 08:48:27 [071] 200 https://registry.npmjs.org:443/cross-spawn
proxy | 2023/07/13 08:48:27 [075] GET https://registry.npmjs.org:443/eslint-scope
proxy | 2023/07/13 08:48:27 [069] 200 https://registry.npmjs.org:443/ajv
proxy | 2023/07/13 08:48:27 [070] 200 https://registry.npmjs.org:443/chalk
proxy | 2023/07/13 08:48:27 [064] 200 https://registry.npmjs.org:443/@eslint%2fjs
proxy | 2023/07/13 08:48:27 [067] 200 https://registry.npmjs.org:443/@nodelib%2ffs.walk
proxy | 2023/07/13 08:48:27 [072] 200 https://registry.npmjs.org:443/debug
proxy | 2023/07/13 08:48:27 [065] 200 https://registry.npmjs.org:443/@eslint%2feslintrc
proxy | 2023/07/13 08:48:27 [066] 200 https://registry.npmjs.org:443/@humanwhocodes%2fconfig-array
proxy | 2023/07/13 08:48:27 [076] GET https://registry.npmjs.org:443/eslint-visitor-keys
proxy | 2023/07/13 08:48:27 [073] 200 https://registry.npmjs.org:443/doctrine
proxy | 2023/07/13 08:48:27 [068] 200 https://registry.npmjs.org:443/@humanwhocodes%2fmodule-importer
proxy | 2023/07/13 08:48:27 [074] 200 https://registry.npmjs.org:443/escape-string-regexp
proxy | 2023/07/13 08:48:27 [077] GET https://registry.npmjs.org:443/espree
proxy | 2023/07/13 08:48:27 [078] GET https://registry.npmjs.org:443/esquery
proxy | 2023/07/13 08:48:27 [075] 200 https://registry.npmjs.org:443/eslint-scope
proxy | 2023/07/13 08:48:27 [079] GET https://registry.npmjs.org:443/esutils
proxy | 2023/07/13 08:48:27 [080] GET https://registry.npmjs.org:443/fast-deep-equal
proxy | 2023/07/13 08:48:27 [081] GET https://registry.npmjs.org:443/file-entry-cache
proxy | 2023/07/13 08:48:27 [076] 200 https://registry.npmjs.org:443/eslint-visitor-keys
proxy | 2023/07/13 08:48:27 [082] GET https://registry.npmjs.org:443/find-up
proxy | 2023/07/13 08:48:27 [077] 200 https://registry.npmjs.org:443/espree
proxy | 2023/07/13 08:48:27 [078] 200 https://registry.npmjs.org:443/esquery
proxy | 2023/07/13 08:48:27 [083] GET https://registry.npmjs.org:443/glob-parent
proxy | 2023/07/13 08:48:27 [079] 200 https://registry.npmjs.org:443/esutils
proxy | 2023/07/13 08:48:27 [080] 200 https://registry.npmjs.org:443/fast-deep-equal
proxy | 2023/07/13 08:48:27 [084] GET https://registry.npmjs.org:443/globals
proxy | 2023/07/13 08:48:27 [081] 200 https://registry.npmjs.org:443/file-entry-cache
proxy | 2023/07/13 08:48:27 [085] GET https://registry.npmjs.org:443/import-fresh
proxy | 2023/07/13 08:48:27 [082] 200 https://registry.npmjs.org:443/find-up
proxy | 2023/07/13 08:48:27 [086] GET https://registry.npmjs.org:443/is-glob
proxy | 2023/07/13 08:48:27 [087] GET https://registry.npmjs.org:443/is-path-inside
proxy | 2023/07/13 08:48:27 [088] GET https://registry.npmjs.org:443/imurmurhash
proxy | 2023/07/13 08:48:27 [089] GET https://registry.npmjs.org:443/ignore
proxy | 2023/07/13 08:48:27 [090] GET https://registry.npmjs.org:443/graphemer
proxy | 2023/07/13 08:48:27 [083] 200 https://registry.npmjs.org:443/glob-parent
proxy | 2023/07/13 08:48:27 [084] 200 https://registry.npmjs.org:443/globals
proxy | 2023/07/13 08:48:27 [085] 200 https://registry.npmjs.org:443/import-fresh
proxy | 2023/07/13 08:48:27 [088] 200 https://registry.npmjs.org:443/imurmurhash
proxy | 2023/07/13 08:48:28 [090] 200 https://registry.npmjs.org:443/graphemer
proxy | 2023/07/13 08:48:28 [087] 200 https://registry.npmjs.org:443/is-path-inside
proxy | 2023/07/13 08:48:28 [086] 200 https://registry.npmjs.org:443/is-glob
proxy | 2023/07/13 08:48:28 [089] 200 https://registry.npmjs.org:443/ignore
proxy | 2023/07/13 08:48:28 [091] GET https://registry.npmjs.org:443/levn
proxy | 2023/07/13 08:48:28 [092] GET https://registry.npmjs.org:443/js-yaml
proxy | 2023/07/13 08:48:28 [093] GET https://registry.npmjs.org:443/lodash.merge
proxy | 2023/07/13 08:48:28 [094] GET https://registry.npmjs.org:443/natural-compare
proxy | 2023/07/13 08:48:28 [091] 200 https://registry.npmjs.org:443/levn
proxy | 2023/07/13 08:48:28 [095] GET https://registry.npmjs.org:443/json-stable-stringify-without-jsonify
proxy | 2023/07/13 08:48:28 [096] GET https://registry.npmjs.org:443/strip-ansi
proxy | 2023/07/13 08:48:28 [097] GET https://registry.npmjs.org:443/minimatch
proxy | 2023/07/13 08:48:28 [092] 200 https://registry.npmjs.org:443/js-yaml
proxy | 2023/07/13 08:48:28 [093] 200 https://registry.npmjs.org:443/lodash.merge
proxy | 2023/07/13 08:48:29 [097] 200 https://registry.npmjs.org:443/minimatch
proxy | 2023/07/13 08:48:29 [095] 200 https://registry.npmjs.org:443/json-stable-stringify-without-jsonify
proxy | 2023/07/13 08:48:29 [094] 200 https://registry.npmjs.org:443/natural-compare
proxy | 2023/07/13 08:48:29 [096] 200 https://registry.npmjs.org:443/strip-ansi
proxy | 2023/07/13 08:48:29 [098] GET https://registry.npmjs.org:443/optionator
proxy | 2023/07/13 08:48:29 [099] GET https://registry.npmjs.org:443/text-table
proxy | 2023/07/13 08:48:29 [100] GET https://registry.npmjs.org:443/strip-json-comments
proxy | 2023/07/13 08:48:29 [098] 200 https://registry.npmjs.org:443/optionator
proxy | 2023/07/13 08:48:29 [100] 200 https://registry.npmjs.org:443/strip-json-comments
proxy | 2023/07/13 08:48:29 [099] 200 https://registry.npmjs.org:443/text-table
proxy | 2023/07/13 08:48:30 [134] GET https://registry.npmjs.org:443/flat-cache
proxy | 2023/07/13 08:48:30 [135] GET https://registry.npmjs.org:443/locate-path
proxy | 2023/07/13 08:48:30 [136] GET https://registry.npmjs.org:443/path-exists
proxy | 2023/07/13 08:48:30 [137] GET https://registry.npmjs.org:443/estraverse
proxy | 2023/07/13 08:48:30 [138] GET https://registry.npmjs.org:443/ms
proxy | 2023/07/13 08:48:30 [139] GET https://registry.npmjs.org:443/acorn-jsx
proxy | 2023/07/13 08:48:30 [140] GET https://registry.npmjs.org:443/estraverse
proxy | 2023/07/13 08:48:30 [141] GET https://registry.npmjs.org:443/acorn
proxy | 2023/07/13 08:48:30 [142] GET https://registry.npmjs.org:443/ansi-styles
proxy | 2023/07/13 08:48:30 [144] GET https://registry.npmjs.org:443/shebang-command
proxy | 2023/07/13 08:48:30 [143] GET https://registry.npmjs.org:443/supports-color
proxy | 2023/07/13 08:48:30 [145] GET https://registry.npmjs.org:443/path-key
proxy | 2023/07/13 08:48:30 [146] GET https://registry.npmjs.org:443/which
proxy | 2023/07/13 08:48:30 [147] GET https://registry.npmjs.org:443/json-schema-traverse
proxy | 2023/07/13 08:48:30 [148] GET https://registry.npmjs.org:443/esrecurse
proxy | 2023/07/13 08:48:30 [149] GET https://registry.npmjs.org:443/deep-is
proxy | 2023/07/13 08:48:30 [150] GET https://registry.npmjs.org:443/@aashutoshrathi%2fword-wrap
proxy | 2023/07/13 08:48:30 [151] GET https://registry.npmjs.org:443/ansi-regex
proxy | 2023/07/13 08:48:30 [152] GET https://registry.npmjs.org:443/parent-module
proxy | 2023/07/13 08:48:30 [153] GET https://registry.npmjs.org:443/fastq
proxy | 2023/07/13 08:48:30 [154] GET https://registry.npmjs.org:443/fast-json-stable-stringify
proxy | 2023/07/13 08:48:30 [155] GET https://registry.npmjs.org:443/type-fest
proxy | 2023/07/13 08:48:30 [156] GET https://registry.npmjs.org:443/uri-js
proxy | 2023/07/13 08:48:30 [157] GET https://registry.npmjs.org:443/brace-expansion
proxy | 2023/07/13 08:48:30 [158] GET https://registry.npmjs.org:443/type-check
proxy | 2023/07/13 08:48:30 [159] GET https://registry.npmjs.org:443/type-check
proxy | 2023/07/13 08:48:30 [160] GET https://registry.npmjs.org:443/argparse
proxy | 2023/07/13 08:48:30 [161] GET https://registry.npmjs.org:443/prelude-ls
proxy | 2023/07/13 08:48:30 [134] 200 https://registry.npmjs.org:443/flat-cache
proxy | 2023/07/13 08:48:30 [162] GET https://registry.npmjs.org:443/@humanwhocodes%2fobject-schema
proxy | 2023/07/13 08:48:30 [163] GET https://registry.npmjs.org:443/@nodelib%2ffs.scandir
proxy | 2023/07/13 08:48:30 [164] GET https://registry.npmjs.org:443/fast-levenshtein
proxy | 2023/07/13 08:48:30 [165] GET https://registry.npmjs.org:443/resolve-from
proxy | 2023/07/13 08:48:30 [135] 200 https://registry.npmjs.org:443/locate-path
proxy | 2023/07/13 08:48:30 [137] 200 https://registry.npmjs.org:443/estraverse
proxy | 2023/07/13 08:48:30 [166] GET https://registry.npmjs.org:443/is-extglob
proxy | 2023/07/13 08:48:30 [136] 200 https://registry.npmjs.org:443/path-exists
proxy | 2023/07/13 08:48:30 [138] 200 https://registry.npmjs.org:443/ms
proxy | 2023/07/13 08:48:30 [139] 200 https://registry.npmjs.org:443/acorn-jsx
proxy | 2023/07/13 08:48:30 [144] 200 https://registry.npmjs.org:443/shebang-command
proxy | 2023/07/13 08:48:30 [142] 200 https://registry.npmjs.org:443/ansi-styles
proxy | 2023/07/13 08:48:30 [153] 200 https://registry.npmjs.org:443/fastq
proxy | 2023/07/13 08:48:30 [140] 200 https://registry.npmjs.org:443/estraverse
proxy | 2023/07/13 08:48:30 [143] 200 https://registry.npmjs.org:443/supports-color
proxy | 2023/07/13 08:48:30 [147] 200 https://registry.npmjs.org:443/json-schema-traverse
proxy | 2023/07/13 08:48:30 [146] 200 https://registry.npmjs.org:443/which
proxy | 2023/07/13 08:48:30 [155] 200 https://registry.npmjs.org:443/type-fest
proxy | 2023/07/13 08:48:30 [154] 200 https://registry.npmjs.org:443/fast-json-stable-stringify
proxy | 2023/07/13 08:48:30 [151] 200 https://registry.npmjs.org:443/ansi-regex
proxy | 2023/07/13 08:48:30 [148] 200 https://registry.npmjs.org:443/esrecurse
proxy | 2023/07/13 08:48:30 [152] 200 https://registry.npmjs.org:443/parent-module
proxy | 2023/07/13 08:48:30 [149] 200 https://registry.npmjs.org:443/deep-is
proxy | 2023/07/13 08:48:30 [145] 200 https://registry.npmjs.org:443/path-key
proxy | 2023/07/13 08:48:30 [164] 200 https://registry.npmjs.org:443/fast-levenshtein
proxy | 2023/07/13 08:48:30 [166] 200 https://registry.npmjs.org:443/is-extglob
proxy | 2023/07/13 08:48:30 [150] 200 https://registry.npmjs.org:443/@aashutoshrathi%2fword-wrap
proxy | 2023/07/13 08:48:30 [162] 200 https://registry.npmjs.org:443/@humanwhocodes%2fobject-schema
proxy | 2023/07/13 08:48:30 [160] 200 https://registry.npmjs.org:443/argparse
proxy | 2023/07/13 08:48:30 [156] 200 https://registry.npmjs.org:443/uri-js
proxy | 2023/07/13 08:48:30 [159] 200 https://registry.npmjs.org:443/type-check
proxy | 2023/07/13 08:48:30 [161] 200 https://registry.npmjs.org:443/prelude-ls
proxy | 2023/07/13 08:48:30 [157] 200 https://registry.npmjs.org:443/brace-expansion
proxy | 2023/07/13 08:48:30 [158] 200 https://registry.npmjs.org:443/type-check
proxy | 2023/07/13 08:48:30 [165] 200 https://registry.npmjs.org:443/resolve-from
proxy | 2023/07/13 08:48:30 [163] 200 https://registry.npmjs.org:443/@nodelib%2ffs.scandir
proxy | 2023/07/13 08:48:31 [141] 200 https://registry.npmjs.org:443/acorn
proxy | 2023/07/13 08:48:31 [170] GET https://registry.npmjs.org:443/@nodelib%2ffs.stat
proxy | 2023/07/13 08:48:31 [171] GET https://registry.npmjs.org:443/run-parallel
proxy | 2023/07/13 08:48:31 [172] GET https://registry.npmjs.org:443/reusify
proxy | 2023/07/13 08:48:31 [171] 200 https://registry.npmjs.org:443/run-parallel
proxy | 2023/07/13 08:48:31 [172] 200 https://registry.npmjs.org:443/reusify
proxy | 2023/07/13 08:48:31 [170] 200 https://registry.npmjs.org:443/@nodelib%2ffs.stat
proxy | 2023/07/13 08:48:31 [174] GET https://registry.npmjs.org:443/queue-microtask
proxy | 2023/07/13 08:48:31 [174] 200 https://registry.npmjs.org:443/queue-microtask
proxy | 2023/07/13 08:48:31 [176] GET https://registry.npmjs.org:443/punycode
proxy | 2023/07/13 08:48:31 [176] 200 https://registry.npmjs.org:443/punycode
proxy | 2023/07/13 08:48:31 [179] GET https://registry.npmjs.org:443/color-convert
proxy | 2023/07/13 08:48:31 [180] GET https://registry.npmjs.org:443/has-flag
proxy | 2023/07/13 08:48:31 [179] 200 https://registry.npmjs.org:443/color-convert
proxy | 2023/07/13 08:48:31 [180] 200 https://registry.npmjs.org:443/has-flag
proxy | 2023/07/13 08:48:31 [182] GET https://registry.npmjs.org:443/color-name
proxy | 2023/07/13 08:48:31 [182] 200 https://registry.npmjs.org:443/color-name
proxy | 2023/07/13 08:48:32 [185] GET https://registry.npmjs.org:443/shebang-regex
proxy | 2023/07/13 08:48:32 [186] GET https://registry.npmjs.org:443/isexe
proxy | 2023/07/13 08:48:32 [185] 200 https://registry.npmjs.org:443/shebang-regex
proxy | 2023/07/13 08:48:32 [186] 200 https://registry.npmjs.org:443/isexe
proxy | 2023/07/13 08:48:32 [189] GET https://registry.npmjs.org:443/rimraf
proxy | 2023/07/13 08:48:32 [190] GET https://registry.npmjs.org:443/flatted
proxy | 2023/07/13 08:48:32 [189] 200 https://registry.npmjs.org:443/rimraf
proxy | 2023/07/13 08:48:32 [190] 200 https://registry.npmjs.org:443/flatted
proxy | 2023/07/13 08:48:32 [192] GET https://registry.npmjs.org:443/p-locate
proxy | 2023/07/13 08:48:32 [192] 200 https://registry.npmjs.org:443/p-locate
proxy | 2023/07/13 08:48:32 [194] GET https://registry.npmjs.org:443/glob
proxy | 2023/07/13 08:48:32 [194] 200 https://registry.npmjs.org:443/glob
proxy | 2023/07/13 08:48:32 [196] GET https://registry.npmjs.org:443/callsites
proxy | 2023/07/13 08:48:32 [196] 200 https://registry.npmjs.org:443/callsites
proxy | 2023/07/13 08:48:32 [198] GET https://registry.npmjs.org:443/p-limit
proxy | 2023/07/13 08:48:32 [198] 200 https://registry.npmjs.org:443/p-limit
proxy | 2023/07/13 08:48:32 [201] GET https://registry.npmjs.org:443/balanced-match
proxy | 2023/07/13 08:48:32 [202] GET https://registry.npmjs.org:443/concat-map
proxy | 2023/07/13 08:48:32 [201] 200 https://registry.npmjs.org:443/balanced-match
proxy | 2023/07/13 08:48:32 [202] 200 https://registry.npmjs.org:443/concat-map
proxy | 2023/07/13 08:48:32 [204] GET https://registry.npmjs.org:443/yocto-queue
proxy | 2023/07/13 08:48:32 [204] 200 https://registry.npmjs.org:443/yocto-queue
proxy | 2023/07/13 08:48:32 [210] GET https://registry.npmjs.org:443/fs.realpath
proxy | 2023/07/13 08:48:32 [211] GET https://registry.npmjs.org:443/inherits
proxy | 2023/07/13 08:48:32 [212] GET https://registry.npmjs.org:443/inflight
proxy | 2023/07/13 08:48:32 [213] GET https://registry.npmjs.org:443/path-is-absolute
proxy | 2023/07/13 08:48:32 [214] GET https://registry.npmjs.org:443/once
proxy | 2023/07/13 08:48:33 [210] 200 https://registry.npmjs.org:443/fs.realpath
proxy | 2023/07/13 08:48:33 [212] 200 https://registry.npmjs.org:443/inflight
proxy | 2023/07/13 08:48:33 [211] 200 https://registry.npmjs.org:443/inherits
proxy | 2023/07/13 08:48:33 [214] 200 https://registry.npmjs.org:443/once
proxy | 2023/07/13 08:48:33 [213] 200 https://registry.npmjs.org:443/path-is-absolute
proxy | 2023/07/13 08:48:33 [216] GET https://registry.npmjs.org:443/wrappy
proxy | 2023/07/13 08:48:33 [216] 200 https://registry.npmjs.org:443/wrappy
updater | 2023/07/13 08:48:33 INFO Requirements to unlock update_not_possible
updater | 2023/07/13 08:48:33 INFO Requirements update strategy widen_ranges
updater | 2023/07/13 08:48:33 INFO No update possible for eslint-config-prettier
updater | 2023/07/13 08:48:33 INFO Checking if eslint needs updating
proxy | 2023/07/13 08:48:33 [218] GET https://registry.npmjs.org:443/eslint
proxy | 2023/07/13 08:48:33 [218] 200 https://registry.npmjs.org:443/eslint
proxy | 2023/07/13 08:48:34 [220] GET https://registry.npmjs.org:443/eslint/8.44.0
proxy | 2023/07/13 08:48:34 [220] 200 https://registry.npmjs.org:443/eslint/8.44.0
updater | 2023/07/13 08:48:34 INFO Latest version is 8.44.0
updater | 2023/07/13 08:48:34 INFO No update needed for eslint
updater | 2023/07/13 08:48:34 INFO Checking if eslint-plugin-prettier needs updating
proxy | 2023/07/13 08:48:34 [222] GET https://registry.npmjs.org:443/eslint-plugin-prettier
proxy | 2023/07/13 08:48:34 [222] 200 https://registry.npmjs.org:443/eslint-plugin-prettier
proxy | 2023/07/13 08:48:34 [224] GET https://registry.npmjs.org:443/eslint-plugin-prettier/5.0.0
proxy | 2023/07/13 08:48:34 [224] 200 https://registry.npmjs.org:443/eslint-plugin-prettier/5.0.0
updater | 2023/07/13 08:48:34 INFO Latest version is 5.0.0
updater | 2023/07/13 08:48:34 INFO No update needed for eslint-plugin-prettier
updater | 2023/07/13 08:48:34 INFO Checking if prettier needs updating
proxy | 2023/07/13 08:48:34 [226] GET https://registry.npmjs.org:443/prettier
proxy | 2023/07/13 08:48:34 [226] 200 https://registry.npmjs.org:443/prettier
proxy | 2023/07/13 08:48:34 [228] GET https://registry.npmjs.org:443/prettier/3.0.0
proxy | 2023/07/13 08:48:34 [228] 200 https://registry.npmjs.org:443/prettier/3.0.0
updater | 2023/07/13 08:48:34 INFO Latest version is 3.0.0
updater | 2023/07/13 08:48:34 INFO No update needed for prettier
updater | 2023/07/13 08:48:34 INFO Checking if ../../.. 0.1.1 needs updating
proxy | 2023/07/13 08:48:34 [230] GET https://registry.npmjs.org:443/..%2F..%2F..
proxy | 2023/07/13 08:48:34 [230] 400 https://registry.npmjs.org:443/..%2F..%2F..
updater | 2023/07/13 08:48:34 INFO Sending event 5ba62b4d22944907bcd9f57c04857669 to Sentry
proxy | 2023/07/13 08:48:35 [232] POST https://sentry.io:443/api/1451818/store/
proxy | 2023/07/13 08:48:35 [232] 200 https://sentry.io:443/api/1451818/store/
updater | 2023/07/13 08:48:35 ERROR Error processing ../../.. (Dependabot::NpmAndYarn::UpdateChecker::LatestVersionFinder::RegistryError)
updater | 2023/07/13 08:48:35 ERROR Got 400 response with body
updater | 400 Bad Request
updater |
updater |

400 Bad Request


updater |
cloudflare
updater |
updater |
updater |
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:324:in `check_npm_response'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:271:in `npm_details'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:108:in `valid_npm_details?'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:36:in `latest_version_from_registry'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker.rb:301:in `latest_released_version'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker.rb:309:in `latest_version_details'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker.rb:39:in `latest_version'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/update_all_versions.rb:165:in `all_versions_ignored?'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/update_all_versions.rb:78:in `check_and_create_pull_request'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/update_all_versions.rb:59:in `check_and_create_pr_with_error_handling'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/update_all_versions.rb:34:in `block in perform'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/update_all_versions.rb:34:in `each'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/update_all_versions.rb:34:in `perform'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater.rb:62:in `run'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/update_files_command.rb:38:in `perform_job'
updater | 2023/07/13 08:48:35 ERROR /home/dependabot/dependabot-updater/lib/dependabot/base_command.rb:52:in `run'
updater | 2023/07/13 08:48:35 ERROR bin/update_files.rb:23:in `'
updater | 2023/07/13 08:48:35 INFO Finished job processing
updater | 2023/07/13 08:48:35 INFO Results:
updater | Dependabot encountered '1' error(s) during execution, please check the logs for more details.
updater | +-------------------------------+
updater | | Dependencies failed to update |
updater | +---------------+---------------+
updater | | ../../.. | unknown_error |
updater | +---------------+---------------+
updater | time="2023-07-13T08:48:35Z" level=info msg="task complete" container_id=job-693871456-updater exit_code=0 job_id=693871456 step=updater
```

### Smallest manifest that reproduces the issue

`main` branch raises error for `test2` and `test3`:
- https://github.com/simensol/dependabot-test

I tried to remove all `package-lock.json` files, and then all tests including `test2` and `test3` suddenly works:
- https://github.com/simensol/dependabot-test/tree/no-lock-files

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with the nested package.json workspace paths, package-lock.json, and the npm 9.8.0 and Node.js 18.16.1 versions reported here. Trace the npm updater's workspace handling and add coverage for the test2 and test3 layouts; done means Dependabot processes those updates without the unknown error, as native npm does.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.