[ANN] corm - a simple, composable, generator-supported orm

84 views
Skip to first unread message

Stephen Belanger

unread,
May 14, 2014, 2:24:27 AM5/14/14
to nod...@googlegroups.com
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.

Aria Stewart

unread,
May 14, 2014, 9:00:12 AM5/14/14
to nod...@googlegroups.com
On May 14, 02014, at 2:24, Stephen Belanger <ad...@stephenbelanger.com> wrote:

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.

Wow. I love the concept and the visible API looks great!

Not exactly mapping onto relations of any sort, though, since you’re mapping to Mongo objects, right?

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.

I definitely love this super modular approach!

Aria
signature.asc

Stephen Belanger

unread,
May 14, 2014, 11:24:48 AM5/14/14
to nod...@googlegroups.com

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. ;)

Reply all
Reply to author
Forward
0 new messages