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

Migrate nodejs projects to a mono repository

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: CI

      Use Case

      As a nodejs mongodb engineer
      I want to migrate our repositories to one repository
      So that integrated testing is always in sync across code bases and tooling is consistent

      Unknowns

      • How long will it take to restructure CI to account for the change in file paths?
      • Is there downstream projects that will be directly impacted by this change?
        • The docs code examples will be moved, consider some tooling to assist with this?

      Acceptance Criteria

      Kick-off

      • Divide the following work into subtasks (ex. per package)

      Implementation Requirements

      • Create a new repository. suggestion: "dbx-nodejs"
      • Use git subtree add to incorporate the history from each repository
        • driver
        • bson
        • csfle
          • Move the FLE bindings out of the subdirectory to the root of the subfolder in this new repo (ex. packages/csfle/package.json)
          • Enhance build-static.sh to clone libmongocrypt in order to compile the bindings
        • kerberos
        • connection-string
        • zstd
      • Initialize a lerna project
        • Replace each interdependent version requirement in package.json with "*"
          • ex. in driver "bson": "*"
      • Ensure each package has a build, test and lint npm script
        • Ensure npx lerna run of each of these scripts run successfully

      Testing Requirements

      • Combine .evergreen.yml files from each package into one configuration
        • Strip shared tasks from libmongocrypt that no longer apply

      Documentation Requirements

      • Create a page detailing the migration, where to find source, etc.

            Assignee:
            Unassigned Unassigned
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: