12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // 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, options) {
- options = options || {
- additional: true,
- umd: true,
- es6: true
- };
- if (options.additional) {
- // Publish additional packages from the config.
- processAdditionalPackages(version);
- }
- if (options.umd) {
- // Create the packages and publish if needed.
- processLegacyPackages(version);
- // Prepare umd Dev Folder.
- prepareUMDDevPackages();
- }
- if (options.es6) {
- // 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, options) {
- 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, options);
- // Invite user to tag with the new version.
- colorConsole.log("Done, please tag git with " + version);
- });
- }
- else {
- const version = versionNumberManager.getEngineVersion();
- createVersion(version, options);
- }
- };
|