bankai
Streaming {js,html,css} compiler
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.
readableStream = assets.static([req], [res])
Return a static
stream. Don't set any header. Useful to serve static assets
like images, icons, fonts, etc. Uses send 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