apps-b-builder

A component.io based builder for making modular JS packages

#apps-b-builder

A component.io based builder for making modular JS components.

##Quick Start

Globally install the npm package:

$ sudo npm install apps-b-builder -g

Then specify the input and output path to build a component:

# relative to current working directory
$ apps-b ./src/ ./build/

##Create a component

A component consists of one component.json config file and one or more source file. Script source files use the CommonJS Modules/1.1 implementation so you use require and module.exports to link between modules & components. This is a standard in the Node.js community.

###Component config file

To write a component config file in JSON refer to the standard.

{
    "name": "app",
    // Which file do we require as the main file. 
    "main": "app.js",
    "version": "1.0.0",
    // Other components. 
    "dependencies": {
        "visionmedia/superagent": "*",
        "necolas/normalize.css": "*",
        "component/marked": "*"
    },
    "scripts": [
        "app.coffee",
        "template.eco"        
    ],
    "styles": [
        "styles/fonts.css",
        "styles/app.styl"
    ]
}

###Supported types

Have a look into the test/fixtures directory for examples of supported filetypes:

  1. CoffeeScript; compile-to-JS language, goes into the scripts section
  2. CSS, goes into the styles section
  3. Eco; a templating language, goes into the scripts section
  4. JavaScript, goes into the scripts section
  5. Literate CoffeeScript; mix Markdown and CS syntax, goes into the scripts section
  6. Stylus; a CSS preprocessor including nib CSS3 extensions, goes into the styles section

###JavaScript API

You can programatically build files too:

build = require './build.coffee'
 
build [ './src/''./build/' ](err) ->
    throw err if err

##Test it

Tests using Mocha:

$ npm install -d
$ make test