[Collection] Melchior.js, ng-admin, Hello.js, ineed

Original author: Alex Young
  • Transfer

Melchior.js


Melchior.js (GitHub: voronianski / melchior.js , License: MIT , npm: melchiorjs ) by Dmitri Voronianski is an implementation of the module definition chain (CMD) , a concept introduced by John Wu.
The idea behind the chaining definitions of modules resolves some of AMD’s unpleasant moments, such as voluminous dependency declarations, and also provides simplicity and readability using visually-friendly and clear syntax.

Just as CommonJS is more suitable for an out-of-browser environment, the chain definitions of the modules with their requirements fit perfectly into the in-browser use cases.


Here is an example of using this software interface (API):

// create module
melchiorjs.module('yourModule')
	// define dependencies
	.require('dependencyUno')
	.require('dependencyDuo', 'duo')
	// define module body
	.body(function () {
		// `dependencyUno` is available here!
		dependencyUno.doSomething();
		// aliased `dependencyDuo` is available as `duo`!
		duo.doSomething();
		// return methods for other modules
		return {
			method: function () {
				//...
			},
			anotherMethod: function () {
				//...
			}
		};
});


The readme file contains more examples, including one for AngularJS . This program interface (API) looks more idiomatic compared to most modular loaders. It will be interesting to see if this product becomes popular.

ng-admin


François Zaninotto has uploaded ng-admin information (GitHub: marmelab / ng-admin , License: MIT ), a cool project that adds an administration interface to your RESTful CRUD - interaction programming interfaces (APIs).

You can find a demo of the project on Amazon and documentation that shows how to configure ng-admin for use with the entities of your application. This solution is able to handle the mapping of fields and the relationships between entities. Links can be 1-N, N-1, and NM (many to many).

According to François, ng-admin is useful because if you create numerous projects with various backends (MongoDB, MySQL, Node, Python) you can still add a “platform-agnostic” administration interface.

The same author implemented gremlins.js .

Hello.js


Andrew Dodson uploaded information on hello.js (GitHub: MrSwitch / hello.js , License: MIT , npm: hellojs ), Client Development Kit (SDK) for authenticating with OAuth2 (and OAuth1 via oauth proxy ) web services and query execution to their REST API. This library is a unified interaction interface that normalizes paths and answers for Google Data , Facebook Graph and Windows Live Connect .

One of the benefits of hello.js is its modularity. Here you can find the modules for Dropbox., LinkedIn , SoundCloud , and Yahoo .

The program interface (API) of the module will allow you to define such things as jsonp functions, so it should be flexible enough to cover most modern services.

It's about HelloJS that has already gone to Hacker News , with a discussion of security aspects, and endorsements from users:

HelloJS is good. I used it in my last project. It just works. It is well tested and documented. The setup does not look confusing. It just worked like clockwork when I tried to set up OAuth accounts for Twitter , Google , LinkedIn and Facebook .

ineed


Ivan Nikulin wrote about parse5 , saying that he has a new SAX-style HTML parser on which the ineed project is based accordingly :

ineed allows you to collect useful data from web pages using a simple and pleasant software interface. Let's collect images, links, scripts and styles from www.google.com :

var ineed = require('ineed');
ineed.collect.images.hyperlinks.scripts.stylesheets.from('http://www.google.com',
  function (err, response, result) {
    console.log(result);
  });


Ineed internally uses HTML character streams (tokens), so it does not waste time building and traversing the DOM tree. It looks like the perfect solution for handling many different, inconvenient, selective tasks.

Tagging


Here is a translation of two articles by Alex Young. In the first article, and here is the second . Thanks for attention.

Also popular now: