fragments

1.0.0-beta.10 • Public • Published

fragments

fragments has beta status. it's been in production use for over a year. things are quite settled now. i aim for release in fall/winter 2015. expect some breakage until then but not much. i won't support any but the newest version.

the documentation in this readme is work in progress and currently unfinished !

BETA NPM Package Build Status codecov.io Dependencies Downloads per Month

fragments structures web applications with (request time) dependency injection

hello-world.js is a minimal fragments app contained in a single file with only around 50 lines of code. when called with ./hello-world.js serve it starts a http server on the port that is set in the environment variable PORT. that server responds to http GET requests to path /hello-world with ContentType text/plain and body Hello world. it responds with status code 404 Not Found to all other requests.

var factories = {
  server: function(
    commonMiddlewarePrelude,
    sequenz,
    actionHelloWorld,
    notFound
  ) {
    return sequenz([
      commonMiddlewarePrelude,
      actionHelloWorld,
      notFound
    ]);
  },
  notFound: function(
    MIDDLEWARE
  ) {
    return MIDDLEWARE(function(
      endNotFound
    ) {
      endNotFound();
    });
  },
  endHelloWorld: function(
    end200Text
  ) {
    end200Text('Hello world');
  },
  actionHelloWorld: function(
    GET
  ) {
    return GET('/hello-world', function(
      endHelloWorld
    ) {
      endHelloWorld();
    })
  }
};
 
// thats it for the application code !
// below is just configuration boilerplate.
// it's needed only once per app.
 
var fragments = require('fragments');
var hinoki = require('hinoki');
 
var source = hinoki.source([
  factories,
  fragments.source,
  fragments.umgebung
]);
 
var source = hinoki.decorateSourceToAlsoLookupWithPrefix(source, 'fragments_');
 
var app = fragments(source);
 
app.runCommand();

expect a detailed walkthrough soon.

see the example app as well.
entry point is example/app.
there are integration tests for the example app.

fragments builds on top of hinoki: effective yet simple dependency injection and more for Node.js and browsers

license: MIT

Dependents (0)

Package Sidebar

Install

npm i fragments

Weekly Downloads

0

Version

1.0.0-beta.10

License

MIT

Last publish

Collaborators

  • snd