Simple webpack plugin that generates VERSION
and COMMITHASH
files during build based on a local git repository.
Given a webpack project, install it as a local development dependency:
npm install --save-dev git-revision-webpack-plugin
Then, simply configure it as a plugin in the webpack config:
var GitRevisionPlugin = require('git-revision-webpack-plugin')
module.exports = {
plugins: [
new GitRevisionPlugin()
]
}
It outputs a VERSION
based on git-describe such as:
v0.0.0-34-g7c16d8b
And a COMMITHASH
such as:
7c16d8b1abeced419c14eb9908baeb4229ac0542
If you need lightweight tags support, you may turn on lighweithTags
option in this way:
var GitRevisionPlugin = require('git-revision-webpack-plugin')
module.exports = {
plugins: [
new GitRevisionPlugin({ lightweightTags: true })
]
}
It is also possible to use two path substituitions on build to get either the revision or version as part of output paths.
[git-revision-version]
[git-revision-hash]
Example:
module.exports = {
output: {
publicPath: 'http://my-fancy-cdn.com/[git-revision-version]/',
filename: '[name]-[git-revision-hash].js'
}
}
The VERSION
and COMMITHASH
are also exposed through a public API.
Example using the DefinePlugin:
var gitRevisionPlugin = new GitRevisionPlugin()
module.exports = {
plugins: [
new DefinePlugin({
'VERSION': JSON.stringify(gitRevisionPlugin.version()),
'COMMITHASH': JSON.stringify(gitRevisionPlugin.commithash()),
})
]
}