node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org ยป

onm

Encapsule Project onm

Encapsule Project Object Namespace Manager (onm) library is a data-model-driven JavaScript data object/JSON factory and in-memory subsystem communication bus for building complex data-driven Node.js/HTML 5 client applications in JavaScript based on the the Model-Store-Observe-Feedback-Signal design pattern.

Package

The latest onm package is available via npm:

    npm install onm

See also: https://www.npmjs.org/package/onm

onm is distributed in CommonJS format for easiy use in node:

    var onm = requrie('onm');
    // onm blah blah blah...

onm is extremely useful in the client as well and is fully compatible. However, you will have to transform onm's CommonJS source for use in the browser using a build tool such as browserify.

I've been writing everything in CommonJS and using the grunt-browserify plug-in for Grunt to pack up everything I need for my HTML5 SPA (including onm), and it's been working well so far.

There are few related packages you might be interested in as well: onm-server-rest-routes, onm-client-rest-api, onmd-scdl...

Sources

Sources are available under MIT license on GitHub: Encapsule/onm

Documentation

onm's small API surface belies its power: Encapsule/onm/wiki