Skip to content

Dependencies Inventory

package.json declares 78 runtime dependencies and 1 dev dependency (nodemon). No bundler. No tests.

Notable runtime dependencies

AWS / cloud

Package Version Use
aws-sdk ^2.1659.0 v2 SDK — used throughout for S3. Note: AWS has marked v2 maintenance mode; v3 (@aws-sdk/*) is the path forward. The repo already has v3 for Bedrock — split usage.
@aws-sdk/client-bedrock ^3.614.0 Bedrock model management
@aws-sdk/client-bedrock-runtime ^3.635.0 Bedrock model invocation (Claude / Llama / Nova)
googleapis ^140.0.1 Google Cloud APIs

Web / HTTP

Package Version Use
express ^4.19.2 HTTP server
express-fileupload ^1.5.1 File upload middleware
express-session ^1.18.0 Session middleware (used; secret is hardcoded — see security.md)
express-validator ^7.1.0 Used in middlewares/validation.js
body-parser ^1.20.2 Body parsing
cors ^2.8.5 CORS (wildcard configured)
axios ^1.7.2 HTTP client
node-fetch ^2.6.7 Fetch (older v2; not the ESM v3)
fetch ^1.1.0 Spurious — unmaintained, not the standard fetch polyfill. Likely unused; verify.
request ^2.88.2 Deprecated (since Feb 2020). Used in some legacy handlers; replace with axios.

Database

Package Version Use
mysql ^2.18.1 Callback driver — used by modules/dbDriver/lib/mysql.js
mysql2 ^3.11.0 Promise driver — used directly by handlers
sync-mysql ^3.0.1 Blocking driver — used in some helpers

Auth / crypto

Package Version Use
jsonwebtoken ^9.0.2 Bearer JWT in methods.js
bcryptjs ^2.4.3 Password hashing
crypto ^1.0.1 Spuriouscrypto is a built-in Node module; the npm package of that name is an empty squatter. Remove.
crypto-js ^4.2.0 AES encrypt/decrypt for the encrypted-token format (in helper/tokenGenerator.js)
passport ^0.7.0 Declared, but require("./middlewares/passport") is commented out in server.js. Likely unused; verify.
passport-facebook ^3.0.0 Same — declared, not used.
passport-github2 ^0.1.12 Same.
passport-google-oauth20 ^2.0.0 Same.
passport-linkedin-oauth2 ^2.0.0 Same.
@superfaceai/passport-twitter-oauth2 ^1.2.4 Same.
twitter ^1.7.1 Spurious for admin — Twitter client. Maybe handler residue from someli-api.
twitter-api-v2 ^1.17.2 Same.
oauth-1.0a ^2.2.6 Twitter OAuth 1.0a helper. Same.
abort-controller, node-abort-controller various Polyfills; required for some older Node/Bedrock SDK combos.

Payments

Package Version Use
stripe ^16.2.0 Stripe SDK; used in some legacy admin handlers
@paddle/paddle-node-sdk ^1.4.1 Paddle SDK

AI / NLP

Package Version Use
openai ^4.52.7 OpenAI SDK
natural ^8.0.1 NLP toolkit (tokenisation, stemming)

Media

Package Version Use
sharp ^0.32.1 Image manipulation; older version (someli-api uses ^0.33.5)
canvas ^3.1.0 Server-side canvas
konva ^9.3.14 Server-side Konva (Polotno's underlying lib)
polotno-node ^2.9.30 Polotno server SDK
image-size ^1.1.1 Image dimension probing
images ^3.2.4 Image manipulation (alternate to sharp)
s3-image-size ^0.1.3 Image dimensions from S3
puppeteer ^22.13.1 Headless Chrome — for PDF/image generation
puppeteer-core ^22.13.1 Same
ffmpeg-static ^5.2.0 FFmpeg binary
ffprobe-static ^3.1.0 ffprobe binary
fluent-ffmpeg ^2.1.3 FFmpeg wrapper
streamifier ^0.1.1 Buffer → stream

Email / messaging

Package Version Use
@sendgrid/mail ^8.1.3 SendGrid
slack ^11.0.2 Slack notifications
expo-server-sdk ^3.10.0 Expo push notifications — likely unused in admin

PDF / parsing

Package Version Use
pdf-extract ^1.0.11 PDF text extraction
pdf.js-extract ^0.2.1 Same (different lib); both present — pick one
cheerio ^1.0.0-rc.12 jQuery-like HTML parsing
xml2js ^0.6.2 XML parsing
node-xlsx ^0.24.0 XLSX parsing
convert-excel-to-json ^1.7.0 XLSX → JSON
feedsub ^0.7.8 RSS feed subscriber

Utilities

Package Version Use
moment ^2.30.1 Date handling (in maintenance mode)
uuid ^10.0.0 UUIDs
color-convert ^2.0.1 Color space conversion
unsplash-js ^7.0.19 Unsplash API
node-cron ^3.0.3 Cron scheduling (declared; no scheduled jobs in this repo — verify)
node-schedule ^2.1.1 Alternate cron scheduler
socket.io ^4.7.5 WebSockets (set up in server.js, no handlers in this repo)
async ^3.2.5 Async iteration helpers
path ^0.12.7 Spurious (built-in Node module shadowed). Remove.
http ^0.0.1-security Spurious (built-in Node module shadowed). Remove.
https (implied via std lib) n/a OK
fs ^0.0.1-security Spurious (built-in Node module shadowed). Remove.
stream ^0.0.3 Spurious (built-in Node module shadowed). Remove.
url ^0.11.3 Spurious (built-in Node module shadowed). Remove.

Issues summary

  1. Many spurious built-in shadows (path, http, fs, stream, url, crypto) — these are squatter packages. Remove all.
  2. request is deprecated — migrate to axios.
  3. fetch@1.1.0 is an old unmaintained package; not the standard polyfill. Verify usage; remove if unused.
  4. Passport + Twitter + Expo deps appear unused (Passport is explicitly commented out in server.js). Audit grep -r "passport\|twitter\|expo-server" to confirm and remove.
  5. aws-sdk v2 + v3 split — long-term plan should migrate everything to v3.
  6. sharp is at 0.32.1, but someli-api is at 0.33.5. Align.
  7. Both pdf-extract and pdf.js-extract are declared. Pick one.

A reasonable cleanup pass could remove ~20-25 deps without changing behaviour. Quick wins for security posture (smaller transitive tree, fewer CVEs to track).