I've been working for the last few evenings on writing a new ORM for node.js.Yeah, I know. Yet another ORM. I'm with you on that. So many ORMs, so many opinions. Just give me the tools to build what I need myself.
Well, that's what this is.
The core (https://github.com/Qard/corm) simply does data modelling, leaving out many things you might expect of bulkier ORMs. It's very minimal, with the intent of opinionated features existing in other modules. I'm actually hoping to pull even more out, but haven't decided what or how yet.To simplify the codebase and usage as much as possible, the library is built around the use of generators. It fits perfectly into a koa-based stack.I've written a few of my own modules for various things you might want to do with it.For validation, I created https://github.com/Qard/corm-jsonschema. For ability management I created https://github.com/Qard/corm-can. And I also wrote https://github.com/Qard/corm-can-koa to make corm-can easier to use with koa.Next on my list is to write something to add relations support. I'd love to hear people's thoughts on how they'd like to see that work. Or any thoughts anyone has on ORM implementations in general.
Yep. For now it's non-relational, but I'm going to put together a relations module probably this weekend.
I'll also be pulling out the mongo dependency in the next major version and supporting database-specific plugins. I haven't yet laid out the method signatures for that though. Hopefully Oracle doesn't copyright them first. ;)