yorkie-js-sdk icon indicating copy to clipboard operation
yorkie-js-sdk copied to clipboard

Introduce Turborepo to manage packages

Open hackerwins opened this issue 1 year ago • 3 comments

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:

hackerwins avatar Sep 15 '23 07:09 hackerwins

Maybe it can be related to #629 too

blurfx avatar Sep 15 '23 08:09 blurfx

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

blurfx avatar Sep 23 '23 06:09 blurfx

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

blurfx avatar Nov 18 '23 12:11 blurfx

Could I give it a try? :)

gwbaik9717 avatar Jul 25 '24 08:07 gwbaik9717

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

hackerwins avatar Jul 25 '24 09:07 hackerwins

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 avatar Jul 25 '24 09:07 blurfx

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

chacha912 avatar Jul 25 '24 10:07 chacha912

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

@easylogic Thanks for your contribution.

hackerwins avatar Jul 25 '24 10:07 hackerwins