Echo JS 0.11.0

<~>
olalonde 1633 days ago.
https://github.com/olalonde/worm

Hi all,

I'm in the process of writing a Javascript ORM[0] from scratch[1]. I am somewhat dissatisfied with the current options (Sequelize and JugglingDB) so I've decided I'd give it a go. The ORM already does a lot of things well and I'm planning to officially release it in the next few days. I think it's quite usable in its current state although I wouldn't recommend it in production.

My question for the Echo JS community:

- Which features do you think are lacking in the current JS ORMs (Sequelize/JugglingDB)?

- What are the most important design goals / features / characteristics you look for in an ORM? (performance? user friendliness? level of abstraction? good documentation? etc.)

- Are you interested in contributing? Hit me up on Freenode (my nickname is olalonde).

- If you had the time to go through the README/tests in the Github repository, what are your thoughts so far?

Here is the Github repository: https://github.com/olalonde/worm ... more stars = more motivation for me, so don't hesitate to star if you're interested :)

PS: Don't bother telling me why you think ORMs are an abomination (I've heard your arguments before).

[0] I use ORM loosely here as I plan to support non relational data stores such as REST APIs, NoSQLs, etc. I also plan to have a browser build but it only runs on Node.js at the moment.

[1] I have considered contributing to existing ORMs but I feel Sequelize/JugglingDB have some fundamental design flaws which makes it hard to improve them incrementally. Plus, they have backwards compatibility concerns which I won't have to worry about. Finally, competition benefits everyone.

lkinc 1633 days ago. link 4 points
I am in search of ORM library for Meteor (http://meteor.com) (MongoDB in server and minimongo in client).

My requirements are all features must work seamlessly on server and client side.

Q: Which features do you think are lacking in the current JS ORMs?
A: - Validation
   - Associations

Q: What are the most important design goals / features / characteristics you look for in an ORM? (performance? user friendliness? level of abstraction? good documentation? etc.)
A: - Work seamlessly on server and client
   - Documentation

Q: Are you interested in contributing? Hit me up on Freenode (my nickname is olalonde).
A: Yes, of course. I try to implement Meteor's ORM on myself but failed.

Q: If you had the time to go through the README/tests in the Github repository, what are your thoughts so far?
A: Somethings:
- naming conversion: if you planning to Browser compatibility, you should not prefix method with $.
- validation: implement node-validator
olalonde 1632 days ago. link 2 points
I agree on pretty much every point. Spot on! What's the best way to get in touch with you by the way (you mentioned being interested in collaborating)?
pianoroy 1632 days ago. link 3 points
Just a comment that may be helpful: One of JavaScript's greatest strengths (and especially so in ES6 and beyond) is its strong support for functional patterns. One thing I appreciate about MS's Entity Framework is the strong support for functional patterns (a la LINQ) -- one can build a query by stringing together a series of higher-order functions, and the DB query is only executed when the expression is enumerated.

Any ORM that supports functional patterns (especially higher-order functions with delayed query execution/enumeration) will have my interest.