From ab1cec2a78e222be6da44828ff6b1ef0d83c111a Mon Sep 17 00:00:00 2001
From: Tamlyn Rhodes <tamlyn@tamlyn.org>
Date: Thu, 26 Apr 2018 13:50:20 +0100
Subject: [PATCH] fix: update production Webpack config

Remove ExtractTextPlugin since it's no use with Styled Components
Remove separate rules definition per environment because they had drifted out of sync
Enable GraphQL endpoint with new server config param
---
 config/default.js                          |  1 +
 styleguide.config.js                       |  2 +-
 webpack/{rules.development.js => rules.js} |  0
 webpack/rules.production.js                | 60 ----------------------
 webpack/webpack.development.config.js      |  2 +-
 webpack/webpack.production.config.js       |  4 +-
 webpack/webpack.test.config.js             |  2 +-
 7 files changed, 5 insertions(+), 66 deletions(-)
 rename webpack/{rules.development.js => rules.js} (100%)
 delete mode 100644 webpack/rules.production.js

diff --git a/config/default.js b/config/default.js
index 27e3fd2..fdf9914 100644
--- a/config/default.js
+++ b/config/default.js
@@ -15,6 +15,7 @@ module.exports = {
     port: 3000,
     logger,
     uploads: 'uploads',
+    enableExperimentalGraphql: true,
     typeDefs: `
       type Manuscript {
         id: ID!
diff --git a/styleguide.config.js b/styleguide.config.js
index f630d33..3fc843c 100644
--- a/styleguide.config.js
+++ b/styleguide.config.js
@@ -13,7 +13,7 @@ module.exports = {
   ],
   webpackConfig: {
     module: {
-      rules: require('./webpack/rules.development.js'),
+      rules: require('./webpack/rules.js'),
     },
   },
   context: {
diff --git a/webpack/rules.development.js b/webpack/rules.js
similarity index 100%
rename from webpack/rules.development.js
rename to webpack/rules.js
diff --git a/webpack/rules.production.js b/webpack/rules.production.js
deleted file mode 100644
index 0fe8d5b..0000000
--- a/webpack/rules.production.js
+++ /dev/null
@@ -1,60 +0,0 @@
-const ExtractTextPlugin = require('extract-text-webpack-plugin')
-const include = require('./babel-includes')
-const stringReplaceRule = require('./string-replace')
-
-module.exports = [
-  stringReplaceRule,
-  {
-    oneOf: [
-      // ES6 JS
-      {
-        test: /\.jsx?$/,
-        include,
-        loader: 'babel-loader',
-        options: {
-          presets: [
-            [require('babel-preset-env'), { modules: false }],
-            require('babel-preset-react'),
-            require('babel-preset-stage-2'),
-          ],
-        },
-      },
-
-      // CSS Modules
-      {
-        test: /\.local\.css$/,
-        include,
-        use: ExtractTextPlugin.extract({
-          fallback: 'style-loader',
-          use: [
-            {
-              loader: 'css-loader',
-              options: {
-                modules: true,
-                localIdentName: '[name]_[local]-[hash:base64:8]',
-              },
-            },
-          ],
-        }),
-      },
-
-      // global CSS
-      {
-        test: /\.css$/,
-        use: ExtractTextPlugin.extract({
-          fallback: 'style-loader',
-          use: ['css-loader'],
-        }),
-      },
-
-      // files
-      {
-        exclude: [/\.jsx?$/, /\.html$/, /\.json$/],
-        loader: 'file-loader',
-        options: {
-          name: 'static/media/[name].[hash:8].[ext]',
-        },
-      },
-    ],
-  },
-]
diff --git a/webpack/webpack.development.config.js b/webpack/webpack.development.config.js
index 83b1750..354a963 100644
--- a/webpack/webpack.development.config.js
+++ b/webpack/webpack.development.config.js
@@ -2,7 +2,7 @@ const config = require('config')
 const path = require('path')
 const webpack = require('webpack')
 const CopyWebpackPlugin = require('copy-webpack-plugin')
-const rules = require('./rules.development')
+const rules = require('./rules')
 const resolve = require('./common-resolve')
 
 module.exports = [
diff --git a/webpack/webpack.production.config.js b/webpack/webpack.production.config.js
index be12bca..cad182c 100644
--- a/webpack/webpack.production.config.js
+++ b/webpack/webpack.production.config.js
@@ -5,11 +5,10 @@ const config = require('config')
 const path = require('path')
 const webpack = require('webpack')
 const CleanWebpackPlugin = require('clean-webpack-plugin')
-const ExtractTextPlugin = require('extract-text-webpack-plugin')
 const HtmlWebpackPlugin = require('html-webpack-plugin')
 const CopyWebpackPlugin = require('copy-webpack-plugin')
 const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
-const rules = require('./rules.production')
+const rules = require('./rules')
 const resolve = require('./common-resolve')
 
 module.exports = [
@@ -47,7 +46,6 @@ module.exports = [
         [config.authsome.mode]: config.authsome.mode,
         [config.validations]: config.validations,
       }),
-      new ExtractTextPlugin('styles/main.css'),
       new CopyWebpackPlugin([{ from: '../static' }]),
       new webpack.optimize.AggressiveMergingPlugin(),
       new webpack.optimize.OccurrenceOrderPlugin(),
diff --git a/webpack/webpack.test.config.js b/webpack/webpack.test.config.js
index 4d92d99..2ebb4c9 100644
--- a/webpack/webpack.test.config.js
+++ b/webpack/webpack.test.config.js
@@ -2,7 +2,7 @@ const config = require('config')
 const path = require('path')
 const webpack = require('webpack')
 const CopyWebpackPlugin = require('copy-webpack-plugin')
-const rules = require('./rules.development')
+const rules = require('./rules')
 const resolve = require('./common-resolve')
 
 module.exports = [
-- 
GitLab