npm's personal messenger
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


    crunchicorn: Simplifying the web toolchain

    The JavaScript ecosystem is complex and continually evolving. This is an attempt to simplify it. Goals of this project:

    • Provide an out-of-the-box toolchain for JS/CSS projects
    • Highly opinionated sensible defaults
    • Embrace modern standards
    • Command line tool (plays well with other tools, including shell scripts, make, npm run, etc)
    • 'Batteries included' toolchain: ES2015 (and more) transpiling, enforce coding standards, ES import module packaging, shrinking, testing, CSS pre-processing
    • Designed for browser apps - you don't need to know NodeJS
    • Agnostic about client side frameworks (use React, Angular, jQuery, Polymer, Ember, nothing... it doesn't care)
    • No server-side coupling: it just compiles your client side code. It's up to you what you use on the server (Rails, Node, Go, Java, ASP.NET, PHP, static webserver...)

    crunchicorn takes two arguments:

    1. An entry point .js for your app in a source tree consisting of ES2015 code, modules, CSS, etc.
    2. An output .js file that can be included in your final web page with a single <script src=...> element. Transpiled, resolved, validated, crunched, everything.

    crunchicorn was born out of frustration with how complicated it is to get JavaScript tooling setup for real world projects.

    10 second tutorial

    Assuming you keep your source tree in src/, which contains ES2015 syntax code, imports, CSS, etc, and the entry point is src/myapp.js.

    This single command (no config necessary) will do everything to validate, transpile, resolve modules, drop dead code, and compress into a single file:

    $ crunchicorn src/myapp.js out/myapp.js

    The resulting file is now ready to be used directly in your web-app. It will include all dependencies and even inject your CSS:

    <script src="myapp.js"></script>

    Voila. No config - it just worked!

    Example projects


    File watching

    You can leave crunchicorn running and it will automatically rebuild whenever it notices any files have changed:

    $ crunchicorn --watch src/myapp.js out/myapps.js


    Install globally:

    $ npm install -g crunchicorn

    Alternatively, install just for your current project:

    $ npm install --save-dev crunchicorn

    Or in package.json:

      "dependencies": {
         "crunchicorn": "*"

    Note: If not installed globally, you'll need to include node_module/.bin in your path


    For help:

    $ crunchicorn --help

    Under the hood


    npm i crunchicorn

    Downloadsweekly downloads








    last publish


    • avatar