design/codex: main (log #2543409)

sourcepatches

This run took 133 seconds.

$ date
--- stdout ---
Mon Jul 20 21:12:21 UTC 2026

--- end ---
$ git clone file:///srv/git/design-codex.git /src/repo --depth=1 -b main
--- stderr ---
Cloning into '/src/repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/main
--- stdout ---
021658b6184a619ef5ac536304ed4498f42cd20b refs/heads/main

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@cypress/request": {
      "name": "@cypress/request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "qs",
        "uuid"
      ],
      "effects": [],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/@cypress/request"
      ],
      "fixAvailable": true
    },
    "@netlify/blobs": {
      "name": "@netlify/blobs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@netlify/otel"
      ],
      "effects": [
        "@netlify/build",
        "@netlify/dev",
        "@netlify/functions-dev",
        "@netlify/runtime",
        "netlify-cli"
      ],
      "range": ">=10.2.0",
      "nodes": [
        "node_modules/@netlify/blobs"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "@netlify/build": {
      "name": "@netlify/build",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@netlify/blobs",
        "@netlify/edge-bundler",
        "@netlify/functions-utils",
        "@netlify/zip-it-and-ship-it"
      ],
      "effects": [
        "netlify-cli"
      ],
      "range": "0.0.24 - 0.0.26 || 16.0.0-rc || >=35.2.8",
      "nodes": [
        "node_modules/@netlify/build"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "@netlify/dev": {
      "name": "@netlify/dev",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@netlify/blobs",
        "@netlify/edge-functions-dev",
        "@netlify/functions-dev",
        "@netlify/runtime"
      ],
      "effects": [],
      "range": ">=4.6.4",
      "nodes": [
        "node_modules/@netlify/dev"
      ],
      "fixAvailable": true
    },
    "@netlify/edge-bundler": {
      "name": "@netlify/edge-bundler",
      "severity": "low",
      "isDirect": false,
      "via": [
        "esbuild"
      ],
      "effects": [
        "@netlify/build",
        "@netlify/edge-functions-dev"
      ],
      "range": "14.9.15 - 15.0.0",
      "nodes": [
        "node_modules/@netlify/edge-bundler"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "@netlify/edge-functions-dev": {
      "name": "@netlify/edge-functions-dev",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@netlify/edge-bundler"
      ],
      "effects": [],
      "range": ">=1.0.14",
      "nodes": [
        "node_modules/@netlify/edge-functions-dev"
      ],
      "fixAvailable": true
    },
    "@netlify/functions-dev": {
      "name": "@netlify/functions-dev",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@netlify/blobs",
        "@netlify/zip-it-and-ship-it"
      ],
      "effects": [
        "@netlify/dev"
      ],
      "range": ">=1.0.1",
      "nodes": [
        "node_modules/@netlify/functions-dev"
      ],
      "fixAvailable": true
    },
    "@netlify/functions-utils": {
      "name": "@netlify/functions-utils",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@netlify/zip-it-and-ship-it"
      ],
      "effects": [
        "@netlify/build"
      ],
      "range": "6.2.25 - 7.0.0",
      "nodes": [
        "node_modules/@netlify/functions-utils"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "@netlify/otel": {
      "name": "@netlify/otel",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@opentelemetry/core",
        "@opentelemetry/resources",
        "@opentelemetry/sdk-trace-node"
      ],
      "effects": [
        "@netlify/blobs"
      ],
      "range": ">=3.0.1",
      "nodes": [
        "node_modules/@netlify/otel"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "@netlify/runtime": {
      "name": "@netlify/runtime",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@netlify/blobs"
      ],
      "effects": [],
      "range": ">=4.1.2",
      "nodes": [
        "node_modules/@netlify/runtime"
      ],
      "fixAvailable": true
    },
    "@netlify/zip-it-and-ship-it": {
      "name": "@netlify/zip-it-and-ship-it",
      "severity": "low",
      "isDirect": false,
      "via": [
        "esbuild"
      ],
      "effects": [
        "@netlify/build",
        "@netlify/functions-dev",
        "@netlify/functions-utils",
        "netlify-cli"
      ],
      "range": "14.4.2 - 15.0.0",
      "nodes": [
        "node_modules/@netlify/zip-it-and-ship-it"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "@opentelemetry/core": {
      "name": "@opentelemetry/core",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1120821,
          "name": "@opentelemetry/core",
          "dependency": "@opentelemetry/core",
          "title": "OpenTelemetry Core: Unbounded memory allocation in W3C Baggage propagation",
          "url": "https://github.com/advisories/GHSA-8988-4f7v-96qf",
          "severity": "moderate",
          "cwe": [
            "CWE-770"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<2.8.0"
        }
      ],
      "effects": [
        "@netlify/otel",
        "@opentelemetry/resources",
        "@opentelemetry/sdk-trace-base",
        "@opentelemetry/sdk-trace-node"
      ],
      "range": "<2.8.0",
      "nodes": [
        "node_modules/@opentelemetry/core"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "@opentelemetry/resources": {
      "name": "@opentelemetry/resources",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@opentelemetry/core"
      ],
      "effects": [],
      "range": "0.8.0 - 2.7.1",
      "nodes": [
        "node_modules/@opentelemetry/resources"
      ],
      "fixAvailable": true
    },
    "@opentelemetry/sdk-trace-base": {
      "name": "@opentelemetry/sdk-trace-base",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@opentelemetry/core",
        "@opentelemetry/resources"
      ],
      "effects": [],
      "range": "<=2.7.1",
      "nodes": [
        "node_modules/@opentelemetry/sdk-trace-base"
      ],
      "fixAvailable": true
    },
    "@opentelemetry/sdk-trace-node": {
      "name": "@opentelemetry/sdk-trace-node",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@opentelemetry/core",
        "@opentelemetry/sdk-trace-base"
      ],
      "effects": [],
      "range": "<=2.7.1",
      "nodes": [
        "node_modules/@opentelemetry/sdk-trace-node"
      ],
      "fixAvailable": true
    },
    "esbuild": {
      "name": "esbuild",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1102341,
          "name": "esbuild",
          "dependency": "esbuild",
          "title": "esbuild enables any website to send any requests to the development server and read the response",
          "url": "https://github.com/advisories/GHSA-67mh-4wv8-2f99",
          "severity": "moderate",
          "cwe": [
            "CWE-346"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N"
          },
          "range": "<=0.24.2"
        },
        {
          "source": 1120680,
          "name": "esbuild",
          "dependency": "esbuild",
          "title": "esbuild allows arbitrary file read when running the development server on Windows",
          "url": "https://github.com/advisories/GHSA-g7r4-m6w7-qqqr",
          "severity": "low",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 2.5,
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": ">=0.27.3 <0.28.1"
        }
      ],
      "effects": [
        "@netlify/edge-bundler",
        "@netlify/zip-it-and-ship-it",
        "vite"
      ],
      "range": "<=0.24.2 || 0.27.3 - 0.28.0",
      "nodes": [
        "node_modules/esbuild",
        "node_modules/vite/node_modules/esbuild"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "js-yaml": {
      "name": "js-yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1112715,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": ">=4.0.0 <4.1.1"
        },
        {
          "source": 1121860,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases",
          "url": "https://github.com/advisories/GHSA-h67p-54hq-rp68",
          "severity": "moderate",
          "cwe": [
            "CWE-407"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=4.0.0 <=4.1.1"
        }
      ],
      "effects": [],
      "range": "4.0.0 - 4.1.1",
      "nodes": [
        "node_modules/js-yaml"
      ],
      "fixAvailable": true
    },
    "multiparty": {
      "name": "multiparty",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1119105,
          "name": "multiparty",
          "dependency": "multiparty",
          "title": "multiparty vulnerable to ReDoS via filename parsing",
          "url": "https://github.com/advisories/GHSA-65x3-rw7q-gx94",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<=4.2.3"
        },
        {
          "source": 1119107,
          "name": "multiparty",
          "dependency": "multiparty",
          "title": "multiparty: Denial of Service via Prototype Pollution leads to Uncaught Exception",
          "url": "https://github.com/advisories/GHSA-qxch-whhj-8956",
          "severity": "high",
          "cwe": [
            "CWE-248",
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<=4.2.3"
        },
        {
          "source": 1119505,
          "name": "multiparty",
          "dependency": "multiparty",
          "title": "multiparty vulnerable to Denial of Service via Uncaught Exception in filename* parameter parsing",
          "url": "https://github.com/advisories/GHSA-xh3c-6gcq-g4rv",
          "severity": "high",
          "cwe": [
            "CWE-755"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<=4.2.3"
        }
      ],
      "effects": [],
      "range": "<=4.2.3",
      "nodes": [
        "node_modules/multiparty"
      ],
      "fixAvailable": true
    },
    "netlify-cli": {
      "name": "netlify-cli",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "@netlify/blobs",
        "@netlify/build",
        "@netlify/dev",
        "@netlify/edge-bundler",
        "@netlify/zip-it-and-ship-it"
      ],
      "effects": [],
      "range": "2.19.1 - 2.19.2 || >=24.0.0",
      "nodes": [
        "node_modules/netlify-cli"
      ],
      "fixAvailable": {
        "name": "netlify-cli",
        "version": "24.0.1",
        "isSemVerMajor": true
      }
    },
    "picomatch": {
      "name": "picomatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1115549,
          "name": "picomatch",
          "dependency": "picomatch",
          "title": "Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
          "url": "https://github.com/advisories/GHSA-3v7f-55p6-f55p",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<2.3.2"
        },
        {
          "source": 1115552,
          "name": "picomatch",
          "dependency": "picomatch",
          "title": "Picomatch has a ReDoS vulnerability via extglob quantifiers",
          "url": "https://github.com/advisories/GHSA-c2c7-rcm5-vvqj",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<2.3.2"
        }
      ],
      "effects": [],
      "range": "<=2.3.1",
      "nodes": [
        "node_modules/picomatch"
      ],
      "fixAvailable": true
    },
    "qs": {
      "name": "qs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1119502,
          "name": "qs",
          "dependency": "qs",
          "title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
          "url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26",
          "severity": "moderate",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=6.11.1 <=6.15.1"
        }
      ],
      "effects": [
        "@cypress/request"
      ],
      "range": "6.11.1 - 6.15.1",
      "nodes": [
        "node_modules/@cypress/request/node_modules/qs"
      ],
      "fixAvailable": true
    },
    "uuid": {
      "name": "uuid",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1119441,
          "name": "uuid",
          "dependency": "uuid",
          "title": "uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided",
          "url": "https://github.com/advisories/GHSA-w5hq-g745-h8pq",
          "severity": "moderate",
          "cwe": [
            "CWE-787",
            "CWE-1285"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": "<11.1.1"
        }
      ],
      "effects": [
        "@cypress/request"
      ],
      "range": "<11.1.1",
      "nodes": [
        "node_modules/uuid"
      ],
      "fixAvailable": true
    },
    "vite": {
      "name": "vite",
      "severity": "high",
      "isDirect": true,
      "via": [
        {
          "source": 1107325,
          "name": "vite",
          "dependency": "vite",
          "title": "Vite middleware may serve files starting with the same name with the public directory",
          "url": "https://github.com/advisories/GHSA-g4jq-h2w9-997c",
          "severity": "low",
          "cwe": [
            "CWE-22",
            "CWE-200",
            "CWE-284"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=7.0.0 <=7.0.6"
        },
        {
          "source": 1107329,
          "name": "vite",
          "dependency": "vite",
          "title": "Vite's `server.fs` settings were not applied to HTML files",
          "url": "https://github.com/advisories/GHSA-jqfw-vq24-v9c3",
          "severity": "low",
          "cwe": [
            "CWE-23",
            "CWE-200",
            "CWE-284"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=7.0.0 <=7.0.6"
        },
        {
          "source": 1109136,
          "name": "vite",
          "dependency": "vite",
          "title": "vite allows server.fs.deny bypass via backslash on Windows",
          "url": "https://github.com/advisories/GHSA-93m4-6634-74q7",
          "severity": "moderate",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=7.0.0 <=7.0.7"
        },
        {
          "source": 1116229,
          "name": "vite",
          "dependency": "vite",
          "title": "Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
          "url": "https://github.com/advisories/GHSA-4w7w-66w2-5vf9",
          "severity": "moderate",
          "cwe": [
            "CWE-22",
            "CWE-200"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<=6.4.1"
        },
        {
          "source": 1116230,
          "name": "vite",
          "dependency": "vite",
          "title": "Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
          "url": "https://github.com/advisories/GHSA-4w7w-66w2-5vf9",
          "severity": "moderate",
          "cwe": [
            "CWE-22",
            "CWE-200"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=7.0.0 <=7.3.1"
        },
        {
          "source": 1116235,
          "name": "vite",
          "dependency": "vite",
          "title": "Vite Vulnerable to Arbitrary File Read via Vite Dev Server WebSocket",
          "url": "https://github.com/advisories/GHSA-p9ff-h696-f583",
          "severity": "high",
          "cwe": [
            "CWE-200",
            "CWE-306"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=7.0.0 <=7.3.1"
        },
        {
          "source": 1120784,
          "name": "vite",
          "dependency": "vite",
          "title": "launch-editor: NTLMv2 hash disclosure via UNC path handling on Windows",
          "url": "https://github.com/advisories/GHSA-v6wh-96g9-6wx3",
          "severity": "moderate",
          "cwe": [
            "CWE-73",
            "CWE-522"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<=6.4.2"
        },
        {
          "source": 1120785,
          "name": "vite",
          "dependency": "vite",
          "title": "launch-editor: NTLMv2 hash disclosure via UNC path handling on Windows",
          "url": "https://github.com/advisories/GHSA-v6wh-96g9-6wx3",
          "severity": "moderate",
          "cwe": [
            "CWE-73",
            "CWE-522"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=7.0.0 <=7.3.4"
        },
        {
          "source": 1123525,
          "name": "vite",
          "dependency": "vite",
          "title": "vite: `server.fs.deny` bypass on Windows alternate paths",
          "url": "https://github.com/advisories/GHSA-fx2h-pf6j-xcff",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-200"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": "<=6.4.2"
        },
        {
          "source": 1123526,
          "name": "vite",
          "dependency": "vite",
          "title": "vite: `server.fs.deny` bypass on Windows alternate paths",
          "url": "https://github.com/advisories/GHSA-fx2h-pf6j-xcff",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-200"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": ">=7.0.0 <=7.3.4"
        },
        "esbuild"
      ],
      "effects": [
        "vitepress"
      ],
      "range": "<=6.4.2 || 7.0.0 - 7.3.3",
      "nodes": [
        "node_modules/vite",
        "packages/codex-docs/node_modules/vite",
        "packages/codex-icons/node_modules/vite",
        "packages/codex/node_modules/vite"
      ],
      "fixAvailable": false
    },
    "vitepress": {
      "name": "vitepress",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "vite"
      ],
      "effects": [],
      "range": "<=1.6.4",
      "nodes": [
        "node_modules/vitepress"
      ],
      "fixAvailable": false
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 4,
      "moderate": 17,
      "high": 3,
      "critical": 0,
      "total": 24
    },
    "dependencies": {
      "prod": 126,
      "dev": 2373,
      "optional": 238,
      "peer": 2,
      "peerOptional": 0,
      "total": 2498
    }
  }
}

--- end ---
Upgrading n:eslint-config-wikimedia from 0.32.3 -> 0.32.4
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: undefined,
npm WARN EBADENGINE   required: { npm: '>=11.11.0', node: '>=24.14.1' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'start-server-and-test@3.0.11',
npm WARN EBADENGINE   required: { node: '^22 || >=24' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.6.1',
npm WARN EBADENGINE   required: { npm: '>=11.11.0', node: '>=24.14.1' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-design-tokens@2.6.1',
npm WARN EBADENGINE   required: { npm: '>=11.10.0', node: '>=24.14.1' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: undefined,
npm WARN EBADENGINE   required: { npm: '>=11.11.0', node: '>=24.14.1' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.6.1',
npm WARN EBADENGINE   required: { npm: '>=11.11.0', node: '>=24.14.1' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.6.1',
npm WARN EBADENGINE   required: { node: '>=24.14.1', npm: '>=11.11.0' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-design-tokens@2.6.1',
npm WARN EBADENGINE   required: { node: '>=24.14.1', npm: '>=11.10.0' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.6.1',
npm WARN EBADENGINE   required: { node: '>=24.14.1', npm: '>=11.11.0' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: undefined,
npm WARN EBADENGINE   required: { node: '>=24.14.1', npm: '>=11.11.0' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated glob@11.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@11.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@11.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@11.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
--- stdout ---

added 2283 packages, and audited 2289 packages in 1m

531 packages are looking for funding
  run `npm fund` for details

24 vulnerabilities (4 low, 17 moderate, 3 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ package-lock-lint /src/repo/npm-shrinkwrap.json
--- stdout ---
Checking /src/repo/npm-shrinkwrap.json
node_modules/codex-docs@unknown: "resolved" is not a valid URL: "packages/codex-docs" (relative URL without a base)
node_modules/@wikimedia/codex-icons@unknown: "resolved" is not a valid URL: "packages/codex-icons" (relative URL without a base)
node_modules/@wikimedia/codex@unknown: "resolved" is not a valid URL: "packages/codex" (relative URL without a base)
node_modules/@wikimedia/codex-design-tokens@unknown: "resolved" is not a valid URL: "packages/codex-design-tokens" (relative URL without a base)

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1268, in main
    libup.run()
    ~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1202, in run
    self.npm_upgrade(plan)
    ~~~~~~~~~~~~~~~~^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1046, in npm_upgrade
    self.check_package_lock()
    ~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/utils/npm.py", line 17, in check_package_lock
    self.check_call(["package-lock-lint", str(path)])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 66, in check_call
    res.check_returncode()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
                             self.stderr)
subprocess.CalledProcessError: Command '['package-lock-lint', '/src/repo/npm-shrinkwrap.json']' returned non-zero exit status 1.
Source code is licensed under the AGPL.