version_plugin.js 537 B

12345678910111213141516171819202122232425
  1. const commit = require('git-rev-sync').short();
  2. const pkg = require('../package.json');
  3. const version = JSON.stringify({
  4. commit,
  5. source: pkg.homepage,
  6. version: process.env.CIRCLE_TAG || `v${pkg.version}`
  7. });
  8. class VersionPlugin {
  9. apply(compiler) {
  10. compiler.hooks.emit.tap('VersionPlugin', compilation => {
  11. compilation.assets['version.json'] = {
  12. source() {
  13. return version;
  14. },
  15. size() {
  16. return version.length;
  17. }
  18. };
  19. });
  20. }
  21. }
  22. module.exports = VersionPlugin;