diff --git a/blueocean-dashboard/package.json b/blueocean-dashboard/package.json index 3bfc870a..fa57f3a3 100644 --- a/blueocean-dashboard/package.json +++ b/blueocean-dashboard/package.json @@ -36,7 +36,7 @@ }, "dependencies": { "@jenkins-cd/design-language": "0.0.67", - "@jenkins-cd/js-extensions": "0.0.20", + "@jenkins-cd/js-extensions": "0.0.21-beta4", "@jenkins-cd/js-modules": "0.0.5", "@jenkins-cd/sse-gateway": "0.0.7", "immutable": "3.8.1", diff --git a/blueocean-personalization/package.json b/blueocean-personalization/package.json index d219e8e3..d7ea4100 100644 --- a/blueocean-personalization/package.json +++ b/blueocean-personalization/package.json @@ -35,7 +35,7 @@ }, "dependencies": { "@jenkins-cd/design-language": "0.0.67", - "@jenkins-cd/js-extensions": "0.0.20", + "@jenkins-cd/js-extensions": "0.0.21-beta4", "@jenkins-cd/js-modules": "0.0.5", "@jenkins-cd/sse-gateway": "0.0.7", "immutable": "3.8.1", diff --git a/blueocean-web/package.json b/blueocean-web/package.json index 58124d74..5fea63b5 100644 --- a/blueocean-web/package.json +++ b/blueocean-web/package.json @@ -26,7 +26,7 @@ }, "dependencies": { "@jenkins-cd/design-language": "0.0.67", - "@jenkins-cd/js-extensions": "0.0.20", + "@jenkins-cd/js-extensions": "0.0.21-beta4", "@jenkins-cd/js-modules": "0.0.5", "history": "2.0.2", "immutable": "3.8.1", diff --git a/js-extensions/@jenkins-cd/js-builder.js b/js-extensions/@jenkins-cd/js-builder.js index ff7c6316..b613dfcb 100644 --- a/js-extensions/@jenkins-cd/js-builder.js +++ b/js-extensions/@jenkins-cd/js-builder.js @@ -7,7 +7,7 @@ /** * Install the js-builder plugin. This function will be called by js-builder. */ -exports.install = function() { +exports.install = function(builder) { var jsBundle = require('./subs/extensions-bundle'); var cssBundle = require('./subs/css-bundle'); @@ -19,4 +19,22 @@ exports.install = function() { // Save extensions JSON again. jsBundle.setJSExtensionsJSON(extensionsJSON); } + + // + // Defaulting the NODE_ENV to "production" so as to optimize + // bundle generation. This ensures that e.g. the react dev tools are + // disabled by default. + // + // If you need a "development" bundle then build the bundle by hand, + // supplying a "NODE_ENV" arg e.g. + // + // $ gulp bundle --NODE_ENV development + // + // We can build this into the mvn build later if this proves to be + // a bit painful. + // + process.env.NODE_ENV = builder.args.argvValue('--NODE_ENV', 'production'); + builder.onPreBundle(function (bundler) { // See https://github.com/jenkinsci/js-builder#onprebundle-listeners + bundler.transform(require('envify')); + }); }; diff --git a/js-extensions/package.json b/js-extensions/package.json index a4108243..0592b0e1 100644 --- a/js-extensions/package.json +++ b/js-extensions/package.json @@ -1,6 +1,6 @@ { "name": "@jenkins-cd/js-extensions", - "version": "0.0.20", + "version": "0.0.21-beta4", "description": "Jenkins Extension Store", "main": "index.js", "files": [ @@ -39,6 +39,7 @@ }, "dependencies": { "js-yaml": "^3.6.0", + "envify": "3.4.1", "@jenkins-cd/js-modules": "0.0.5" } }