Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
underbluewaters opened this issue Dec 26, 2023 · 4 comments

Comments

@underbluewaters
Copy link
Contributor

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's slow
  • SeaSketch uses an out of date version. Upgrading to the latest lerna requires the use of workspaces, and then it becomes unnecessary.
  • Simple features like removing a dependency are missing
  • I get transient build errors on CI which are hard to debug.

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

@twelch
Copy link

twelch commented Dec 26, 2023

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
Copy link

twelch commented Dec 26, 2023

Lerna now using Nx is faster.

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

@underbluewaters
Copy link
Contributor Author

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
Copy link

twelch commented Dec 26, 2023

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 - Turfjs/turf#2555. Note turf already was using monorepolint, which had a follow-on PR to work with pnpm - Turfjs/turf#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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Infra Backlog
Development

No branches or pull requests

2 participants