Nourishing Plushie Monster

    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

    Install

    npm i fragments

    DownloadsWeekly Downloads

    20

    Version

    1.0.0-beta.10

    License

    MIT

    Last publish

    Collaborators

    • snd