/** * 2007-2017 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License 3.0 (AFL-3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/AFL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA * @copyright PrestaShop SA * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) * International Registered Trademark & Property of PrestaShop SA */ const webpack = require('webpack'); const path = require('path'); const ExtractTextPlugin = require("extract-text-webpack-plugin"); let config = { entry: { main: [ './js/theme.js', './css/theme.scss' ] }, output: { path: path.resolve(__dirname, '../assets/js'), filename: 'theme.js' }, module: { rules: [ { test: /\.js/, loader: 'babel-loader' }, { test: /\.scss$/, use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: [ { loader: 'css-loader', options: { minimize: true } }, 'postcss-loader', 'sass-loader' ] }) }, { test: /.(png|woff(2)?|eot|ttf|svg)(\?[a-z0-9=\.]+)?$/, use: [ { loader: 'file-loader', options: { name: '../css/[hash].[ext]' } } ] }, { test : /\.css$/, use: ['style-loader', 'css-loader', 'postcss-loader'] } ] }, externals: { prestashop: 'prestashop', $: '$', jquery: 'jQuery' }, plugins: [ new ExtractTextPlugin(path.join('..', 'css', 'theme.css')) ] }; config.plugins.push( new webpack.optimize.UglifyJsPlugin({ sourceMap: false, compress: { sequences: true, conditionals: true, booleans: true, if_return: true, join_vars: true, drop_console: true }, output: { comments: false }, minimize: true }) ); module.exports = config;