Created: 2011-07-06 18:43
Updated: 2014-02-28 13:02
License: bsd-2-clause


Banner creates headers automatically, by parsing package.json, the npm standard for versioning nodejs packages. It also uses git describe to add a git tag & revision.

It's used in Wax to eliminate one of the headaches of distributed-client-library development.

Include it in your devDependencies, like

"devDependencies": {
  "banner": "0.0.x"

Then use it in a makefile, like

BANNER = ./node_modules/.bin/banner

    mkdir dist
    $(BANNER) package.json > dist/header.js

It generates a header like

/* wax - 4.0.0 - 1.0.4-423-g2fe4c52 */

where the format is:


And then you'll have less of a headache figuring out what version of a client-side library you, or someone else, is using, since every file has a concise comment describing the specific version and, if it's a development build beyond a certain tag, the exact git tree it was built from.

Minification tools like uglifyjs maintain the first comment in a file, so even minified versions will retain this versioning information.


  • Tom MacWright (tmcw)
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more