A Browserify tranform to require Git describe information at transform time
npm install git-describeify


This browserify transform calls
git-describe
with the provided arguments on the working directory or any other directory and
parses the output to individual components. On build/transform time the
git-describe information will be injected so that it can be used in, for example,
browser served applications which have no access to the local file system.
Available from npm:
``sh`
$ npm i git-describeify
Tests are not included in the npm package —
clone the git repository to run tests.
git-describeify uses the node git-describe module.
During transform, require('git-describeify') is replaced with the
git-describe object.
`sh`
$ browserify -t git-describeify
or by putting it in the package.json.
`json`
{
"browserify": {
"transform": [
"git-describeify"
]
}
}
js
// Require the module the arguments passed to git-describe
require('git-describeify', argument1, argument2, argument3, ...);// For example
const gitInfo = require('git-describeify');
// Transforms into:
const gitInfo = {
dirty: false,
hash: 'g3c9c15b',
distance: 6,
tag: 'v2.1.0-beta',
semver: SemVer, // SemVer instance, see https://github.com/npm/node-semver
suffix: '6-g3c9c15b',
raw: 'v2.1.0-beta-6-g3c9c15b',
semverString: '2.1.0-beta+6.g3c9c15b'
}
`$3
`js
// Target working directory
const gitInfo = require('git-describeify');// Target the directory of the calling script
// Recommended when you want to target the repo your app resides in
const gitInfo = require('git-describeify', __dirname);
// With options (see https://www.npmjs.com/package/git-describe)
const gitInfo = require('git-describeify', __dirname, {
longSemver: true,
dirtySemver: false
});
// Another example: working directory, use 16 character commit hash abbreviation
const gitInfo = require('git-describeify', {
customArguments: ['--abbrev=16']
});
`Example output
`javascript
{
dirty: false,
hash: 'g3c9c15b',
distance: 6,
tag: 'v2.1.0-beta',
semver: SemVer, // SemVer instance, see https://github.com/npm/node-semver
suffix: '6-g3c9c15b',
raw: 'v2.1.0-beta-6-g3c9c15b',
semverString: '2.1.0-beta+6.g3c9c15b'
}
`More information
See git-describe for more information about the usage of the git-describe package.
Test
Tests can be run by cloning the repository and running the following command.
`sh
$ npm install
$ npm test
``[1]: https://git-scm.com/docs/git-describe
[2]: http://semver.org/