tbo47 / dagre-es

The dagrejs library exported as ES modules.
Other
33 stars 14 forks source link

Dagre is active again #26

Closed sidharthv96 closed 2 months ago

sidharthv96 commented 1 year ago

Seems like the https://www.npmjs.com/package/@dagrejs/dagre?activeTab=versions is getting new updates and is maintained.

timkpaine commented 1 year ago

Many of us that rely/built on top of dagre have moved over to dagre-es. From what I can tell, @rustedgrail is solo maintaining the @dagrejs org (perhaps because he has write privileges on the dagre repos but not on the npm org?). It doesn't really look "maintained" yet, but I think we can work to get some of @tbo47 and @aloisklink's fixes if they were to be given write privilege under the main org.

Screenshot 2023-07-26 at 10 00 43
aloisklink commented 1 year ago

I've made a comment in https://github.com/dagrejs/dagre/issues/352#issuecomment-1652653687 letting @rustedgrail know about this dagre-es fork.

From my point of view, I'd be happy to copy over some of the code from the dagre-es repo into the @dagrejs/dagre repo (everything is under an MIT license after-all), but many of the changes in dagre-es (like going ESM-only) are BREAKING changes, so it would depend on how @rustedgrail wants to proceed.

rustedgrail commented 1 year ago

You are correct, I have permissions for the dagrejs org, but not the other libraries. I pinged the authors a few times once I saw I didn't have those permissions, but never heard back.

I'm happy to look over and approve any PRs and don't mind breaking changes. I want to move to ES modules, but haven't gotten there yet.

tbo47 commented 1 year ago

I would be happy to help dagre or continue maintain dagre-es. My only goal is to have a maintained version of dagre.

aloisklink commented 1 year ago

You are correct, I have permissions for the dagrejs org, but not the other libraries.

That's probably fine, it's probably easier to have all the packages under a single @dagrejs NPM organization, to make it easier to share permissions with new maintainers.

Once there is a @dagrejs/dagre, @dagrejs/dagre-d3, @dagrejs/graphlib package, it would be nice if the old authors ran a npm deprecate "dagre" "This package is no longer being developed. Please use the @dagrejs/dagre NPM package instead.".


I'm happy to look over and approve any PRs and don't mind breaking changes. I want to move to ES modules, but haven't gotten there yet.

This might be a bit difficult! I think we'd first need to get the old karma browser-based tests working in this dagre-es repo, then we should be able to copy everything from this repo over to the existing dagrejs/* repos.

We'd have to do it step-by-step too, upgrade dagrejs/graphlib to use ESM and make a new NPM release, then we can upgrade dagrejs/dagre to use the ESM version of dagrejs/graphlib, then we can upgrade dagrejs/dagre-d3 to use the ESM version of dagrejs/dagre.

Honestly, it might be even easier to just move this repo into the @dagrejs GitHub organization, and redo any recent changes from @dagrejs/dagre onto this Git repo.

tbo47 commented 1 year ago

I noticed that dagre-es was forked on https://github.com/dagrejs/

I don't really like the idea of it bc: 1/ we now have 3 sets of projects: the old code base, my fork and the new fork. It is super confusing for end users. 2/ I loose rights on my fork. So if the maintainers on the official dagrejs disappear again we will need to fork again.

rustedgrail commented 1 year ago

I've removed the fork and npm project. I think I can publish from this repo to the NPM org, but that still doesn't give you permission to publish new changes to NPM.

The nice thing about having everything under the Dagre org, is that the original, pre-org, projects still get a lot of downloads and link people to the GitHub repo. There are still issues being opened there and the README points people to the org version of the projects.

tbo47 commented 1 year ago

I like the idea of having 1 project under Dagre org but would prefer to do it if we have full control on the Dagre org github repo. David, you have limited access rights on the github repo, I have none.