diff --git a/client/components/NavBar.jsx b/client/components/NavBar.jsx index 4628339caf424a249a59e14b33c6df9615f49f7e..18e3eea24f60c966c570cf2eb0a2b4897c8c456f 100644 --- a/client/components/NavBar.jsx +++ b/client/components/NavBar.jsx @@ -97,7 +97,7 @@ class NavBar extends React.Component { <Link className="navbar-item" to='/graders'>Manage graders</Link> <Link className="navbar-item has-text-info" to='/reset'>reset</Link> <div className="navbar-item"> - <i>Version 0.6.4</i> + <i>Version { __COMMIT_HASH__ }</i> </div> </div> </div> diff --git a/package.json b/package.json index 89cf2a34da146df8626be10c358251f584568b31..45da96d967b3a69bc595b93ef24d9c3fb90b92dc 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "font-awesome": "^4.7.0", "fuse.js": "^3.2.0", "get-closest": "^0.0.4", + "git-revision-webpack-plugin": "^3.0.3", "html-webpack-plugin": "^3.2.0", "mini-css-extract-plugin": "^0.4.0", "mousetrap": "^1.6.1", diff --git a/webpack.dev.js b/webpack.dev.js index d8dc133ef765578bfc22f2a10136b94f1784fc29..9ca388ea33906d1acbdea3d2c53755ceb63dcd20 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -2,6 +2,11 @@ const webpack = require('webpack'); const merge = require('webpack-merge'); const common = require('./webpack.common.js'); +const commitHash = require('child_process') + .execSync('git rev-parse --short HEAD') + .toString() + .trim(); + module.exports = merge(common, { mode: 'development', module: { @@ -29,6 +34,9 @@ module.exports = merge(common, { plugins: [ new webpack.EvalSourceMapDevToolPlugin({ sourceURLTemplate: module => `/${module.identifier}` + }), + new webpack.DefinePlugin({ + __COMMIT_HASH__: JSON.stringify(commitHash + '-dev'), }) ] }) \ No newline at end of file diff --git a/webpack.prod.js b/webpack.prod.js index 43bf21545fa635b9a43c1146931fee70388d7d57..d01f43de959dab69536f07a640d7538d362c7ae8 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -5,6 +5,11 @@ const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); const common = require('./webpack.common.js'); +const commitHash = require('child_process') + .execSync('git rev-parse --short HEAD') + .toString() + .trim(); + module.exports = merge(common, { mode: 'production', @@ -36,6 +41,9 @@ module.exports = merge(common, { new MiniCssExtractPlugin({ filename: "[name].css", chunkFilename: "[id].css" + }), + new webpack.DefinePlugin({ + __COMMIT_HASH__: JSON.stringify(commitHash + '-prod'), }) ] }) \ No newline at end of file