-
Notifications
You must be signed in to change notification settings - Fork 52
Fix npm security vulnerabilities and upgrade dependencies #266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@dlukt is attempting to deploy a commit to the Convex Team on Vercel. A member of the Team first needs to authorize it. |
WalkthroughVersion bumped to 0.0.91 and multiple dependency updates applied across regular, peer, and dev dependencies in Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
|
Both upgrades have been verified as compatible: Valibot (0.35.0 → 1.2.0) ✅ const VariablesSchema = v.object({
help: v.optional(v.string()),
providers: v.array(v.object({ ... })),
success: v.optional(v.string()),
});
const variables = v.parse(VariablesSchema, JSON.parse(json));Breaking changes analysis:
Both upgrades are safe. The 27 passing tests validate this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json(4 hunks)
🔇 Additional comments (6)
package.json (6)
3-3: Version bump is appropriate for dependency updates.The version bump from 0.0.90 to 0.0.91 correctly uses a patch increment for what appears to be dependency/infrastructure updates without API surface changes.
18-20: Verify node engine constraint compatibility.A new engines constraint requiring node >=20.12.0 has been added. This is a breaking change for users on older Node versions and should be intentional. Confirm this aligns with:
- The minimum Node version required by updated dependencies (especially valibot 1.2.0, vitest 3.2.4, inquirer 13.0.2)
- Your project's support policy
- CI/CD environment configurations
114-114: Verify vitest v3 API compatibility and vulnerability fixes.vitest underwent a major version bump (1.6.0 → 3.2.4) addressing moderate esbuild/vite vulnerabilities. Verify:
- The esbuild and vite vulnerabilities are indeed fixed in 3.2.4
- No breaking API changes for test execution or configuration
- Test environment setup (if any vitest config files exist) is still valid
The fact that all 27 tests pass is a strong positive signal.
If there are vitest config files (vitest.config.ts, vitest.config.js), confirm they are compatible with v3 syntax and APIs.
71-82: Patch and minor dependency updates are low-risk.The remaining updates (cookie, is-network-error, lucia, @types/inquirer, convex-test, typescript) are patch or minor version bumps. These are typically backward-compatible. The PR verification (0 vulnerabilities, tests pass, build succeeds) confirms no issues were introduced.
106-106: inquirer v13 is API compatible with this codebase.Verification of inquirer v13 breaking changes against the CLI code confirms compatibility:
- ESM-only requirement: Already satisfied. Code uses ESM import (
import inquirer from "inquirer"), and package.json has"type": "module".- Removed prompt types: The code only uses "confirm" and "input" prompt types, neither of which were removed. The deprecated "list" alias is not used.
- Removed cancel() method: No cancel() calls found in the codebase.
- Removed instructions config: Not used in any prompt configurations.
- Prompt return values: Simple and unchanged (boolean for confirm, string for input).
The PR's API compatibility claim is correct.
73-73: jose v6 upgrade is compatible with this codebase's usage.While jose v6 does introduce breaking changes (algorithm removals, API renames, KeyObject→CryptoKey transitions), none affect the functions used here. The codebase only uses
SignJWT,importPKCS8,generateKeyPair,exportPKCS8, andexportJWKwith RS256—all supported and API-compatible in v6. No PEMImportOptions, removed algorithms (Ed448/X448/secp256k1/RSA1_5), or KeyObject-specific patterns are present. The package is already ESM-based, aligning with v6's ESM-forward design.
Fix npm security vulnerabilities and upgrade dependencies
This PR addresses security vulnerabilities reported by
npm auditand upgrades outdated dependencies.Security Fixes
^0.35.0→^1.2.0(fixes high severity ReDoS vulnerability in EMOJI_REGEX)^1.6.0→^3.2.4(fixes moderate esbuild/vite vulnerabilities)Dependency Upgrades
cookieis-network-errorjoselucia@auth/coreconvex@types/inquirerconvex-testinquirertypescriptVerification
npm audit: 0 vulnerabilitiesnpm run build: passesBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.