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

Feature request: Rushjs monorepo support #3681

Open
KevinGrandon opened this issue May 14, 2019 · 2 comments

Comments

Projects
None yet
2 participants
@KevinGrandon
Copy link

commented May 14, 2019

What would you like Renovate to be able to do?
We have recently moved to a monorepo managed by Rushjs. Rush is similar to yarn workspaces, and projects are defined by entries in a top-level rush.json file. Currently it seems that there's some manual work to update rush lockfiles, and it would be great if renovate did this out of the box.

Describe the solution you'd like
Enable renovate to work with rushjs monorepos. Perhaps custom lockfile logic could occur when detecting a project with a top-level rush.json file and a common/ folder.

Describe alternatives you've considered
We might be able to handle lockfile updating ourselves, with a custom CI runner that builds and updates the lockfile.

Additional context
We experienced this with the Fusion.js codebase after we migrated to a monorepo.
We saw that renovate was opening up Pull Requests, but not updating the common lockfile.

@rarkins

This comment has been minimized.

Copy link
Collaborator

commented May 14, 2019

Are you able to describe the commands you use if you were to manually make the updates? Ie so I can try to replicate them with Renovate.

For lerna for example if we detect a package file is part of the monorepo then we make all changes and then run “lerna bootstrap” after installing the version of lerna specified

@KevinGrandon

This comment has been minimized.

Copy link
Author

commented May 14, 2019

Hello. Sorry, here's a more complete example:

  • We clone the repository.
  • Then if rush.json is there, we would install rush globally, and run rush install to make the initial installation.
  • If we upgrade a dependency there is a rush add command, but it doesn't work with all package managers yet. So instead we typically modify package.json files, then run rush update --full.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.