DEV Community

Cover image for rbd is dead, long life rfd!

Posted on • Updated on

rbd is dead, long life rfd!

📢 @react-forked/dnd is now @hello-pangea/dnd. For more details:

react-beautiful-dnd a.k.a. rbd isn’t actively maintained anymore. I’ve decided to fork the project to give it a second life. It’s called @react-forked/dnd or rfd. Try it!

The discovery 🤩

A year and half ago, I was looking for a drag and drop library with an excellent user experience. After multiple queries through my favorite search engine, I finally found it!

I discovered react-beautiful-dnd (rbd). I was impressed (and still is) by how natural it felt to drag an element on the screen using this library.

rbd thumbs up kid

Thanks to the dedication and passionate work of the author, maintainers and the community of rbd, this well-crafted library lets us integrate amazing drag and drop behavior to our applications. It’s easy to use and easy to implement in any react codebase. 🎉

But like all good libraries it has its limitations. For examples it does not support trees or grid layout out-of-the-box. It’s perfect when we implement simple drag and drop behaviors, but it can become a blocker when we need more complex interactions.

At the time I was hoping someone would tackle those issues, by adding new features in future releases.

The honeymoon phase was over 💔

I had open a pull request to allow react v17 as a peer dependencies and got no answer. I realized that something was off. The repo seemed to have been abandoned. No commits were added to the main branch and issues were piling up without being answered.

I decided to open this issue to ask what was happening and suggested that it might be time for the community to take over and maintain the project. No one answered, so I decided to fork of the library and called it @react-forked/dnd (rfd).

The first thing I wanted to tackle was something the maintainer of rbd also planned to do. It was to migrate the codebase from Flow to TypeScript.

The principal reason was that the community adoption of TypeScript was constantly growing year after year compared to Flow and I was personally more comfortable with TypeScript.

I started the migration more than a year ago. It was very challenging and after a couple of weeks working on the migration I started to lose interest. It was taking a lot of my time and I was still hoping that someone would come back to keep maintaining rbd.

I recently realized that I was wrong when I saw the following 👇 added to the of the rbd repo.

⚠️ Maintenance & support

This library continues to be relied upon heavily by Atlassian products, but we are focused on other priorities right now and have no current plans for further feature development or improvements.

It will continue to be here on GitHub and we will still make critical updates (e.g. security fixes, if any) as required, but will not be actively monitoring or replying to issues and pull requests.

We recommend that you don’t raise issues or pull requests, as they will not be reviewed or actioned until further notice.

It gave me the motivation to finish what I’ve started and it’s exactly what I’ve done in the past weeks.

Time for a second life 🐣

This blog post is to announce the release of rfd version v14.0.0 and to let you know what to expect from this new chapter in the life of the library!

What does this new version includes? To be honest not that much. The goal was to have a fresh start with a TypeScript codebase and the latest version of most libraries.

  • Feature parity (except for Flow support)
  • Codebase migrated to TypeScript
  • Libraries upgraded
  • Tested with react v16 and v17
  • Changed all data-rbd-* to data-rfd-*

What’s next? 👀

I plan to maintain this amazing library, by making sure its dependencies and peer dependencies are up to date, by adding new features and by making sure bugs are fixed as soon as possible.

I’ll have a roadmap of what I plan to work on in the upcoming weeks and I’ll take the time go over the issues on the rbd repo to help plan this.

I’ll also try to leverage the discussions tab to give you as much visibility as I can on what is being worked on, to gather your feedback and to have a place for the community to share and discuss.

In conclusion, thank you again for the author of this amazing library. I have big shoes to fill and I’ll need to gain your trust, but I hope to make this new journey a success. Let's see where it takes us!

Here’s the repo:

Top comments (1)

doko profile image
Quan Pham

Thanks for the contribution!