audit week 3 [DEP-001]: upgrade mongoose 6.12 → 8.23
Mongoose 6 entered maintenance/EOL in 2023; current major is 8.x. No source
changes required — every API the codebase uses is identical between v6 and
v8:
- models.js schema DSL (Schema, default: Date.now function refs, enum,
unique, required, index) is unchanged.
- db-connection.js connect options (serverSelectionTimeoutMS,
socketTimeoutMS) and connection event names (error/disconnected/
reconnected) are unchanged.
- All queries already use the v7+-required APIs: countDocuments (not the
removed count()), updateOne/findOneAndUpdate (not the removed update()),
bulkWrite, .lean() — no callback-based queries, no Model.remove(),
no findOneAndRemove.
- findOneAndUpdate sites all explicitly pass { new: true } so the v7
default-flip from old-doc to new-doc doesn't change behavior.
- strictQuery default flipped to false in v7+; codebase only filters on
schema-defined fields, so the change is a no-op.
Verification on this commit:
- node -e "require('./db-connection')" loads cleanly; modelNames() returns
the expected six models.
- Every source file under handlers/, services/, routes/, gmail-poll.js,
broccolini-discord.js requires cleanly.
- new Ticket(...).validateSync() accepts valid docs, rejects invalid enum
values, and Date defaults still fire.
- vitest run still passes (87/87) — pure-function suite is unaffected by
the upgrade but confirms no regression in the dependency-shared modules.
Production verification (live DB CRUD: create/find/updateOne/deleteOne/
bulkWrite) still owed via docker compose up --build -d on the homelab.
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
"express": "^5.2.1",
|
||||
"express-rate-limit": "^8.3.2",
|
||||
"googleapis": "^171.4.0",
|
||||
"mongoose": "^6.12.0"
|
||||
"mongoose": "^8.23.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"mongodb": "^7.1.0",
|
||||
|
||||
Reference in New Issue
Block a user