main.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. // Dependecies.
  2. const prompt = require('prompt');
  3. const path = require('path');
  4. const colorConsole = require("../../NodeHelpers/colorConsole");
  5. // Helpers.
  6. const versionNumberManager = require("./versionNumberManager");
  7. const buildBabylonJSAndDependencies = require("./buildBabylonJSAndDependencies");
  8. const processAdditionalPackages = require("./processAdditionalPackages");
  9. const processLegacyPackages = require("./processLegacyPackages");
  10. const processEs6Packages = require("./processEs6Packages");
  11. const prepareUMDDevPackages = require("./prepareUMDDevPackages");
  12. const prepareEs6DevPackages = require("./prepareEs6DevPackages");
  13. // Path management.
  14. process.env.PATH += (path.delimiter + path.join(__dirname, '../node_modules', '.bin'));
  15. const createVersion = function(version) {
  16. // Publish additional packages from the config.
  17. processAdditionalPackages(version);
  18. // Create the packages and publish if needed.
  19. processLegacyPackages(version);
  20. // Prepare es6 Dev Folder.
  21. prepareUMDDevPackages();
  22. // Do not publish es6 yet.
  23. process.env.BABYLONJSREALPUBLISH = false;
  24. processEs6Packages(version);
  25. // Prepare es6 Dev Folder.
  26. prepareEs6DevPackages();
  27. }
  28. /**
  29. * Main function driving the publication.
  30. */
  31. module.exports = function(production) {
  32. if (production) {
  33. prompt.start();
  34. prompt.get(['version'], function (err, result) {
  35. const version = result.version;
  36. // Update the engine version if needed.
  37. if (!version || !version.length) {
  38. colorConsole.error("New version required.");
  39. Process.exit(1);
  40. return;
  41. }
  42. buildBabylonJSAndDependencies();
  43. versionNumberManager.updateEngineVersion(version);
  44. versionNumberManager.updateRootPackageVersion(version);
  45. process.env.BABYLONJSREALPUBLISH = true;
  46. createVersion(version);
  47. // Invite user to tag with the new version.
  48. colorConsole.log("Done, please tag git with " + version);
  49. });
  50. }
  51. else {
  52. const version = versionNumberManager.getEngineVersion();
  53. createVersion(version);
  54. }
  55. };