@kiyasov/noty
Version:
67 lines (64 loc) • 1.52 kB
JavaScript
const path = require("path");
const OptimizeCssAssetsPlugin = require("optimize-css-assets-webpack-plugin");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const webpack = require("webpack");
const distPath = path.join(__dirname, "/public");
module.exports = {
entry: {
main: __dirname + "/index.js",
},
output: {
filename: "bundle.js",
path: distPath,
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader",
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract({
fallback: "style-loader",
use: [
{
loader: "css-loader!resolve-url!sass-loader?sourceMap",
},
],
}),
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: [
{
loader: "css-loader",
},
],
}),
},
],
},
plugins: [
new ExtractTextPlugin("[name].css"),
new webpack.LoaderOptionsPlugin({
debug: false,
}),
new webpack.optimize.OccurrenceOrderPlugin(),
new OptimizeCssAssetsPlugin({
assetNameRegExp: /\.optimize\.css$/g,
cssProcessor: require("cssnano"),
cssProcessorOptions: { discardComments: { removeAll: true } },
canPrint: true,
}),
],
devServer: {
contentBase: distPath,
port: 5000,
compress: true,
open: true,
},
};