Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

relative-deps #7

Open
faassen opened this issue May 27, 2020 · 1 comment
Open

relative-deps #7

faassen opened this issue May 27, 2020 · 1 comment

Comments

@faassen
Copy link

faassen commented May 27, 2020

I have used this in the past and it seems related in the use cases it solves, so it might be useful to compare/mention in docs:

https://github.com/mweststrate/relative-deps

@ebrehault
Copy link
Member

Thank you for sharing @faassen! Yes it is a bit similar indeed, we identified the same problems with npm link and workspaces (see my blog post about it https://medium.com/@ebrehault_25985/developer-friendly-multirepo-with-mr-developer-dc32b2a9e110)

The main differences are:

1 - build

With relative-deps, the deps are built and the resulting built is pushed to our project node_modules (I assumed), whereas with missdev we just have tsconfig (or jsconfig if we don't use TypeScript) to get deps source code from a given path, so the deps sources are never built independently, they are built along with the main project code just like if they were regular local source files. So:

  • it is faster
  • any change in a dependency source file will trigger the watch/rebuild/autoreload of the main project
  • when using TypeScript, our IDE will find references in the sources not in the built lib

2 - git

With relative-deps, we just declare a local path (where we probably have a git checkout)
With missdev, we directly declare the git url, branch and/or tag, so missdev takes care to checkout what's need for us.
It makes it very CI-friendly, as we can have a big pull request with changes in the main project and many dependencies, so we just need to push our different branches, and in the main project put the different deps branches in mrs.developer.json, the CI script just needs to run missdev to get all the proper code for all the deps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants