MasterKale / SimpleWebAuthn

WebAuthn, Simplified. A collection of TypeScript-first libraries for simpler WebAuthn integration. Supports modern browsers, Node, Deno, and more.
https://simplewebauthn.dev
MIT License
1.62k stars 137 forks source link

Move from Lerna to alternative integration system (like Nx) #199

Closed ta1m1kam closed 2 years ago

ta1m1kam commented 2 years ago

Lerna is not maintained anymore. As a result, you may want to switch to an alternative solution (such as Nx).

MasterKale commented 2 years ago

Hello @TaigaMikami, this is a good issue. I've not been too hot on Lerna for a while, but it's offered the easiest publication workflow short of me writing my own so I kept it around. As you saw when working on your PR I abstracted away a lot of manual use of lerna so the project is definitely in a good place for consideration of some other monorepo management scheme.

I see you propose switching to Nx in #200. I'm not necessarily opposed to that, but there are many options these days that I wanted to spend some time researching (TurboRepo, npm workspaces, pnpm workspaces...)

Would you happen to have any experience with npm or pnpm and their workspaces feature? My thinking with starting here is that it's potentially one less dependency to have to juggle since npm is available by default with Node. I'm entertaining pnpm as well for its improved performance, which is something I'd personally want to benefit from.

MasterKale commented 2 years ago

Well this is an interesting turn of events, Nrwl (makers of NX) inherited Lerna:

https://github.com/lerna/lerna/issues/3121

Lerna v5.0.0 dropped today too: https://github.com/lerna/lerna/releases/tag/v5.0.0

Things just got hot 🔥

juristr commented 2 years ago

Even hotter as of today 😉 https://blog.nrwl.io/lerna-used-to-walk-now-it-can-fly-eab7a0fe7700?source=friends_link&sk=6c827ec7c9adfc1c760ff2e3f3e05cc7

MasterKale commented 2 years ago

@TaigaMikami Thank you for taking the time to look into switching to nx back when it appeared Lerna was dead. I went ahead and updated this project to use the latest Lerna v5.1.2 in #213, which included (naively) turning on nx support as per sections of the new Lerna docs. There may be further optimizations to be made to nx.json but based on the fact that CI is happy I think this will suffice for now.

I'm going to close this as the issue has been resolved ✌️