yorkie-team / codepair

Build your own AI-powered collaborative markdown editor in just 5 minutes
https://codepair.yorkie.dev
Apache License 2.0
46 stars 19 forks source link

Introduce monorepo to manage packages #299

Open gwbaik9717 opened 4 weeks ago

gwbaik9717 commented 4 weeks ago

What would you like to be added:

Introduce a monorepo structure to manage the frontend and backend packages efficiently.

Why is this needed:

Implementing a monorepo in Coedepair will simplify and streamline package management across the project. Given that both the frontend and backend are built using TypeScript, adopting a monorepo will allow us to maximize code sharing and consistency across the codebase.

Additional Information: There are several options available for setting up a monorepo, including lerna, turborepo, and pnpm. Among these, pnpm might be great option due to several reasons:

  1. Given that our sibling project, Yorkie-JS-SDK, is already using pnpm to manage its monorepo, it would be advantageous to align our approach for consistency.
  2. "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." by @blurfx

Related to: https://github.com/yorkie-team/yorkie-js-sdk/issues/648

devleejb commented 4 weeks ago

Considering the consistency in the management area, pnpm seems like a good choice.