-
Type: Task
-
Resolution: Unresolved
-
Priority: Unknown
-
None
-
Affects Version/s: None
-
Component/s: BSON
Use Case
As a... frontend js-bson user
I want... js-bson to not dynamically import crypto
So that... using js-bson is a smooth experience
After removing support for Node.js 16 in NODE-6625 - The crypto global should be available in all our supported environments
User Experience
- Determine a path forward to ease user friction when using js-bson with frontend frameworks and bundlers
Dependencies
- upstream and/or downstream requirements and timelines to bear in mind
Risks/Unknowns
- What could go wrong while implementing this change? (e.g., performance, inadvertent behavioral changes in adjacent functionality, existing tech debt, etc)
- Is there an opportunity for better cross-driver alignment or testing in this area?
- Is there an opportunity to improve existing documentation on this subject?
Acceptance Criteria
Implementation Requirements
- Use the crypto global in place of the crypto import
- remove require_rewriter
Testing Requirements
- TBD
Documentation Requirements
- DOCSP ticket, API docs, etc
Follow Up Requirements
- additional tickets to file, required releases, etc
- if node behavior differs/will differ from other drivers, confirm with dbx devs what standard to aim for and what plan, if any, exists to reconcile the diverging behavior moving forward
- depends on
-
NODE-6625 Update BSON minimum Node version
- Ready for Work
- is related to
-
NODE-3376 Node.js BSON dist cannot serialize browser BSON dist ObjectId
- Closed
-
NODE-6301 bson node es6 module import issue inside react app
- Closed
-
NODE-4211 "bson" package: Browser shouldn't require("crypto")
- Closed
-
NODE-6623 BSON exports causing confusion
- Investigating
-
NODE-5773 Cant use BSON ObjectId in browser
- Closed
-
NODE-5816 NextJS 14 await is not defined
- Closed