yorkie-team / yorkie-js-sdk

Yorkie JavaScript SDK
https://yorkie.dev/docs/js-sdk
Apache License 2.0
142 stars 93 forks source link

Introduce monorepo to manage packages #648

Closed hackerwins closed 1 month ago

hackerwins commented 1 year ago

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:

blurfx commented 1 year ago

Maybe it can be related to #629 too

blurfx commented 1 year ago

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

blurfx commented 11 months ago

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

gwbaik9717 commented 2 months ago

Could I give it a try? :)

hackerwins commented 2 months ago

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

blurfx commented 2 months ago

We have two options I think:

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.

chacha912 commented 2 months ago

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

hackerwins commented 2 months ago

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

@easylogic Thanks for your contribution.