Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 5 additions & 39 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,55 +23,21 @@
}
],
"dependencies": {
"async": "^3.2.6",
"dirty-ts": "^1.1.8",
"rusty-store-kv": "^1.3.1",
"simple-git": "^3.36.0"
},
"peerDependencies": {
"@elastic/elasticsearch": "^9.3.4",
"async": "^3.2.6",
"cassandra-driver": "^4.8.0",
"dirty-ts": "^1.1.8",
"mongodb": "^7.1.1",
"mssql": "^12.2.1",
"mysql2": "^3.22.0",
"nano": "^11.0.5",
"pg": "^8.20.0",
"redis": "^5.12.1",
"rethinkdb": "^2.4.2",
"rusty-store-kv": "^1.3.1",
"simple-git": "^3.36.0",
"surrealdb": "^2.0.3"
},
Comment on lines 25 to 40
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Node engine version mismatch 🐞 Bug ☼ Reliability

package.json still declares Node ">=18.0.0" but the newly-required runtime drivers include packages
that require Node >=20.x (e.g., mongodb and nano), so installs can fail for Node 18 users
(especially with engine-strict) and the published engine range becomes inaccurate.
Agent Prompt
## Issue description
`package.json` advertises Node >=18, but the PR makes DB drivers hard dependencies and several of those (or their transitives) require Node >=20.x. This can break installs for Node 18 users and misrepresents supported runtime versions.

## Issue Context
New dependencies include `mongodb`, `nano`, and `@elastic/elasticsearch` (via `@elastic/transport`) which have Node >=20 engine requirements according to the lockfile.

## Fix Focus Areas
- package.json[25-40]
- package.json[107-109]

## What to change
- Either bump `engines.node` to the highest required minimum (and consider whether this warrants a semver-minor/major rather than patch), OR
- Pin/adjust the specific driver package versions to ones that support Node 18, OR
- Reconsider making these particular drivers unconditional dependencies (e.g., keep Node20-only drivers optional/peer so Node18 installs remain possible).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines 25 to 40
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

2. Unmet driver peer dependencies 🐞 Bug ☼ Reliability

By making drivers unconditional dependencies, ueberdb2 now forces installation of packages that
declare non-optional peerDependencies (notably surrealdb requires tslib and typescript; mysql2
requires @types/node), which can cause install failures under strict peer-dependency enforcement and
creates noisy warnings for all consumers.
Agent Prompt
## Issue description
Making DB drivers unconditional dependencies forces all consumers to install packages that have non-optional peerDependencies (`surrealdb` needs `tslib` + `typescript`, `mysql2` needs `@types/node`). In production installs (no devDependencies) and/or strict peer enforcement, this can fail.

## Issue Context
- `surrealdb@2.0.3` peers: `tslib`, `typescript`
- `mysql2@3.22.0` peer: `@types/node`
- `tslib` is not present in ueberdb2 deps; `typescript` and `@types/node` are dev-only.

## Fix Focus Areas
- package.json[25-40]
- package.json[41-67]

## What to change
Choose one:
- Add the required peers to `dependencies` (or `peerDependencies` where appropriate) so production consumers satisfy them, OR
- Switch to driver versions that do not require these peers, OR
- Avoid forcing these drivers as unconditional dependencies (e.g., keep only the actually-needed driver install-time requirements on the consumer side).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

"peerDependenciesMeta": {
"@elastic/elasticsearch": {
"optional": true
},
"cassandra-driver": {
"optional": true
},
"mongodb": {
"optional": true
},
"mssql": {
"optional": true
},
"mysql2": {
"optional": true
},
"nano": {
"optional": true
},
"pg": {
"optional": true
},
"redis": {
"optional": true
},
"rethinkdb": {
"optional": true
},
"surrealdb": {
"optional": true
}
},
"devDependencies": {
"@elastic/elasticsearch": "^9.3.4",
"@types/async": "^3.2.25",
Expand Down Expand Up @@ -105,7 +71,7 @@
"url": "https://github.com/ether/ueberDB.git"
},
"main": "./dist/index.js",
"version": "5.0.45",
"version": "5.0.46",
"bugs": {
"url": "https://github.com/ether/ueberDB/issues"
},
Expand Down
Loading
Loading