-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
Use Case
As a... Node driver engineer
I want... to have up to date dependencies
So that... we can be more efficient by using the best available tools
User Impact
- N/A
Dependencies
- N/A
Unknowns
- Do we want to update any previous majors?
Acceptance Criteria
Implementation Requirements
- Review and update the dev and prod dependencies in the following libraries:
- driver
- js-bson
- mongo-client-encryption
- kerberos
- zstd
- dbx-js-tools
- mongodb-connection-string-url
- bson/etc/eslint/no-bigint-usage
- Merge dependabot PRs that are safe to merge (semver-compatible updates, including any standalone package-lock-only PRs)
- Update the dev dependencies to latest available semver compatible versions
- ANY reformatting MUST be done in a separate pull request and should ONLY be done if the team agrees that it is an important improvement
- Check for dev dependency major version updates
- Update the major version if and ONLY if this can be done with minimal code changes; otherwise, file a ticket to update the dependency to the next major version (if one does not already exist) and include any relevant justification for updating to that version sooner rather than later, if applicable
- Do NOT update prettier, eslint, or any other code formatter major versions in this ticket if it would result in a reformatting of the entire code base
- Update the prod dependencies to the latest safe and semver-compatible versions
- Do not upgrade peer dependencies, because that is breaking - someone's build that was passing before can start failing because they didn't manually install an upgraded version of the peer dep
- If the current major version is no longer supported, file a separate ticket to address this
- Updating TS is NOT part of this ticket, file a separate ticket if an update is available and desirable
- Any dependabot PRs that cannot be merged should be closed using the dependabot ignore command after ensuring that there is a corresponding tracking NODE ticket for that update
Testing Requirements
- All existing tests should continue to pass
Documentation Requirements
- N/A
Follow-up Requirements
- File new tickets for major version updates