build.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* tslint:disable:no-console */
  2. const fs = require('fs');
  3. const { exec } = require('child_process');
  4. getLastCommitHash()
  5. .then(hash => writeBuildInfo(hash))
  6. .then(() => {
  7. console.log('Updated build info');
  8. process.exit(0);
  9. })
  10. .catch(err => {
  11. console.error(err);
  12. process.exit(1);
  13. });
  14. function writeBuildInfo(commitHash) {
  15. const corePackageJson = require('../packages/core/package');
  16. const content = {
  17. version: corePackageJson.version,
  18. commit: commitHash,
  19. };
  20. return new Promise((resolve, reject) => {
  21. fs.writeFile('./data/build.json', JSON.stringify(content, null, 2), err => {
  22. if (err) {
  23. reject(err);
  24. }
  25. resolve();
  26. });
  27. });
  28. }
  29. function getLastCommitHash() {
  30. return new Promise((resolve, reject) => {
  31. exec(`git log --pretty=format:'%h' -n 1`, (err, out) => {
  32. if (err) {
  33. reject(err);
  34. }
  35. resolve(out.replace(/'/g, ''));
  36. });
  37. });
  38. }