Probably prosemirror. I don't know that it's built in by default, but it's well within prosemirror's model, so it shouldn't require a large investment to use.
That said, prosemirror's got a pretty steep learning curve.
That said, prosemirror's got a pretty steep learning curve.
For a definition list, you’d probably want two node types: a definition list, and a definition list item.
And then create toDOM and parseDOM methods to render and parse respectively the html you want.