Banner
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
dist_setup:
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:
/* PROJECT_NAME - PACKAGE_TAG - GIT_HEAD */
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.
Authors
- Tom MacWright (tmcw)