Skip to content

choojs/bankai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:https:// 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