|
|
|
@ -1,12 +1,14 @@ |
|
|
|
|
/* eslint-disable no-undef */ |
|
|
|
|
const path = require('path'); |
|
|
|
|
const webpack = require('webpack'); |
|
|
|
|
const ExtractTextPlugin = require('extract-text-webpack-plugin'); |
|
|
|
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); |
|
|
|
|
const GitRevisionPlugin = require('git-revision-webpack-plugin'); |
|
|
|
|
const gitRevisionPlugin = new GitRevisionPlugin(); |
|
|
|
|
|
|
|
|
|
module.exports = { |
|
|
|
|
|
|
|
|
|
mode: 'production', |
|
|
|
|
|
|
|
|
|
bail: true, |
|
|
|
|
|
|
|
|
|
devtool: 'source-map', |
|
|
|
@ -36,15 +38,15 @@ module.exports = { |
|
|
|
|
{ |
|
|
|
|
test: /\.js$/, |
|
|
|
|
enforce: 'pre', |
|
|
|
|
loader: require.resolve('eslint-loader'), |
|
|
|
|
loader: 'eslint-loader', |
|
|
|
|
include: path.resolve(__dirname, '../src/js'), |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
test: /\.js$/, |
|
|
|
|
use: [ |
|
|
|
|
require.resolve('template-string-optimize-loader'), |
|
|
|
|
'template-string-optimize-loader', |
|
|
|
|
{ |
|
|
|
|
loader: require.resolve('babel-loader'), |
|
|
|
|
loader: 'babel-loader', |
|
|
|
|
options: { |
|
|
|
|
compact: true, |
|
|
|
|
presets: ['env'] |
|
|
|
@ -54,32 +56,30 @@ module.exports = { |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
test: /\.scss$/, |
|
|
|
|
use: ExtractTextPlugin.extract({ |
|
|
|
|
fallback: require.resolve('style-loader'), |
|
|
|
|
use: [ |
|
|
|
|
{ |
|
|
|
|
loader: require.resolve('css-loader'), |
|
|
|
|
options: { |
|
|
|
|
importLoaders: 1, |
|
|
|
|
minimize: true, |
|
|
|
|
sourceMap: true |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
loader: require.resolve('postcss-loader'), |
|
|
|
|
options: { |
|
|
|
|
config: { |
|
|
|
|
path: path.join(__dirname, 'postcss.config.js') |
|
|
|
|
} |
|
|
|
|
use: [ |
|
|
|
|
MiniCssExtractPlugin.loader, |
|
|
|
|
{ |
|
|
|
|
loader: 'css-loader', |
|
|
|
|
options: { |
|
|
|
|
importLoaders: 1, |
|
|
|
|
minimize: true, |
|
|
|
|
sourceMap: true |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
loader: 'postcss-loader', |
|
|
|
|
options: { |
|
|
|
|
config: { |
|
|
|
|
path: path.join(__dirname, 'postcss.config.js') |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
require.resolve('sass-loader') |
|
|
|
|
] |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
'sass-loader', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
test: /\.(png|jpg)$/, |
|
|
|
|
loader: require.resolve('url-loader'), |
|
|
|
|
loader: 'url-loader', |
|
|
|
|
options: { |
|
|
|
|
'limit': 40000 |
|
|
|
|
} |
|
|
|
@ -100,17 +100,7 @@ module.exports = { |
|
|
|
|
DPLAYER_VERSION: `"${require('../package.json').version}"`, |
|
|
|
|
GIT_HASH: JSON.stringify(gitRevisionPlugin.version()) |
|
|
|
|
}), |
|
|
|
|
new webpack.optimize.UglifyJsPlugin({ |
|
|
|
|
compress: { |
|
|
|
|
warnings: false |
|
|
|
|
}, |
|
|
|
|
output: { |
|
|
|
|
comments: false, |
|
|
|
|
ascii_only: true |
|
|
|
|
}, |
|
|
|
|
sourceMap: true |
|
|
|
|
}), |
|
|
|
|
new ExtractTextPlugin({ |
|
|
|
|
new MiniCssExtractPlugin({ |
|
|
|
|
filename: '[name].min.css' |
|
|
|
|
}) |
|
|
|
|
], |
|
|
|
|