seasketch / next

A modernization version of the SeaSketch platform, released in 2022.
https://seasketch.org
BSD 3-Clause "New" or "Revised" License
6 stars 0 forks source link

Use npm workspaces rather than lerna for monorepo dependency managment #671

Open underbluewaters opened 7 months ago

underbluewaters commented 7 months ago

I'm using a very outdated version of lerna and npm has gained a lot of monorepo management features since this project started. Using lerna causes a lot of problems:

It is time to ditch lerna for a more modern setup.

twelch commented 7 months ago

You might find it doesn't quite do everything you want, simpler always better if it does. I remember reviewing when it came out a couple years ago

twelch commented 7 months ago

Lerna now using Nx is faster.

Turf is now using a combo of pnpm, lerna, monorepolint to coordinate everything it does for reference.

underbluewaters commented 7 months ago

Do you know if there's any archived discussion of adopting those tools for turf?

My thinking now is to keep things as simple as I can get away with. It would be nice to easily adopt something like Bun in the future.

twelch commented 7 months ago

There's a little bit of discussion here, I would say the idea was not to do a complete rewrite, just upgrade and replace when necessary - https://github.com/Turfjs/turf/pull/2555. Note turf already was using monorepolint, which had a follow-on PR to work with pnpm - https://github.com/Turfjs/turf/pull/2557.

I can't tell you exactly which needs necessitated the addition of each tool. I've been considering what to do with geoprocessing in the new year.