finds.dev← search

// the find

bevacqua/dragula

★ 22,146 · JavaScript · MIT · updated Jun 2024

:ok_hand: Drag and drop so simple it hurts

Dragula is a vanilla JavaScript drag-and-drop library from 2015 that requires zero configuration to get basic list reordering working. It predates the HTML5 drag-and-drop API's widespread adoption and filled a real gap when it was written. Today it's a legacy choice — the last real release was years ago, and the ecosystem has moved on.

The API surface is genuinely small: one function call with optional callbacks, no mandatory CSS classes to wire up beyond the bundled stylesheet. The shadow preview that shows where an element will land is implemented correctly and feels natural. Touch event support was ahead of its time when this shipped. The event model covers every meaningful state transition (drag, drop, cancel, remove, shadow, over, out, cloned) without forcing you into a framework lifecycle.

The project is effectively unmaintained — no releases since 2017, hundreds of open issues, and the Slack support channel link in the README is dead. It commits dist files to the repo, which is a red flag for a library. No TypeScript types in the package itself (community @types exist but lag). The `direction` option is binary (vertical or horizontal) with no support for grid/free-form layouts, which means any 2D drag scenario requires you to work around the library rather than with it. The Angular 1 bridge being listed as 'official' tells you how old the mental model is.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →