node package manager

bankai

bankai

Streaming {js,html,css} compiler

API stability NPM version Build Status Test Coverage Downloads Standard

Philosophy

Building things takes time. Configuring tooling takes time. We believe that by taking modular tools, and wrapping them in a zero-configuration package we can help people iterate faster and produce better results. And once people are deep enough into a project that they might need something different, we make sure they can easily create their own tooling from the components we use.

Usage

  Usage:
    $ bankai <command> [options]
 
  Commands:
    <default>                      Run 'bankai start'
    start <filename>               Start a bankai server
    build <filename> <directory>   Compile and export files to a directory
    inspect <filename>             Visualize the dependency tree
 
    Options:
      -a, --assets=<directory>  Serve static assets [default: assets]
      -A, --address=<ip>      Ip address to listen [default: localhost]
      -c, --css=<subargs>     Pass subarguments to sheetify
      -d, --debug             Include sourcemaps [default: false]
      -e, --electron          Enable electron mode for the bundler
      -h, --help              Print usage
      -H, --html=<subargs>    Pass subarguments to create-html
      -j, --js=<subargs>      Pass subarguments to browserify
      -o, --open=<browser>    Open html in a browser [default: system default]
      -p, --port=<n>          Bind bankai to a port [default: 8080]
      -V, --verbose           Include debug messages
      -w, --watch <bool>      Toggle watch mode
      -u, --uglify <bool>     Toggle uglifyify. [default: true]
 
  Examples:
    $ bankai index.js -p 8080            # start bankai on port 8080
    $ bankai index.js --open             # open html in the browser
    $ bankai -c [ -u sheetify-cssnext ]  # use cssnext in sheetify
    $ bankai -j [ -t brfs ]              # use brfs in browserify
    $ bankai build index.js dist/        # compile and export to dist/
 
  Notes:
    When specifying both --watch and --uglify using the long form, you must omit
    the = when specifying them to be turned off.
 
  Examples:
    bankai example.js --open=firefox-aurora -p 3000
    bankai example.js --uglify false -w false

API

assets = bankai(entryFile, [opts])

Create a new instance of bankai. The first argument is a route to the entry file that is compiled by browserify. The second argument is optional and can take the following options:

  • opts.js: (default: {}). Pass options to browserify. Cannot be disabled
  • opts.css: (default: {}). Pass options to sheetify. Set to false to disable
  • opts.html: (default: {}). Pass options to create-html. Set to false to disable
  • opts.watch: Disable livereload scripts
  • opts.electron: (default false). Enable electron mode for the bundler. Relies on index.html being served as a static file using file:// to ensure require() paths are resolved correctly
  • opts.assert: (default: true) disable all calls to require('assert')

readableStream = assets.js([req], [res])

Return a js stream. Sets correct header values if req and res are passed. Uses browserify and watchify under the hood.

readableStream = assets.html([req], [res])

Return a html stream. Sets correct header values if req and res are passed. Uses create-html under the hood.

readableStream = assets.css([req], [res])

Return a css stream. Sets correct header values if req and res are passed. Uses sheetify under the hood.

Installation

$ npm install bankai

Uglify toggle

Uglify only supports JavaScript syntax up to ES5. If you want to use later syntax you'll need to either disable the uglifyify transform with --uglify=false or add a compiler to convert your ES5+ syntax down to ES5.

See Also

Similar Packages

License

MIT