Simple asset assembly bot for compiling/combining client-side js and css files.
Last updated 7 years ago by elucidata .
MIT · Repository · Original npm · Tarball · package.json
$ cnpm install assembot 
SYNC missed versions from official npm registry.


What does it do?

AssemBot is a simple asset assembler for use in developing JS web apps. It's designed for my own preferred way of development, so YMMV.

It's rather like stitch, but not exactly. It compiles an entire directory into a single, commonjs moduled, javascript file. It will also create a single .css file from all the styles in a single directory. It will transpile where appropriate (CoffeeScript, eco, less, stylus).

If you don't like the default conventions, you can configure it in your package.json file.


npm install -g assembot

You don't have to install it globally, but it comes with a pre-configured binfile to make it quick to use on a project. (It defaults to compiling ./source into public/app.js and public/theme.css)


At it's simplest:

cd my_project

If you want to configure it via package.json, just add an assembot section to your package and run assembot.

  ... Other node/npm stuff ...
  "assembot": {
    "output/my_file.js": {
      "source": "./src"
      "minify": 1

If you've not installed it globally, then you'll need to add it as a dependency to your project, then:

npm install

Transpiler Support

Assembot will try to enable support for transpiling .coffee, .litcoffee, .eco, .less, and .styl files. It will also assemble .css, .js, and .html files. Any .html files become a module that exports the contents of the file as a string. Stylus support will attempt to enable Nib by default as well.

Token Replacement

In your sources files you can embed data defined in your package.json file by using a special token syntax: {%- -%}

If you have replaceTokens set to true, Assembot will attempt to replace all tokens in your sources files. It is enabled by default.

Default Configuration

The default AssemBot configuration from ./src/

  source: './source'
  ident: 'require'
  autoStart: no
  minify: 0 # 0=none, 1=minify, 2=mangle
  header: "/* Assembled by Assembot {%- assembot.version -%} */"
  replaceTokens: yes
    bare: yes
    literate: no

  port: 8080
  wwwRoot: './public'

  "public/app.js": exports.config
  "public/theme.css": exports.config


  • v0.1 = Make it work.
  • v0.2+ = Make it better.


  • Have it look in other places than just package.json, say: component.json, build.json, assembot.json, etc.

Current Tags

  • 0.2.6                                ...           latest (7 years ago)

12 Versions

  • 0.2.6                                ...           7 years ago
  • 0.2.5                                ...           7 years ago
  • 0.2.4                                ...           7 years ago
  • 0.2.3                                ...           7 years ago
  • 0.2.1                                ...           7 years ago
  • 0.2.0                                ...           7 years ago
  • 0.1.6                                ...           7 years ago
  • 0.1.4                                ...           7 years ago
  • 0.1.3                                ...           7 years ago
  • 0.1.2                                ...           7 years ago
  • 0.1.1                                ...           7 years ago
  • 0.1.0                                ...           7 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (14)
Dev Dependencies (2)
Dependents (1)

Copyright 2014 - 2016 © |