diff --git a/cms/envs/common.py b/cms/envs/common.py index 31b53faebb67..e507d87b0e57 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -1015,6 +1015,9 @@ ##### EMBARGO ##### EMBARGO_SITE_REDIRECT_URL = None +##### custom vendor plugin variables ##### +ADDITIONAL_NODE_ENV_VARS = {} + ############################### PIPELINE ####################################### PIPELINE = { diff --git a/common/lib/xmodule/xmodule/modulestore/tests/factories.py b/common/lib/xmodule/xmodule/modulestore/tests/factories.py index 0298efdbcb2f..7253de707517 100644 --- a/common/lib/xmodule/xmodule/modulestore/tests/factories.py +++ b/common/lib/xmodule/xmodule/modulestore/tests/factories.py @@ -26,7 +26,6 @@ from xmodule.modulestore import ModuleStoreEnum, prefer_xmodules from xmodule.modulestore.tests.sample_courses import TOY_BLOCK_INFO_TREE, default_block_info_tree from xmodule.tabs import CourseTab -from xmodule.x_module import DEPRECATION_VSCOMPAT_EVENT LOG = logging.getLogger(__name__) diff --git a/pavelib/assets.py b/pavelib/assets.py index 52c6cfdbce82..06af97750d77 100644 --- a/pavelib/assets.py +++ b/pavelib/assets.py @@ -5,6 +5,7 @@ import argparse import glob +import json import os import traceback from datetime import datetime @@ -765,10 +766,14 @@ def webpack(options): result = Env.get_django_settings(['STATIC_ROOT', 'WEBPACK_CONFIG_PATH'], "lms", settings=settings) static_root_lms, config_path = result static_root_cms, = Env.get_django_settings(["STATIC_ROOT"], "cms", settings=settings) - environment = 'NODE_ENV={node_env} STATIC_ROOT_LMS={static_root_lms} STATIC_ROOT_CMS={static_root_cms}'.format( + additional_node_env_vars = json.dumps(Env.get_django_settings("ADDITIONAL_NODE_ENV_VARS", "cms", + settings=settings).replace("'", '"')) # pylint: disable=no-member + environment = 'NODE_ENV={node_env} STATIC_ROOT_LMS={static_root_lms} STATIC_ROOT_CMS={static_root_cms} \ + ADDITIONAL_NODE_ENV_VARS={additional_node_env_vars}'.format( node_env="development" if config_path == 'webpack.dev.config.js' else "production", static_root_lms=static_root_lms, - static_root_cms=static_root_cms + static_root_cms=static_root_cms, + additional_node_env_vars=additional_node_env_vars ) sh( cmd( diff --git a/webpack.dev.config.js b/webpack.dev.config.js index 913d773caca3..fb453977588f 100644 --- a/webpack.dev.config.js +++ b/webpack.dev.config.js @@ -20,7 +20,8 @@ module.exports = _.values(Merge.smart(commonConfig, { debug: true }), new webpack.DefinePlugin({ - 'process.env.NODE_ENV': JSON.stringify('development') + 'process.env.NODE_ENV': JSON.stringify('development'), + 'process.env.ADDITIONAL_NODE_ENV_VARS': JSON.stringify(process.env.ADDITIONAL_NODE_ENV_VARS) }) ], module: { diff --git a/webpack.prod.config.js b/webpack.prod.config.js index 360ab56d4d01..e5fe67ebe8fc 100644 --- a/webpack.prod.config.js +++ b/webpack.prod.config.js @@ -17,7 +17,8 @@ var optimizedConfig = Merge.smart(commonConfig, { devtool: false, plugins: [ new webpack.DefinePlugin({ - 'process.env.NODE_ENV': JSON.stringify('production') + 'process.env.NODE_ENV': JSON.stringify('production'), + 'process.env.ADDITIONAL_NODE_ENV_VARS': JSON.stringify(process.env.ADDITIONAL_NODE_ENV_VARS) }), new webpack.LoaderOptionsPlugin({ // This may not be needed; legacy option for loaders written for webpack 1 minimize: true