Core libraries and tools part for pro architecture. It's a submodule - use from this perspective http://git.maniak.pro/madmaniak/pro
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

66 lines
2.1 KiB

const webpack = require('webpack');
const CompressionPlugin = require("compression-webpack-plugin");
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const path = require('path');
module.exports = {
mode: 'production',
cache: false,
context: __dirname,
entry: '../../../services/init',
node: {
__dirname: true
},
output: {
path: __dirname + '/../../../public',
filename: 'bundle.js'
},
optimization: {
minimize: true,
minimizer: [
new UglifyJsPlugin({
exclude: [/\.min\.js$/gi] // skip pre-minified libs
})
]
},
devtool: 'cheap-module-source-map',
plugins: [
new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/]),
new webpack.NoEmitOnErrorsPlugin(),
new CompressionPlugin({
asset: "[path].gz[query]",
algorithm: "gzip",
test: /\.js$|\.css$|\.html$/,
threshold: 10240,
minRatio: 0
})
],
module: {
rules: [
{
test: /\.(s?c|sa)ss$/,
use: [
{ loader: 'style-loader' },
{ loader: 'css-loader' },
{ loader: 'sass-loader', options: { outputStyle: 'expanded' } }
]
},
{
test: /\.(jpe?g|png|gif|svg)$/i,
use: [
{ loader: 'url-loader', options: { limit: 8192 } },
{ loader: 'img-loader' }
]
},
{ test: /\.woff$/, use: [ { loader: 'url-loader', options: { limit: 65000, mimetype: 'application/font-woff', name: 'public/fonts/[name].[ext]' } } ] },
{ test: /\.woff2$/, use: [ { loader: 'url-loader', options: { limit: 65000, mimetype: 'application/font-woff2', name: 'public/fonts/[name].[ext]' } } ] },
{ test: /\.[ot]tf$/, use: [ { loader: 'url-loader', options: { limit: 65000, mimetype: 'application/octet-stream', name: 'public/fonts/[name].[ext]' } } ] },
{ test: /\.eot$/, use: [ { loader: 'url-loader', options: { limit: 65000, mimetype: 'application/vnd.ms-fontobject', name: 'public/fonts/[name].[ext]' } } ] },
{ test: /\.imba/, use: [ 'imba/loader' ]},
{ test: /\.coffee/, use: [ 'coffee-loader' ]}
]
},
resolve: {
extensions: ['.imba', '.js', '.coffee' ]
}
};