about summary refs log tree commit diff
path: root/config/webpack
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2018-09-13 13:33:29 +0200
committerThibG <thib@sitedethib.com>2018-09-13 15:32:02 +0200
commit2df72d06978eb9790a8023f6e1f06df1ec18201a (patch)
tree5c652e34cd50f54e62d43eb8289b9ae8049cacda /config/webpack
parent307fb338ee4432a933ad8c8efe70b1a78d8b3bc0 (diff)
Fix building assets in test environment
Webpacker (Ruby wrapper to webpack) uses RAILS_ENV-based environments while
the javascript configuration for webpack re-reads this configuration file using
the NODE_ENV environment variable. This means that when RAILS_ENV=test, running
“assets:precompile” compiled the production packs in “public/packs” while
webpacker expects them in “public/packs-test”. This causes Ruby to recompile
them on-the-fly, possibly leading to race conditions in parallel_tests.

This changes:
- Disables on-the-fly compilation in test environment
- Changes the javascript part to read the correct environment
Diffstat (limited to 'config/webpack')
-rw-r--r--config/webpack/configuration.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/config/webpack/configuration.js b/config/webpack/configuration.js
index 4d0d28582..f81d23dd4 100644
--- a/config/webpack/configuration.js
+++ b/config/webpack/configuration.js
@@ -8,7 +8,7 @@ const glob = require('glob');
 
 const configPath = resolve('config', 'webpacker.yml');
 const loadersDir = join(__dirname, 'loaders');
-const settings = safeLoad(readFileSync(configPath), 'utf8')[env.NODE_ENV];
+const settings = safeLoad(readFileSync(configPath), 'utf8')[env.RAILS_ENV || env.NODE_ENV];
 const flavourFiles = glob.sync('app/javascript/flavours/*/theme.yml');
 const skinFiles = glob.sync('app/javascript/skins/*/*');
 const flavours = {};