// Dependecies. const prompt = require('prompt'); const path = require('path'); const colorConsole = require("../../NodeHelpers/colorConsole"); // Helpers. const versionNumberManager = require("./versionNumberManager"); const buildBabylonJSAndDependencies = require("./buildBabylonJSAndDependencies"); const processAdditionalPackages = require("./processAdditionalPackages"); const processLegacyPackages = require("./processLegacyPackages"); const processEs6Packages = require("./processEs6Packages"); const prepareUMDDevPackages = require("./prepareUMDDevPackages"); const prepareEs6DevPackages = require("./prepareEs6DevPackages"); // Path management. process.env.PATH += (path.delimiter + path.join(__dirname, '../node_modules', '.bin')); const createVersion = function(version) { // Publish additional packages from the config. processAdditionalPackages(version); // Create the packages and publish if needed. processLegacyPackages(version); // Prepare es6 Dev Folder. prepareUMDDevPackages(); // Do not publish es6 yet. process.env.BABYLONJSREALPUBLISH = false; processEs6Packages(version); // Prepare es6 Dev Folder. prepareEs6DevPackages(); } /** * Main function driving the publication. */ module.exports = function(production) { if (production) { prompt.start(); prompt.get(['version'], function (err, result) { const version = result.version; // Update the engine version if needed. if (!version || !version.length) { colorConsole.error("New version required."); Process.exit(1); return; } buildBabylonJSAndDependencies(); versionNumberManager.updateEngineVersion(version); versionNumberManager.updateRootPackageVersion(version); process.env.BABYLONJSREALPUBLISH = true; createVersion(version); // Invite user to tag with the new version. colorConsole.log("Done, please tag git with " + version); }); } else { const version = versionNumberManager.getEngineVersion(); createVersion(version); } };