Skip to content

Consider adopting more of a monorepo style #260

Closed

Description

I documented the release process in https://github.com/microsoft/debug-adapter-protocol/blob/gh-pages/contributing.md#releasing-dap-changes. Updating this package is a somewhat manual process since there are two different dependent packages that get published, and whoever is publishing needs to wait for the protocol publish to propagate before publishing the other package.

I suggest adopting a Lerna monorepo style for this. This is what I've done for the js-debug profilers (though the build is somewhat convoluted in there due to having multiple client/webview and extension host build targets...) which lets me just run lerna version patch to publish and update all packages. This will also enable us to automate publishing more easily 🙂

Activity

  1. roblourens commented on Feb 8, 2022

    @roblourens
    Member

    How does lerna help you deal with having to wait for one package to be available in npm before you can update the dependency in another project?

  2. connor4312 commented on Feb 8, 2022

    @connor4312
    MemberAuthor

    The main reason for the wait is that the package-lock.json in the second packages needs to be updated with the new version. Well, doesn't have to be, but if it isn't then npm installing will create a dirty workspace, which is messy. Lerna will symlinks the packages locally, so that issue is resolved. npm doesn't actually enforce dependency versions on publish, so Lerna can just publish all relevant package versions simultaneously.

  3. roblourens commented on Feb 8, 2022

    @roblourens
    Member

    Does that mean that package A that depends on B, contains package B when published?

  4. connor4312 commented on Feb 8, 2022

    @connor4312
    MemberAuthor

    No, it can still reference package B as its own separate npm package.

  5. added 5 commits that reference this issue on Mar 1, 2022
    16ff672
    98f3baf
    86c1b2e
    0424c31
    5529bce
  6. weinand commented on Mar 2, 2022

    @weinand
    Contributor

    Connor Peet (@connor4312) great idea to improve this (although I never had to "wait" for the protocol publish to propagate...)

  7. added 2 commits that reference this issue on May 11, 2022
    46b12bf
    6419400
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    debtCode quality issuesfeature-requestRequest for new features or functionality

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions