Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-4821

[v6 nice to have] Investigate reducing the TS API surface of the driver

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: TypeScript
    • Labels:
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Currently, we have many exported types that are public that probably should be marked internal.

      There seems to be a TS api extractor issue (related link) that requires that even the types of internal properties of public classes must be exported (e.g., BulkOperationPrivate and BulkOperationBase). We could consider submitting a TS issue to see if this is the intended behavior and if there is any recommended workaround. In the meanwhile though, we should identify all currently exported APIs that are:

      • Marked public but should be marked internal
        • These should be deprecated with a note that they will be removed from the public API in the next major version
      • Already marked internal and should ideally be removed from exports
      • Group or annotate the exports in the index file by category (this is just to make it easier for us to keep track):
        • Public API that should remain public (be sure to account for items needed by the legacy driver)
        • Public API that will be transitioned to internal
        • Internal API

            Assignee:
            Unassigned Unassigned
            Reporter:
            daria.pardue@mongodb.com Daria Pardue
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: