OWASP / OWASP/cve-lite-cli

chore: prebuild-install@7.1.3 deprecated transitive dependency via better-sqlite3

Open
#519 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

wontfix
Dominant language
TypeScript
Stars
715
Forks
145
Avg merge
21h 39m
Merged PRs (30d)
66

Description

Summary

prebuild-install@7.1.3 is flagged as deprecated on npm:

No longer maintained. Please contact the author of the relevant native addon; alternatives are available.

This package is a transitive dependency — it is not a direct dependency of CVE Lite CLI. It is pulled in by better-sqlite3, which CVE Lite CLI uses for the local offline advisory database.

Why we are not fixing this now

The deprecation is in better-sqlite3, not in CVE Lite CLI. As of better-sqlite3@12.10.0 (the latest release), the package still depends on prebuild-install@^7.1.1. Upgrading our pin has no effect.

The alternatives require meaningful tradeoffs:

  • node:sqlite (Node.js built-in) — only available in Node 22.5+; our engine requirement is >=18, so this would be a breaking change for Node 18/20 users.
  • @sqlite.org/sqlite-wasm — async-only API; our local advisory DB layer uses synchronous calls and would require a rewrite.

The deprecation produces a warning during npm install but has no runtime impact and is not a security issue.

When this should be revisited

  • If better-sqlite3 releases a version that drops prebuild-install
  • If CVE Lite CLI bumps its minimum Node.js requirement to 22.5+, making node:sqlite viable
  • If prebuild-install introduces a security vulnerability

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the better-sqlite3 dependency and the local offline advisory database layer described in this issue. No current change is defined; revisit the dependency when better-sqlite3 drops prebuild-install, the Node.js minimum reaches 22.5+, or prebuild-install has a security issue, then verify the warning or compatibility concern is resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, sqlite, typescript
Domain
cli, databases
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.