A component.io based builder for making JS packages
CoffeeScript JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
test
types
.gitignore
Makefile
README.md
build.coffee
package.json

README.md

#apps-b-builder

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

Codeship Status for intermine/apps-b-builder

##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