const { environment } = require('@rails/webpacker') const { VueLoaderPlugin } = require('vue-loader') const vue = require('./loaders/vue')
environment.plugins.prepend('VueLoaderPlugin', new VueLoaderPlugin())
environment.loaders.prepend('vue', vue);
module.exports = {
toWebpackConfig () { return [webpackConfig, webpackConfigForServer] }
}
let webpackConfig = environment.toWebpackConfig(); let webpackConfigForServer = Object.assign({}, webpackConfig); let _entry = Object.assign({}, webpackConfig.entry); webpackConfig.entry = {};
Object.keys(_entry).forEach((entry_key) => {
if (entry_key === "vue_server_render") { let _module = Object.assign({}, webpackConfig.module); _module.rules = Object.assign([], webpackConfig.module.rules); _module.rules.unshift({ test: /\.(c|sa|sc)ss$/, loader: 'null-loader' }); webpackConfigForServer.module = _module; webpackConfigForServer.entry = {}; webpackConfigForServer.entry[entry_key] = _entry[entry_key]; webpackConfigForServer.devServer = {} } else { webpackConfig.entry[entry_key] = _entry[entry_key]; }
});