diff options
Diffstat (limited to 'config/webpack/loaders')
-rw-r--r-- | config/webpack/loaders/assets.js | 12 | ||||
-rw-r--r-- | config/webpack/loaders/babel.js | 5 | ||||
-rw-r--r-- | config/webpack/loaders/coffee.js | 4 | ||||
-rw-r--r-- | config/webpack/loaders/erb.js | 9 | ||||
-rw-r--r-- | config/webpack/loaders/sass.js | 14 |
5 files changed, 44 insertions, 0 deletions
diff --git a/config/webpack/loaders/assets.js b/config/webpack/loaders/assets.js new file mode 100644 index 000000000..595f073fc --- /dev/null +++ b/config/webpack/loaders/assets.js @@ -0,0 +1,12 @@ +const { env, publicPath } = require('../configuration.js') + +module.exports = { + test: /\.(jpg|jpeg|png|gif|svg|eot|ttf|woff|woff2)$/i, + use: [{ + loader: 'file-loader', + options: { + publicPath, + name: env.NODE_ENV === 'production' ? '[name]-[hash].[ext]' : '[name].[ext]' + } + }] +} diff --git a/config/webpack/loaders/babel.js b/config/webpack/loaders/babel.js new file mode 100644 index 000000000..c608e708f --- /dev/null +++ b/config/webpack/loaders/babel.js @@ -0,0 +1,5 @@ +module.exports = { + test: /\.js(\.erb)?$/, + exclude: /node_modules/, + loader: 'babel-loader' +} diff --git a/config/webpack/loaders/coffee.js b/config/webpack/loaders/coffee.js new file mode 100644 index 000000000..dae874249 --- /dev/null +++ b/config/webpack/loaders/coffee.js @@ -0,0 +1,4 @@ +module.exports = { + test: /\.coffee(\.erb)?$/, + loader: 'coffee-loader' +} diff --git a/config/webpack/loaders/erb.js b/config/webpack/loaders/erb.js new file mode 100644 index 000000000..4cd7d6849 --- /dev/null +++ b/config/webpack/loaders/erb.js @@ -0,0 +1,9 @@ +module.exports = { + test: /\.erb$/, + enforce: 'pre', + exclude: /node_modules/, + loader: 'rails-erb-loader', + options: { + runner: 'bin/rails runner' + } +} diff --git a/config/webpack/loaders/sass.js b/config/webpack/loaders/sass.js new file mode 100644 index 000000000..2cb0e759a --- /dev/null +++ b/config/webpack/loaders/sass.js @@ -0,0 +1,14 @@ +const ExtractTextPlugin = require('extract-text-webpack-plugin') +const { env } = require('../configuration.js') + +module.exports = { + test: /\.(scss|sass|css)$/i, + use: ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: [ + { loader: 'css-loader', options: { minimize: env.NODE_ENV === 'production' } }, + 'postcss-loader', + 'sass-loader' + ] + }) +} |