[PR #6318] [CLOSED] fix(deps): pin vite to 8.3.5 so npm audit stops reporting the launch-editor advisories #7279

Closed
opened 2026-11-01 21:46:42 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/6318
Author: @DarkNio88
Created: 10/22/2026
Status: ❌ Closed

Base: main ← Head: fix/vite-8.3.5-advisory


📝 Commits (1)

  • 58f81b0 fix(deps): pin vite to 8.3.5 so npm audit stops reporting the launch-editor advisories

📊 Changes

2 files changed (+371 additions, -6 deletions)

View changed files

📝 package-lock.json (+370 -6)
📝 package.json (+1 -0)

📄 Description

Summary

vite is now pinned to 8.3.5 through a top-level npm override, and the lockfile is refreshed accordingly. npm audit reports 0 vulnerabilities on this branch, against one high-severity finding for vite on the base revision.

Problem and expected behavior

npm audit reports one high-severity advisory for vite on the base revision: node node_modules/vite, range 8.3.0 - 8.3.2, with six advisories in total (GHSA-698v-4r3x-3vcv, GHSA-r825-w8mm-5pxw, GHSA-587h-7wmj-h5pm, GHSA-9jrq-w75r-8gcw, GHSA-rq7h-c2jc-7f22, GHSA-vfpm-58rq-9qcg). They cover the launch-editor handling on Windows and the Vite dev server.

Observed facts, all measured on the base revision:

  • The committed lockfile resolves node_modules/vite to 8.3.2, which is inside the affected range 8.3.0 - 8.3.2, so the finding applies to the tree as it is committed. This was read directly from package-lock.json at the base revision (git show origin/main:package-lock.json).
  • The registry advisory endpoint POST /-/npm/v1/security/advisories/bulk returns no advisory for vite@8.3.5 and six advisories for vite@8.3.0.
  • vite is a dev-only transitive dependency of vitest@5.0.3, so it never reaches a published artifact, and the dev server it powers is not exposed by REA.

Change and scope

  • package.json: add the top-level overrides.vite = "8.3.5", so the vitest -> vite edge resolves to exactly 8.3.5 and cannot fall back into the affected range.
  • package-lock.json: refresh the vite subtree. node_modules/vite moves from 8.3.2 to 8.3.5, and 18 nested entries are added under node_modules/vite/node_modules/ for vite's own dependencies (rolldown 1.2.15 with its platform bindings, postcss 8.5.31, @oxc-project/types 0.155.0). No package is removed.
  • The pre-existing nested override overrides.vitepress.vite = "6.4.4" is untouched: vitepress 1.6.4 requires its own vite 6.4.4, so the documentation build keeps the version it pins today.
  • Not included: no runtime dependency change, no change to the published package, no upgrade beyond the vite subtree.

Contract and boundary impact

  • Semantic owner and earliest changed stage: npm dependency resolution for the dev-only test runner; the earliest changed stage is package.json and package-lock.json.
  • Contribution scope fit and linked maintainer decision: ordinary dependency fix inside existing boundaries; not applicable for a maintainer scope decision, since no provider, target execution, injection, mutation, or protection recovery is involved.
  • CLI and MCP/tool-catalog contract: none.
  • Provider, bridge, target-format, or platform compatibility: none. vite is a dev-only transitive dependency of vitest 5.0.3 and never reaches a published artifact.
  • Evidence, artifact, provenance, or reconstruction contract: none.
  • Target selection, authority, upstream behavior, and cleanup details (if applicable): not applicable.
  • Generated metadata (docs/public/product-catalog.json), package, or installation impact: none. docs/public/product-catalog.json and skills/ are ignored outputs and are not modified here.

Expected effects: none of the listed effects apply to target interaction. The change only constrains dev-time dependency resolution of a test-runner dependency; no target is read, launched, instrumented, or modified, and REA's runtime behavior is unchanged.

Evidence and regression coverage

  • Tests added or updated: none. The change does not alter product behavior.
  • Base reproduction or other evidence: in a pristine checkout of the base revision without node_modules, npm audit reports one high-severity finding for node_modules/vite (range 8.3.0 - 8.3.2); the same checkout with this override reports 0 vulnerabilities. The registry endpoint POST /-/npm/v1/security/advisories/bulk answers with no advisory for vite@8.3.5 and six advisories for vite@8.3.0.
  • User-visible CLI/MCP output (if applicable): none.
  • Remaining proof gaps: the audit finding was reproduced on Windows only; the behavior on Linux and macOS was not verified. The comparison used lockfile-only audits (no npm ci), because the local Node 25.9.0 aborts npm ci on the repository engines range. The focused Hopper test cannot run in a fresh checkout on this Windows host, because the packaged native Windows artifact is missing; it fails the same way on the base revision.

For evidence-bearing changes:

  • Observed, derived, and inferred claims remain distinguishable.
  • Artifact identity, source provenance, and failed attempts remain preserved.
  • Unsupported, incomplete, unavailable, or uncertain outcomes remain visible.

Validation performed

  • npm audit on a pristine checkout of the base revision (git worktree add --detach <tmp> origin/main, no node_modules, Node 24.18.0 / npm 11.16.0) - 1 high-severity finding for node_modules/vite, range 8.3.0 - 8.3.2, with the six advisories listed above; the lockfile there resolves node_modules/vite to 8.3.2.
  • npm audit on this branch (same worktree procedure, Node 24.18.0 / npm 11.16.0) - 0 vulnerabilities ({"info":0,"low":0,"moderate":0,"high":0,"critical":0,"total":0}).
  • npm install --ignore-scripts (Node 24.18.0, npm 11.16.0) - exit 0; the committed package-lock.json is left unchanged by the install, so the resolved tree in the lockfile is stable.
  • npm ls vite --all - vitest@5.0.3 -> vite@8.3.5 (overridden); vitepress@1.6.4 -> vite@6.4.4 (overridden).
  • npm run check:fast - exit 0 (turbo: typecheck and lint, 2/2 tasks successful).
  • npm run test:focused -- tests/composition/callPathParserOperation.test.ts tests/composition/evmModuleContract.test.ts - exit 0 (2 test files, 3 tests passed).
  • npm run test:focused -- tests/boundary/providers/hopper/hopperArguments.test.ts - exit 1 on this Windows host, in the test bootstrap and before any assertion: "REA Windows native controls are unavailable: Missing packaged Windows native file native/windows/build/manifest.json (ENOENT)". The same command, with the same install procedure in a fresh checkout of the base revision, fails with the identical message, so the failure is pre-existing and comes from the missing packaged native Windows artifact, not from the dependency resolution changed here.
  • POST https://registry.npmjs.org/-/npm/v1/security/advisories/bulk with {"vite":["8.3.5"]} - no advisory; with {"vite":["8.3.0"]} - six advisories.
  • Lockfile comparison between the base revision and this branch - node_modules/vite moves from 8.3.2 to 8.3.5, 18 entries are added under node_modules/vite/node_modules/ (rolldown 1.2.15 with its platform bindings, postcss 8.5.31, @oxc-project/types 0.155.0), no package is removed.

Compatibility, safety, and release

  • Breaking changes or migration steps: none.
  • Real Hopper/Ghidra, browser, or OS coverage: not applicable; dependency resolution only.
  • Package or release metadata impact: none. The published package does not contain vite.
  • Security, privacy, process, or containment review: removes a reported advisory finding from npm audit output. No runtime permission, network, or process behavior changes.

Author readiness

Human owner: @DarkNio88

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff.
  • The PR has one focused outcome and the title follows type(scope): outcome.
  • Related issue is linked, or the reason for not linking one is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs, contracts, and generated metadata are updated where needed.
  • User-visible CLI/MCP changes include representative output.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/6318 **Author:** [@DarkNio88](https://github.com/DarkNio88) **Created:** 10/22/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/vite-8.3.5-advisory` --- ### 📝 Commits (1) - [`58f81b0`](https://github.com/morluto/rea/commit/58f81b0d69141a336ccf969be971a4cad55b7c06) fix(deps): pin vite to 8.3.5 so npm audit stops reporting the launch-editor advisories ### 📊 Changes **2 files changed** (+371 additions, -6 deletions) <details> <summary>View changed files</summary> 📝 `package-lock.json` (+370 -6) 📝 `package.json` (+1 -0) </details> ### 📄 Description ## Summary `vite` is now pinned to 8.3.5 through a top-level npm override, and the lockfile is refreshed accordingly. `npm audit` reports 0 vulnerabilities on this branch, against one high-severity finding for `vite` on the base revision. ## Problem and expected behavior `npm audit` reports one high-severity advisory for `vite` on the base revision: node `node_modules/vite`, range `8.3.0 - 8.3.2`, with six advisories in total (GHSA-698v-4r3x-3vcv, GHSA-r825-w8mm-5pxw, GHSA-587h-7wmj-h5pm, GHSA-9jrq-w75r-8gcw, GHSA-rq7h-c2jc-7f22, GHSA-vfpm-58rq-9qcg). They cover the `launch-editor` handling on Windows and the Vite dev server. Observed facts, all measured on the base revision: - The committed lockfile resolves `node_modules/vite` to 8.3.2, which is inside the affected range `8.3.0 - 8.3.2`, so the finding applies to the tree as it is committed. This was read directly from `package-lock.json` at the base revision (`git show origin/main:package-lock.json`). - The registry advisory endpoint `POST /-/npm/v1/security/advisories/bulk` returns no advisory for `vite@8.3.5` and six advisories for `vite@8.3.0`. - `vite` is a dev-only transitive dependency of `vitest@5.0.3`, so it never reaches a published artifact, and the dev server it powers is not exposed by REA. ## Change and scope - `package.json`: add the top-level `overrides.vite = "8.3.5"`, so the `vitest` -> `vite` edge resolves to exactly 8.3.5 and cannot fall back into the affected range. - `package-lock.json`: refresh the `vite` subtree. `node_modules/vite` moves from 8.3.2 to 8.3.5, and 18 nested entries are added under `node_modules/vite/node_modules/` for vite's own dependencies (`rolldown` 1.2.15 with its platform bindings, `postcss` 8.5.31, `@oxc-project/types` 0.155.0). No package is removed. - The pre-existing nested override `overrides.vitepress.vite = "6.4.4"` is untouched: vitepress 1.6.4 requires its own vite 6.4.4, so the documentation build keeps the version it pins today. - Not included: no runtime dependency change, no change to the published package, no upgrade beyond the `vite` subtree. ## Contract and boundary impact - Semantic owner and earliest changed stage: npm dependency resolution for the dev-only test runner; the earliest changed stage is `package.json` and `package-lock.json`. - Contribution scope fit and linked maintainer decision: ordinary dependency fix inside existing boundaries; not applicable for a maintainer scope decision, since no provider, target execution, injection, mutation, or protection recovery is involved. - CLI and MCP/tool-catalog contract: none. - Provider, bridge, target-format, or platform compatibility: none. `vite` is a dev-only transitive dependency of vitest 5.0.3 and never reaches a published artifact. - Evidence, artifact, provenance, or reconstruction contract: none. - Target selection, authority, upstream behavior, and cleanup details (if applicable): not applicable. - Generated metadata (`docs/public/product-catalog.json`), package, or installation impact: none. `docs/public/product-catalog.json` and `skills/` are ignored outputs and are not modified here. Expected effects: none of the listed effects apply to target interaction. The change only constrains dev-time dependency resolution of a test-runner dependency; no target is read, launched, instrumented, or modified, and REA's runtime behavior is unchanged. ## Evidence and regression coverage - Tests added or updated: none. The change does not alter product behavior. - Base reproduction or other evidence: in a pristine checkout of the base revision without `node_modules`, `npm audit` reports one high-severity finding for `node_modules/vite` (range `8.3.0 - 8.3.2`); the same checkout with this override reports 0 vulnerabilities. The registry endpoint `POST /-/npm/v1/security/advisories/bulk` answers with no advisory for `vite@8.3.5` and six advisories for `vite@8.3.0`. - User-visible CLI/MCP output (if applicable): none. - Remaining proof gaps: the audit finding was reproduced on Windows only; the behavior on Linux and macOS was not verified. The comparison used lockfile-only audits (no `npm ci`), because the local Node 25.9.0 aborts `npm ci` on the repository `engines` range. The focused Hopper test cannot run in a fresh checkout on this Windows host, because the packaged native Windows artifact is missing; it fails the same way on the base revision. For evidence-bearing changes: - [x] Observed, derived, and inferred claims remain distinguishable. - [x] Artifact identity, source provenance, and failed attempts remain preserved. - [x] Unsupported, incomplete, unavailable, or uncertain outcomes remain visible. ## Validation performed - `npm audit` on a pristine checkout of the base revision (`git worktree add --detach <tmp> origin/main`, no `node_modules`, Node 24.18.0 / npm 11.16.0) - 1 high-severity finding for `node_modules/vite`, range `8.3.0 - 8.3.2`, with the six advisories listed above; the lockfile there resolves `node_modules/vite` to 8.3.2. - `npm audit` on this branch (same worktree procedure, Node 24.18.0 / npm 11.16.0) - 0 vulnerabilities (`{"info":0,"low":0,"moderate":0,"high":0,"critical":0,"total":0}`). - `npm install --ignore-scripts` (Node 24.18.0, npm 11.16.0) - exit 0; the committed `package-lock.json` is left unchanged by the install, so the resolved tree in the lockfile is stable. - `npm ls vite --all` - `vitest@5.0.3` -> `vite@8.3.5` (overridden); `vitepress@1.6.4` -> `vite@6.4.4` (overridden). - `npm run check:fast` - exit 0 (turbo: typecheck and lint, 2/2 tasks successful). - `npm run test:focused -- tests/composition/callPathParserOperation.test.ts tests/composition/evmModuleContract.test.ts` - exit 0 (2 test files, 3 tests passed). - `npm run test:focused -- tests/boundary/providers/hopper/hopperArguments.test.ts` - exit 1 on this Windows host, in the test bootstrap and before any assertion: "REA Windows native controls are unavailable: Missing packaged Windows native file native/windows/build/manifest.json (ENOENT)". The same command, with the same install procedure in a fresh checkout of the base revision, fails with the identical message, so the failure is pre-existing and comes from the missing packaged native Windows artifact, not from the dependency resolution changed here. - `POST https://registry.npmjs.org/-/npm/v1/security/advisories/bulk` with `{"vite":["8.3.5"]}` - no advisory; with `{"vite":["8.3.0"]}` - six advisories. - Lockfile comparison between the base revision and this branch - `node_modules/vite` moves from 8.3.2 to 8.3.5, 18 entries are added under `node_modules/vite/node_modules/` (`rolldown` 1.2.15 with its platform bindings, `postcss` 8.5.31, `@oxc-project/types` 0.155.0), no package is removed. ## Compatibility, safety, and release - Breaking changes or migration steps: none. - Real Hopper/Ghidra, browser, or OS coverage: not applicable; dependency resolution only. - Package or release metadata impact: none. The published package does not contain `vite`. - Security, privacy, process, or containment review: removes a reported advisory finding from `npm audit` output. No runtime permission, network, or process behavior changes. ## Author readiness Human owner: @DarkNio88 - [ ] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [ ] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [ ] I declare this PR ready for initial maintainer review. ## Before merge - [ ] This PR addresses a concrete problem or an agreed enhancement. - [ ] Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff. - [ ] The PR has one focused outcome and the title follows `type(scope): outcome`. - [ ] Related issue is linked, or the reason for not linking one is stated above. - [ ] Tests cover changed observable behavior and meaningful failure paths. - [ ] Owning docs, contracts, and generated metadata are updated where needed. - [ ] User-visible CLI/MCP changes include representative output. - [ ] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-11-01 21:46:42 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#7279
No description provided.