dependabot / dependabot/dependabot-core
Unknown error when using nested relative paths in `package.json` workspaces (when `package-lock.json` is present)
- 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
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