UNPKG

ribs-admin-bundle-templates

Version:
65 lines (64 loc) 1.65 kB
const path = require('path'); const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin"); module.exports = { entry: { 'js/index': './source/js/index.js', 'js/tables': './source/js/tables.js', 'js/form': './source/js/form.js', 'js/login': ['./source/js/login/particles.js', './source/js/login/app.js'], 'css/style': './source/scss/style.js', 'css/mobile': './source/scss/mobile.js' }, output: { path: path.resolve(__dirname, './dist'), }, module: { rules: [ { test: /\.js$/, include: [ path.join(__dirname, 'source/'), path.join(__dirname, 'node_modules/ribs-core/'), path.join(__dirname, 'node_modules/ribs-api/') ], loader: 'babel-loader', }, { test: /\.scss$/, exclude: /node_modules/, use: [ MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader', ], }, { test: /.(ttf|otf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/, use: [ { loader: 'file-loader', options: { name: '[name].[ext]', outputPath: 'fonts/', publicPath: '../fonts/' } } ] } ] }, plugins: [ new UglifyJsPlugin(), new MiniCssExtractPlugin({ filename: '[name].min.css', chunkFilename:'[name].min.css', }) ], optimization: { minimizer: [ new OptimizeCSSAssetsPlugin({}) ] }, };