Conversation
Neither package is imported anywhere in `vizard/`. `react-router-dom` appeared only as a `manualChunks` entry in `vite.config.ts`, and `toml` only collided by name with the `toml: 'toml'` Monaco language-id mapping in `src/monaco/config.ts` — nothing ever calls its parser. Closes 8 Dependabot alerts on `packages/cubejs-playground/vizard/yarn.lock`: | package | locked | advisories | | --- | --- | --- | | react-router | 6.22.3 | GHSA-wrjc-x8rr-h8h6, GHSA-337j-9hxr-rhxg, GHSA-2j2x-hqr9-3h42, GHSA-9jcx-v3wj-wh4m | | @remix-run/router | 1.15.3 | GHSA-2w69-qvjg-hvjx, GHSA-2j2x-hqr9-3h42 | | toml | 3.0.0 | GHSA-82x6-q7mm-w9cf, GHSA-v5mp-jgw5-2x6j | Removed via `yarn remove` so only those entries leave the lockfile — the rest of the tree is untouched. A full regeneration is not an option here: it floats the react-aria family from 3.35.x to 3.52.x, which drops `useMessageFormatter` and breaks `@cube-dev/ui-kit`. Verified with `yarn build` in `packages/cubejs-playground/vizard` (builds both app templates, regenerates `src/apps.json` and `src/stats.json`, then builds the preview site). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`vite@5.1.x` is where the entire cluster of dev-server path-traversal and `server.fs.deny` bypass advisories lives — 15 of them per lockfile, in all three vizard projects. Moving to 7.3.6 clears them and drags the bundler chain forward with it. Closes 64 Dependabot alerts across the three vizard lockfiles: | package | before | after | alerts | | --- | --- | --- | ---: | | vite | 5.1.4 / 5.1.6 | 7.3.6 | 45 | | rollup | 4.12.0 / 4.13.0 | 4.63.1 | 6 | | postcss | 8.4.35 / 8.4.36 | 8.5.28 | 8 | | esbuild | 0.19.12 | 0.28.2 | 3 | | @babel/core | 7.24.0 | 7.29.7 | 2 | `@vitejs/plugin-react` goes `^4.2.1` -> `^5.2.0` for the vite 7 peer range. Applied with `yarn upgrade <pkg>@<range>` rather than regenerating the lockfiles, so only the bundler subtree moves; in particular the react-aria family stays at 3.35.x, which `@cube-dev/ui-kit` still needs. Verified with `yarn build` in `packages/cubejs-playground/vizard`: both app templates build, both download zips and both preview bundles are produced, and the preview site builds. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The vizard preview and both starter templates still declared `@cubejs-client/* ^0.35.0` — a client two majors behind what the monorepo publishes, which is also what users got when they downloaded a template zip. `@cubejs-client/core@0.35.0` is the sole reason `uuid@8.3.2` was in the tree. Bumped alongside it: `styled-components ^6.1.8` -> `^6.5.3`, which dropped its `postcss` dependency and with it the last `postcss@8.4.31` copy in the preview. Closes 7 Dependabot alerts across the three vizard lockfiles: | package | before | after | alerts | | --- | --- | --- | ---: | | uuid | 8.3.2 | 11.1.1 | 3 | | postcss | 8.4.31 (preview only) | 8.5.28 | 4 | Still open in the preview lockfile: `@babel/core@7.24.1`, pinned by the `@vitejs/plugin-react@4.2.1` that `@cube-dev/ui-kit@0.33.4` carries as a direct dependency. Verified with `yarn build` in `packages/cubejs-playground/vizard` — `tsc` passes against the 1.7 client types in all three projects. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…iles These three come in through the eslint 8 / @typescript-eslint 7 toolchain that all three vizard projects share. `yarn upgrade` cannot reach them — yarn 1 only operates on declared dependencies — so the lockfile entries were stripped and re-resolved against their recorded ranges. `minimatch@9.0.3` was pinned exactly by `@typescript-eslint/typescript-estree@7.3.1`, so the linter packages move to `^8.70.0` (which uses `minimatch ^10.2.2`); eslint itself stays at 8.57.0, still inside the v8 peer range. Closes 26 Dependabot alerts across the three vizard lockfiles: | package | before | after | alerts | | --- | --- | --- | ---: | | js-yaml | 4.1.1 | 4.3.2 | 12 | | minimatch | 3.1.2, 5.1.6, 9.0.3 | 3.1.5, 5.1.9, 9.0.9, 10.2.6 | 11 | | picomatch | 2.3.1 | 4.0.7 (2.x gone) | 3 | `@typescript-eslint` 8 turns on `caughtErrors: 'all'` for `no-unused-vars`, which flagged three `catch (e)` bindings that are never read; they become optional catch bindings. `yarn lint` is back to its pre-existing 13 problems / 2 errors — it was already red before this change and is not run by CI. Verified with `yarn build` in `packages/cubejs-playground/vizard`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`@cube-dev/ui-kit@0.33.4` ships `@vitejs/plugin-react@4.2.1` as a direct dependency, which held a second `@babel/core@7.24.1` alongside the 7.29.7 that vite 7 pulls. Stripping both entries re-resolves them onto one 7.29.7 block. Closes 1 Dependabot alert (GHSA-4x5r-pxfx-6jf8, `@babel/core <= 7.29.0`) on `packages/cubejs-playground/vizard/yarn.lock`. Verified with `yarn build` in `packages/cubejs-playground/vizard`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`lodash@^4.17.15` came in through the eslint toolchain and was pinned at 4.17.21. Stripping the entry re-resolves it to 4.18.1, above all three open advisories. Closes 3 Dependabot alerts on `packages/cubejs-playground/vizard/yarn.lock`: GHSA-r5fr-rjxr-66jc, GHSA-f23m-r3pf-42rh, GHSA-xxjr-mmjv-4gpg. Verified with `yarn build` in `packages/cubejs-playground/vizard`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…rt.js Both starter templates shipped as `"name": "vizard-react-typescript-chartjs"`, and the antd/table one carried `chart.js` + `react-chartjs-2` it never imports — copy-paste leftovers that users inherit when they download the zip. No Dependabot alerts involved. Verified with `yarn build` in `packages/cubejs-playground/vizard`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`docs-mintlify` has exactly one devDependency, `mintlify: "^4"`, and every flagged package was an exact pin inside a `@mintlify/*` package — nothing there is reachable by a targeted float. The lockfile had also drifted onto two generations at once (`@mintlify/models` 0.0.255 *and* 0.0.292, hence two axios copies). Regenerating collapses it onto 4.2.887. Closes 58 of the 64 Dependabot alerts on `docs-mintlify/yarn.lock`: | package | before | after | alerts | | --- | --- | --- | ---: | | axios | 1.10.0, 1.13.2 | 1.18.0 | 20 | | tar | 6.1.15 | 7.5.21 | 8 | | js-yaml | 3.14.2, 4.1.0, 4.1.1 | 3.15.2, 4.3.1, 4.3.2 | 8 | | postcss | 8.5.6 | 8.5.23, 8.5.28 | 4 | | lodash | 4.17.21 | 4.18.1 | 3 | | engine.io | 6.5.x | 6.6.10 | 2 | | express | 4.18.2 | 4.22.0, 5.2.1 | 2 | | ip-address | 9.x | 10.7.0 | 2 | | qs | 6.11.0 | 6.14.2, 6.16.0 | 2 | | adm-zip | 0.5.16 | 0.6.0 | 1 | | body-parser | 1.20.1 | 1.20.8, 2.3.0 | 1 | | cookie | 0.5.0 | 0.7.2 | 1 | | send | 0.18.0 | 0.19.2, 1.2.1 | 1 | | serve-static | 1.15.0 | 1.16.3, 2.2.1 | 1 | | uuid | 11.1.0 | 11.1.1 | 1 | | ws | 8.17.x | 8.21.3 | 1 | Still blocked upstream, all exact pins inside `@mintlify/*`: `sharp@0.33.5` (2), `extract-zip@2.0.1` (2, no patched version exists), `adm-zip` (1, no patched version), and one `js-yaml@4.3.1` copy that needs 4.3.2. Verified with `yarn broken-links`, which reports the same single pre-existing broken anchor in `reference/control-plane-api.mdx` on the old lockfile (mintlify 4.2.527) and the new one — no regression. Nothing in CI installs this lockfile; the hosted site is built by the Mintlify GitHub App from `docs.json`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
….lock `packages/cubejs-client-react` moved to `@types/react: "^18.3.0"` but the lockfile kept the old `^16.9.41` descriptor (and the `@types/scheduler` block only it needed). Nothing resolves through them: `^18.3.0` is already satisfied by the existing `"@types/react@*", "@types/react@^18.3.4"` entry, which is why `--frozen-lockfile` never complained — yarn 1 validates satisfiability, it does not prune. Pruned by a plain `yarn install`. Split out so the dependency-security commits that follow carry only their own resolution changes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Pure lockfile re-resolutions, the same technique as #11846: every target already satisfies a range recorded in the lockfile, so no package.json edit and no `resolutions` entry is involved. `yarn upgrade` cannot reach transitive-only packages in yarn 1, so the entries were stripped and re-resolved by a plain `yarn install`. Closes 13 Dependabot alerts on the root lockfile: | package | before | after | alerts | | --- | --- | --- | ---: | | immutable | 4.0.0, 5.1.1 | 4.3.9, 5.1.9 | 5 | | minimatch | 5.1.6 | 5.1.9 | 3 | | vite | 8.0.8 | 8.3.0 | 2 | | http-proxy-middleware | 2.0.9 | 2.0.10 | 1 | | picomatch | 2.3.1 | 2.3.2 | 1 | | diff | 4.0.2 | 4.0.4 | 1 | | GHSA | package | | --- | --- | | GHSA-xvcm-6775-5m9r | immutable | | GHSA-wf6x-7x77-mvgw | immutable | | GHSA-v56q-mh7h-f735 | immutable | | GHSA-7r86-cg39-jmmj | minimatch | | GHSA-23c5-xmqv-rm74 | minimatch | | GHSA-3ppc-4f35-3m26 | minimatch | | GHSA-v6wh-96g9-6wx3 | vite | | GHSA-fx2h-pf6j-xcff | vite | | GHSA-64mm-vxmg-q3vj | http-proxy-middleware | | GHSA-3v7f-55p6-f55p | picomatch | | GHSA-73rr-hh4g-fpgx | diff | The remaining copies are held by exact pins and are handled separately: `immutable@3.7.6` (draft-js via @ant-design/compatible), `minimatch@9.0.1` (editorconfig), `picomatch@4.0.2` and `vite@5.4.21` and `http-proxy-middleware@3.0.5` (the Angular 18 toolchain), `diff@2.2.3` (unidiff) and `diff@7.0.0` (@cube-dev/ui-kit). Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, `yarn lint`, `yarn workspace @cubejs-client/playground unit` (vitest on the new vite 8.3.0) and `yarn workspace @cubejs-client/ngx build`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The root `resolutions` block already funnelled every lodash copy through one entry, but pinned it at `^4.17.0`, which resolved to the vulnerable 4.17.23. Raising the floor to `^4.18.0` lands 4.18.1. Closes 2 Dependabot alerts on the root lockfile: | GHSA | severity | vulnerable | fixed in | | --- | --- | --- | --- | | GHSA-r5fr-rjxr-66jc | high | >= 4.0.0, <= 4.17.23 | 4.18.0 | | GHSA-f23m-r3pf-42rh | medium | <= 4.17.23 | 4.18.0 | No package in the repo imports `lodash` directly — the single direct consumer is `lodash.clonedeep`, a separate package. Every copy here is transitive, via dev tooling (antd, oclif, archiver, benchmark). `es5-ext` deliberately stays pinned at 0.10.53: 0.10.62 reintroduced the `_postinstall` script, and the advisory the pin misses (GHSA-4btm-hmg2-6w4j) is a low-severity ReDoS. Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, `yarn lint`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Five root-lockfile alerts all sat inside two subtrees that pin their transitives exactly, so no float could reach them. Bumping the two parents directly moves them all — no `resolutions` entry needed: * `express ^4.21.1` -> `^4.22.2` in `@cubejs-backend/api-gateway` and `@cubejs-backend/server`. 4.22.2 pins `body-parser ~1.20.5`, `qs ~6.15.1`, `path-to-regexp ~0.1.12`, `cookie ~0.7.1`, `send ~0.19.0`, `serve-static ~1.16.2`. * `compression@1.7.4` -> 1.8.2, a pure float of the `^1.7.4` that `webpack-dev-server` records; 1.8.2 already requires `on-headers ~1.1.0`. Closes 6 Dependabot alerts on the root lockfile: | package | before | after | alerts | | --- | --- | --- | ---: | | qs | 6.13.0 | 6.15.3 | 3 | | body-parser | 1.20.3 | 1.20.8 | 1 | | path-to-regexp | 0.1.12 | 0.1.13 | 1 | | on-headers | 1.0.2 | 1.1.0 | 1 | `react-router@5.2.1` keeps its own `path-to-regexp@1.9.0` — only express's 0.1.x line moved. One `qs` advisory stays open (GHSA-6rmr-r4mv-pfrv, `>= 2.2.5, < 6.16.0`): express 4.22.2 caps it at `~6.15.1`. Forcing 6.16.0 across the tree was tried and reverted — it breaks `@cubejs-backend/api-gateway` (2 tests fail with 401 on `/v1/meta` and `/v1/sql`). The 6.16.0 copy that `@cypress/request` and `superagent` pull is unaffected. Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, `yarn lint`, `yarn workspace @cubejs-backend/api-gateway unit` (284/284) and `yarn workspace @cubejs-backend/server unit` (6/6). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`testcontainers@10.28.0` is the last 10.x and pins `undici: "^5.29.0"`, so the twelve undici advisories were unreachable by any float. 11.x moves to undici 7 and 12.x to undici 8; CI runs Node 24/26, comfortably above 12.x's `engines: node >= 22.22`, so this goes straight to the current line. `testcontainers ^10.28.0` -> `^12.1.0` across 15 packages and `@testcontainers/kafka ~10.28.0` -> `~12.1.0` in `@cubejs-backend/testing-shared`. `undici` 5.29.0 -> 8.10.2. Closes 12 Dependabot alerts on the root lockfile: | GHSA | severity | fixed in | | --- | --- | --- | | GHSA-c76r-6mm9-97p6 | high | 6.24.0 | | GHSA-cxrh-j4jr-qwg3 | high | 6.24.0 | | GHSA-9qxr-qj54-h672 | high | 6.27.0 | | GHSA-q768-x9m6-m9qp | medium | 6.23.0 | | GHSA-m4v8-wqvr-p9f7 | medium | 6.24.0 | | GHSA-cgvx-p34g-cxqv | medium | 6.24.0 | | GHSA-47rq-92c3-5895 | medium | 6.27.0 | | GHSA-fwq9-5wj3-p2v9 | medium | 6.28.0 | | GHSA-2hjw-q9p4-5g9v | medium | 6.28.0 | | GHSA-x4c7-9r8m-9g4x | medium | 6.28.0 | | GHSA-8mgv-6v9m-8g8g | low | 6.27.0 | | GHSA-hhr4-8wr3-xvv3 | low | 6.27.0 | The repo only touches the stable part of the API (`GenericContainer`, `DockerComposeEnvironment`, `withEnvironment`/`withExposedPorts`/ `withHealthCheck`/`withNetwork`/`withWaitStrategy`, `Wait.forLogMessage`, `Wait.forHealthCheck`), none of which changed across 10 -> 12. Verified with real containers: `yarn workspace @cubejs-backend/postgres-driver integration` (12/12) and `yarn workspace @cubejs-backend/mysql-driver integration` (5/5), plus `yarn tsc` and a no-op `yarn install --frozen-lockfile`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`cypress-plugin-snapshots@1.4.4` (last published 2019) is no longer wired up: its plugin registration in `cypress/plugins/index.js` and its command import in `cypress/support/e2e.ts` are both commented out, and `matchImageSnapshot` now comes from `@simonsmith/cypress-image-snapshot`. Only the dependency entry and two stale comments remained. It was, however, the sole root of a large dead subtree — `socket.io@2.5.1` / `engine.io@3.6.2`, `jimp@0.10.3`, `diff2html`, `unidiff` — and 830 lockfile lines go with it. Closes 10 Dependabot alerts on the root lockfile: | GHSA | package | severity | | --- | --- | --- | | GHSA-xvf7-4v9q-58w6 | jpeg-js | high | | GHSA-7wpw-2hjm-89gp | merge | high | | GHSA-h6ch-v84p-w6p9 | diff | high | | GHSA-6fx8-h7jm-663j | parseuri | medium | | GHSA-x565-32qp-m3vf | phin | medium | | GHSA-776f-qx25-q3cc | xml2js | medium | | GHSA-w7q9-p3jq-fmhm | jpeg-js | medium | | GHSA-pxg6-pf52-xh8x | cookie | low | | GHSA-gxpj-cx7g-858c | debug | low | | GHSA-73rr-hh4g-fpgx | diff | low | Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, `yarn lint`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…erts `xmlbuilder2@2.4.1` was the only thing holding `js-yaml@3.14.0` in the tree — it pinned the old 3.x line, and every advisory on it needs 3.14.2 or later. 4.0.3 depends on `js-yaml ^4.1.1`, and re-resolving the remaining `^3.13.1` spec floats it to 3.15.2. `@cubejs-backend/maven` uses exactly one xmlbuilder2 export, `create`, whose signature is unchanged across 2 -> 4. Closes 5 Dependabot alerts on the root lockfile: | GHSA | severity | vulnerable | fixed in | | --- | --- | --- | --- | | GHSA-mvj4-3fpj-92p8 | high | >= 3.0.0, < 3.15.2 | 3.15.2 | | GHSA-w9vq-2q9x-m3fq | high | >= 3.0.0, < 3.15.1 | 3.15.1 | | GHSA-g8x5-f2h9-4rw6 | high | >= 3.0.0, < 3.15.0 | 3.15.0 | | GHSA-8j8c-7jfh-h6hx | high | < 3.14.2 | 3.14.2 | | GHSA-2pr6-76vf-7546 | medium | < 3.15.0 | 3.15.0 | Two `js-yaml` alerts stay open: `lerna@10.0.1` pins `js-yaml 4.3.0` exactly and 10.0.1 is the current release. Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, and `yarn workspace @cubejs-backend/maven unit:disabled-for-ci` (2/2, exercises the real Maven resolve path). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The last vulnerable `minimatch@9.0.1` was pinned exactly by `editorconfig@1.0.4`, pulled in by `js-beautify@1.14.9`, pulled in by `@vue/test-utils@2.4.2` — a devDependency of `@cubejs-client/vue3` already declared as `^2.4`. The lockfile had simply frozen 2.4.2; 2.5.0 depends on `js-beautify ^2.0.0`, whose `editorconfig ^3.0.2` uses `minimatch ~10.2.4`. Pure lockfile re-resolution, no package.json change. Closes 3 Dependabot alerts on the root lockfile: | GHSA | severity | vulnerable | fixed in | | --- | --- | --- | --- | | GHSA-7r86-cg39-jmmj | high | >= 9.0.0, < 9.0.7 | 9.0.7 | | GHSA-23c5-xmqv-rm74 | high | >= 9.0.0, < 9.0.7 | 9.0.7 | | GHSA-3ppc-4f35-3m26 | high | >= 9.0.0, < 9.0.6 | 9.0.6 | Every remaining minimatch copy is now on a patched release: 3.1.4, 3.1.5, 5.1.9, 9.0.9, 10.2.5, 10.2.6. Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, and `@cubejs-client/vue3`'s jest suite (36/36) after `yarn build`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…er alert `@google-cloud/storage@7.13.0` pins `fast-xml-parser ^4.4.1`, capping it below the 5.7.0 that GHSA-jr48-27g9-4h5h needs; 8.1.0 depends on `^5.3.4`, which resolves to 5.11.1. `@google-cloud/storage ^7.13.0` -> `^8.1.0` in `@cubejs-backend/bigquery-driver` and `@cubejs-backend/base-driver`. Both use only `Storage` (and `Bucket` in the BigQuery driver), unchanged across 7 -> 8. Closes 1 Dependabot alert on the root lockfile: GHSA-jr48-27g9-4h5h (medium, `fast-xml-parser < 5.7.0`). The only remaining copies are 5.7.2 and 5.11.1. Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, and `yarn workspace @cubejs-backend/base-driver unit` (17/17). The BigQuery driver has integration tests only, which need GCP credentials. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`js-cookie@2.2.1` is below the 3.0.7 that GHSA-vxvm-qww3-2fh7 needs. The only importer is `packages/cubejs-playground/src/events.ts`, which calls `get` and `remove` inside a one-time localStorage migration; both are unchanged across 2 -> 3, and the one API v3 removed (`getJSON`) was never used. Closes 1 Dependabot alert on the root lockfile: GHSA-vxvm-qww3-2fh7 (high, `js-cookie <= 3.0.5`). Resolved to 3.0.8. Verified: `yarn install --frozen-lockfile` is a no-op, `tsc` and `vitest run` in `packages/cubejs-playground`, and `yarn workspace @cubejs-client/playground build:playground` — which confirms the bundler resolves v3's `exports` map for the default import. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…sdk/client-rds-data `aws-sdk` v2 reached end-of-support on 2025-09-08, so GHSA-rvhx-wmgm-m6q9 will never get a patched release. The driver never used it at runtime — it talks to Aurora through `data-api-client` — so the only real work was the type import and the test's global SDK config. * `aws-sdk ^2.787.0` -> `@aws-sdk/client-rds-data ^3.1048.0` * `data-api-client ^1.1.0` -> `^2.4.1`, which takes `@aws-sdk/client-rds-data` as an optional peer instead of bundling the v2 SDK * `driver/index.d.ts`: `ClientConfiguration` from `aws-sdk/clients/rdsdataservice` -> `RDSDataClientConfig` from `@aws-sdk/client-rds-data` * the integration test drops the `AWS.config.*` globals and passes `region` / `credentials` / `endpoint` through the driver's `options`, which is now an `RDSDataClientConfig` `driver/AuroraServerlessMySqlDriver.js` needs no change. `@types/data-api-client` floats 1.2.3 -> 1.2.11, which swapped its `aws-sdk` dependency for `@types/aws-sdk2-types`, so `aws-sdk` leaves the lockfile entirely. Closes 2 Dependabot alerts (GHSA-rvhx-wmgm-m6q9, low) — one on the root lockfile and one on the driver's package.json. Verified with the real local-data-api + MySQL 5.6.50 compose stack: `yarn workspace @cubejs-backend/mysql-aurora-serverless-driver integration` passes 3/3 (needs `DOCKER_DEFAULT_PLATFORM=linux/amd64` on Apple Silicon, since `mysql:5.6.50` publishes no arm64 image). Plus `unit` (2/2), `yarn tsc` and a no-op `yarn install --frozen-lockfile`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The package's only trace in the playground is a stylesheet import in `src/App.tsx`. Its 1227 lines define exactly three families of selectors — `.ant-legacy-form*`, `.ant-mention-*`, and the antd-3-era `.has-error` / `.has-warning` / `.is-validating` / `.show-help-*` states — all of which are emitted only by `@ant-design/compatible`'s own `Form` and `Mention` components. Neither is imported anywhere, and none of those class names appear in `packages/cubejs-playground/src`, so the stylesheet matched nothing. Behind the import sat a large abandoned subtree: `rc-editor-mention` -> `rc-editor-core` -> `draft-js@0.10.5` -> `immutable@3.7.6` and `fbjs` -> `isomorphic-fetch` -> `node-fetch@1.7.3`. Closes 4 Dependabot alerts on the root lockfile: | GHSA | package | severity | | --- | --- | --- | | GHSA-887c-mr87-cxwp | node-fetch | high | | GHSA-xvcm-6775-5m9r | immutable | high | | GHSA-wf6x-7x77-mvgw | immutable | high | | GHSA-v56q-mh7h-f735 | immutable | high | `immutable` is now 4.3.9 / 5.1.9 (sass) and `node-fetch` 2.7.0 / 3.3.2; `draft-js` is gone entirely. Upgrading instead was not an option: `@ant-design/compatible@5` peer-requires `antd ^5.0.1` and the playground is on antd 4.16.13. Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, `tsc` in `packages/cubejs-playground`, and `yarn workspace @cubejs-client/playground build:playground`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`sqlite3@5.1.7` depended on `tar ^6.1.11` and dragged in `node-gyp@8` -> `make-fetch-happen@9` -> `http-proxy-agent@4` -> `@tootallnate/once@1.1.2`, the only copy of that package below the 2.0.1 fix. 6.0.1 drops the node-gyp 8 path entirely and uses `tar ^7.5.10`. Closes 1 Dependabot alert on the root lockfile: GHSA-px4h-xg32-q955 (low, `@tootallnate/once < 2.0.1`). `node-gyp@8`, `cacache@15` and `make-fetch-happen@9` leave the tree with it. This does not close the `tar` alerts: `tar@6.2.1` is still held by `node-gyp@9` (under `duckdb@1.4.1`, whose latest release still pins `node-gyp ^9.4.1`) and by `node-gyp@10` under the `@angular/cli@18` -> `pacote@18` chain. sqlite3 6 requires Node >= 20.17.0; CI runs 24/26. Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, and `yarn workspace @cubejs-backend/sqlite-driver unit` (2/2) against a freshly fetched 6.0.1 prebuilt binary. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`rust/cubestore`'s js-wrapper uses `@octokit/core` to look up the CubeStore
release to download. It declared `^3.2.5`, which pins `@octokit/request@5.6.3` and
`@octokit/request-error@2.1.0`, both below their fixes.
5.2.2 is the last CJS release — `@octokit/core@6` and later set
`"type": "module"`, which the CommonJS js-wrapper cannot require. It depends on
`@octokit/request ^8.4.1`, which still supports the `request: { agent }` option
that `download.ts` passes for proxy support (removed in v9, which switched to
native fetch).
Closes 2 Dependabot alerts on the root lockfile:
| GHSA | package | severity | fixed in |
| --- | --- | --- | --- |
| GHSA-x4c8-mmvw-jvxg | @octokit/request | medium | 8.4.1 |
| GHSA-xx4v-prfh-6cgc | @octokit/request-error | medium | 5.1.1 |
Verified: `yarn install --frozen-lockfile` is a no-op, `yarn tsc`, and
`yarn workspace @cubejs-backend/cubestore unit` (3/3, which acquires and restarts
a real cubestored through the download path).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…erts The npm entry was scoped to `directory: "/packages"`, which does not cover the root `yarn.lock` — the largest manifest in the repo and the one holding 140 of the 323 open npm alerts. `docs-mintlify` (64) and the three `packages/cubejs-playground/vizard` lockfiles (109) were not registered either; all of those alerts were reaching us through the security-advisory channel only, with no version-update PRs behind them. Replaced with a `directories` list covering the root workspace, docs-mintlify, the vizard preview and its app templates. The `/examples` entry (deliberately muted with `ignore: "*"`) and the github-actions entry are unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
|
Claude finished @ovr's task in 7m 18s —— View job Review: solid, well-sequenced dependency PR — 2 medium, 2 low, 1 verification gapFull review
What I checkedThe interesting surface here isn't the lockfile churn, it's the handful of major bumps on packages with real call sites. I traced each one to its consumer:
Dead-code removals all verified clean: no remaining references to Lockfile/manifest consistency spot-checked: every new range resolves (
FindingsMedium — Medium — the Aurora driver's Low — stale Low — Verification gap — GCS v8 (thread). The export-bucket paths ( Praise23 commits that each do one thing and each got verified before the next went on is the right shape for a PR this size, and it's what made this reviewable at all. Adding no new No prior review threads existed on this PR, so nothing to resolve or dedupe against. |
| "dependencies": { | ||
| "@cubejs-backend/shared": "1.7.37", | ||
| "@octokit/core": "^3.2.5", | ||
| "@octokit/core": "^5.2.2", |
There was a problem hiding this comment.
@octokit/core 3 → 5 silently drops proxy support for the release lookup.
js-wrapper/src/download.ts:19-24 passes request.agent = await getHttpAgentForProxySettings(), which is a proxy-agent http.Agent.
- On master,
@octokit/core@3→@octokit/request@5.6.3, which depends onnode-fetch@^2.6.7and forwardsagent— soHTTP_PROXY/HTTPS_PROXYwas honored. - With
@octokit/core@5.2.2→@octokit/request@8.4.1(nonode-fetch/undicidep — it uses globalfetch), theagentoption is no longer forwarded; nativefetchignores it.
@octokit/types still declares agent?: unknown on RequestRequestOptions, so this compiles and typechecks and fails only at runtime, for users behind a proxy, on the 404 fallback path that resolves release metadata. The primary downloadAndExtractFile path is unaffected, which makes it easy to miss.
Fix direction: pass a custom request.fetch that applies an undici ProxyAgent as dispatcher (add a helper alongside getHttpAgentForProxySettings), or leave @octokit/core on 3 in this commit if the fetch-based proxy plumbing is out of scope for a dependency PR.
Also engines (line 7-9) still claims ^12.0.0 || ^14.0.0 || >=16.0.0; @octokit/core@5 requires Node ≥ 18. Worth aligning with the >=20.0.0 the other packages declare.
| resourceArn?: string, | ||
| database?: string, | ||
| options?: ClientConfiguration | ||
| options?: RDSDataClientConfig |
There was a problem hiding this comment.
This retypes a published config surface, and the shape change is user-visible: options is handed straight to dataApi({ ..., options }), which under data-api-client@2 becomes new RDSDataClient(options) instead of new AWS.RDSDataService(options).
So any existing cube.js using v2-style keys breaks silently or throws — sslEnabled, httpOptions, maxRetries, and top-level accessKeyId/secretAccessKey are all gone in v3 (credentials: { ... }, requestHandler, maxAttempts instead). The test diff is exactly that migration, so the delta is known; it just isn't recorded anywhere a user would see it.
There's no docs page for this driver (nothing matches aurora under docs-mintlify/), so a short note in the driver's README plus a release-note/breaking-change callout is probably the cheapest place to land it.
Relatedly, @types/data-api-client@^1.2.1 is still in devDependencies: it describes the v1 surface and pulls @types/aws-sdk2-types, quietly re-adding the aws-sdk v2 typings this PR set out to remove. Nothing imports it (the driver is plain JS and this .d.ts is hand-written), so it looks droppable.
| "@azure/storage-blob": "^12.9.0", | ||
| "@cubejs-backend/shared": "1.7.37", | ||
| "@google-cloud/storage": "^7.13.0" | ||
| "@google-cloud/storage": "^8.1.0" |
There was a problem hiding this comment.
@google-cloud/storage 7 → 8 is the one major here whose code paths aren't in the verification list. The consumers are src/storage-fs/gcs.fs.ts (new Storage(...), bucket.getFiles, file.getSignedUrl) and BigQueryDriver.unload() (bucket.file() → createExtractJob → getFiles → getSignedUrl) — export-bucket-only code that no unit suite touches, and base-driver 17/17 won't exercise it.
engines is >=20.0.0 here so the Node floor is fine. Could you confirm the bigquery integration job with an export bucket configured came back green (or run the GCS unload path once by hand)? Everything else in this PR has a green suite behind it; this is the gap.
Closes 230 of the 323 open npm Dependabot alerts across all five lockfiles, as 23 independently revertable commits — one logical change each, every one verified before the next was applied. Every fix is either a plain lockfile re-resolution or a direct bump of the parent that pinned the vulnerable version; no new
resolutionsentries were added (the onlyresolutionsedit is raising the existinglodashfloor from^4.17.0to^4.18.0), because forcingqs@^6.16.0that way turned out to break@cubejs-backend/api-gateway. Four dead dependencies came out along the way —cypress-plugin-snapshots,@ant-design/compatible(a CSS-only import draggingdraft-js/immutable@3/node-fetch@1), and vizard's unusedreact-router-domandtoml— andaws-sdkv2, which hit end-of-support in September 2025, is gone entirely..github/dependabot.ymlwas also pointed at the manifests that actually carry the alerts; it was scoped to/packages, so the rootyarn.lock,docs-mintlifyand the vizard lockfiles were never covered by version updates at all. The 93 that remain are structural: 44 are held by Angular 18's exact pins incubejs-client-ngx(deliberately out of scope), 14 bynode-gyp9/10 underduckdband@angular/cli, and the rest by upstream exact pins or have no patched release.packages/cubejs-playground/vizard/yarn.lock.../vizard/apps/react-typescript-antd-table/yarn.lock.../vizard/apps/react-typescript-chartjs-.../yarn.lockdocs-mintlify/yarn.lockyarn.lockLargest single wins:
vite5 -> 7 in vizard (45),testcontainers10 -> 12 (12undici), droppingcypress-plugin-snapshots(10), regeneratingdocs-mintlifyonmintlify@4.2.887(58),express-> 4.22.2 (6), and@ant-design/compatible(4).Check List
Verification
yarn install --frozen-lockfileis a no-op after every commit, plusyarn tsc,yarn lintandyarn build. Unit suites:api-gateway284/284,shared455/455,query-orchestrator146/146,server-core117/117,clickhouse-driver90/90,vue336/36,cubestore-driver22/22,base-driver17/17, plus cli/server/dremio/duckdb/ksql/pinot/trino/athena/crate/jdbc/prestodb/snowflake/sqlite/cloud/react/playground/maven/aurora — all green. Docker-backed:postgres-driver12/12,mysql-driver5/5,cubestore3/3, andmysql-aurora-serverless-driver3/3 against a real local-data-api + MySQL 5.6 stack, which is what proves theaws-sdkv2 -> v3 migration.yarn build:vizardbuilds both app templates, both download zips and the preview site.Two suites fail identically on
origin/masterwith the same tree, so neither is a regression:schema-compilerfails the same 12 of 954 tests on both, and@cubejs-backend/nativefails the same 3SQLInterfacetests on both (a staleindex.nodecopied from another checkout).🤖 Generated with Claude Code