InversifyJS icon indicating copy to clipboard operation
InversifyJS copied to clipboard

Migrate to Monorepo

Open Lord-Valen opened this issue 2 years ago • 3 comments

CC @acald-creator @PodaruDragos @Jameskmonger

In the Inversify Discord server, moving the inversify projects to a monorepo was being discussed. I find that these sorts of things usually benefit from a tracking issue so that a clear goal is defined and anyone can pick up the task. The general consensus appears to be that the repos would be migrated to npm/yarn workspaces. Lerna and NX were considered. I would like to open that up to include Rush and Turborepo. If shying away from workspaces, then NX and Turborepo are preferable for their caching and fast build times.

Lord-Valen avatar Jan 03 '24 21:01 Lord-Valen

My idea was, if, we have "native" support for monorepos using workspaces, just go with that. for example as preact does.

@Lord-Valen If you want to pick that up, feel free to give it a go.

PodaruDragos avatar Jan 04 '24 13:01 PodaruDragos

I would say package manager workspaces are not good enough.

Monorepo frameworks solves a lot of problems when working with monorepos, the first that comes to my mind is: given a task, which packages should be targeted? Which is the best execution plan given the actual package dependencies?

After having tried old lerna, new lerna, nx and turborepo, I highly prefer turborepo over the other ones. It's very actively maintained, popular, suported by vercel and mature enought to go for it imho.

notaphplover avatar Jan 05 '24 11:01 notaphplover

I just randomly stumbled upon this thread after starting to use inversify. I can recommend moon as another monorepo tool. I have only experience with nx and moon though, but I thought I'll add it to your list...

FunkMonkey avatar Jul 12 '24 13:07 FunkMonkey