npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

assembot

v0.2.6

Published

Simple asset assembly bot for compiling/combining client-side js and css files.

Downloads

44

Readme

AssemBot

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.

Installation

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)

Usage

At it's simplest:

cd my_project
assembot

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
./node_modules/.bin/assembot

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: {%- package.author -%}

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/defaults.coffee:

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


exports.options=
  port: 8080
  wwwRoot: './public'


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

Roadmap

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

Todo

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