Melchior.js, ng-admin

2014-09-15 00:00:00 +0100 by Alex R. Young


Melchior.js (GitHub: voronianski / melchior.js, License: MIT, npm: melchiorjs) by Dmitri Voronianski is an implementation of the Chainable Module Definition concept introduced by John Wu.

The idea behind chainable modules solves several nasty AMD patterns like long lines of declaring dependencies and provides simplicity and readability with its' visual-friendly and clean syntax.

As CommonJS is more good for non-browser environments, chaining modules with requires fit perfectly for in-browser use cases.

Here's an example of the API:

// create module

// define dependencies
.require('dependencyDuo', 'duo')

// define module body
.body(function () {
  // `dependencyUno` is available here!

  // aliased `dependencyDuo` is available as `duo`!

  // return methods for other modules
  return {
    method: function () { ... },
    anotherMethod: function () { ... }

The readme has more examples including one for AngularJS. This API does seem more idiomatic than most module loaders, so it'll be interesting to see if it catches on.


Fran├žois Zaninotto sent in ng-admin (GitHub: marmelab / ng-admin, License: MIT), a cool project that adds an administration interface to RESTful CRUD APIs.

There's a demo on Amazon and documentation that shows how to configure ng-admin to use your application's entities. It copes with field mappings, and references. References can be 1-N, N-1, and many to many.

Fran├žois suggests that ng-admin is useful because if you're creating a lot of projects with different backends (MongoDB, MySQL, Node, Python) you can still add a platform-agnostic administration UI.

The same authors also made gremlins.js.