yorkie-js-sdk
yorkie-js-sdk copied to clipboard
Introduce Turborepo to manage packages
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.
- Related to https://github.com/yorkie-team/yorkie-js-sdk/pull/646 and https://github.com/yorkie-team/yorkie-js-sdk/pull/643
- Liveblocks: https://github.com/liveblocks/liveblocks
Why:
Maybe it can be related to #629 too
I'll try this with using pnpm. If there's a problem, we can discuss it in a pull request later.
Considering #643 and #688, it would be good to control versioning with changesets when introducing monorepo.
Could I give it a try? :)
@blurfx, @chacha912, @gwbaik9717 It looks like we could introduce turborepo or pnpm. Which one looks better?
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.
@blurfx, I agree. It would also be good to refer to the work that @easylogic previously attempted. #746
@chacha912 We updated various libraries that were causing problems at that time. I think we could succeed this time.
@easylogic Thanks for your contribution.