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

Introduce monorepo to manage packages #648

Closed
hackerwins opened this issue Sep 15, 2023 · 8 comments · Fixed by #880
Closed

Introduce monorepo to manage packages #648

hackerwins opened this issue Sep 15, 2023 · 8 comments · Fixed by #880
Assignees
Labels
cleanup 🧹 Paying off technical debt enhancement 🌟 New feature or request good first issue 🐤 Good for newcomers

Comments

@hackerwins
Copy link
Member

hackerwins commented Sep 15, 2023

Description:

Introduce Turborepo to manage packages

Recently, we have implemented several tools such as yorkie-devtools and create-yorkie-app along with examples while developing yorkie-js-sdk. However, we've encountered challenges when it comes to efficiently managing these packages within in current repository. This includes tasks like building and testing, which have become complex without releasing them.

To address these issues and enhance our development, it would be good to introduce Turborepo for a better mono repo structure.

Why:

@hackerwins hackerwins added enhancement 🌟 New feature or request cleanup 🧹 Paying off technical debt good first issue 🐤 Good for newcomers labels Sep 15, 2023
@blurfx
Copy link
Member

blurfx commented Sep 15, 2023

Maybe it can be related to #629 too

@blurfx
Copy link
Member

blurfx commented Sep 23, 2023

I'll try this with using pnpm. If there's a problem, we can discuss it in a pull request later.

@blurfx blurfx self-assigned this Sep 23, 2023
@blurfx blurfx removed their assignment Oct 14, 2023
@blurfx
Copy link
Member

blurfx commented Nov 18, 2023

Considering #643 and #688, it would be good to control versioning with changesets when introducing monorepo.

@gwbaik9717
Copy link
Contributor

Could I give it a try? :)

@hackerwins
Copy link
Member Author

@blurfx, @chacha912, @gwbaik9717
It looks like we could introduce turborepo or pnpm. Which one looks better?

@blurfx
Copy link
Member

blurfx commented Jul 25, 2024

We have two options I think:

  • use turborepo and pnpm at the same time. turborepo for monorepo and pnpm for dependency management
  • just use pnpm (with pnpm workspace)

Turborepo is a good one but its key feature "task cache" requires Vercel or a self-hosted cache server. If we think the benefit of having a remote build cache is significant, then Turborepo would be good, if not, pnpm is good to go.

And In my opinion, using pnpm only is enough.

@hackerwins hackerwins changed the title Introduce Turborepo to manage packages Introduce monorepo to manage packages Jul 25, 2024
@chacha912
Copy link
Contributor

@blurfx, I agree.
It would also be good to refer to the work that @easylogic previously attempted. #746

@hackerwins
Copy link
Member Author

@chacha912
We updated various libraries that were causing problems at that time. I think we could succeed this time.

@easylogic
Thanks for your contribution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup 🧹 Paying off technical debt enhancement 🌟 New feature or request good first issue 🐤 Good for newcomers
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants