mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-13 01:07:18 +00:00
79 lines
1.7 KiB
JavaScript
79 lines
1.7 KiB
JavaScript
let path = require('path');
|
|
let webpack = require('webpack');
|
|
let MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
|
|
module.exports = function(_, env) {
|
|
return {
|
|
mode: env.mode || 'development',
|
|
entry: './src/index',
|
|
resolve: {
|
|
extensions: ['.ts', '.js', '.scss', '.css'],
|
|
alias: {
|
|
style: path.join(__dirname, 'src/style')
|
|
}
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.s?css$/,
|
|
use: [
|
|
MiniCssExtractPlugin.loader,
|
|
{ loader: 'css-loader' },
|
|
// 'sass-loader?includePaths='+encodeURIComponent(path.join(__dirname, 'node_modules'))
|
|
{
|
|
loader: 'sass-loader',
|
|
options: {
|
|
includePaths: [path.join(__dirname, 'node_modules')]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
test: /\.ts$/,
|
|
// loader: 'awesome-typescript-loader'
|
|
loader: 'typescript-loader'
|
|
},
|
|
{
|
|
test: /\.js$/,
|
|
loader: 'babel-loader',
|
|
options: {
|
|
presets: [
|
|
['env', {
|
|
loose: true,
|
|
uglify: true,
|
|
modules: false,
|
|
targets: {
|
|
browsers: 'last 2 versions'
|
|
},
|
|
exclude: [
|
|
'transform-regenerator',
|
|
'transform-es2015-typeof-symbol'
|
|
]
|
|
}]
|
|
],
|
|
plugins: [
|
|
'syntax-dynamic-import',
|
|
'transform-decorators-legacy',
|
|
'transform-class-properties',
|
|
'transform-object-rest-spread',
|
|
'transform-react-constant-elements',
|
|
'transform-react-remove-prop-types',
|
|
['transform-react-jsx', {
|
|
pragma: 'h'
|
|
}],
|
|
['jsx-pragmatic', {
|
|
module: 'preact',
|
|
export: 'h',
|
|
import: 'h'
|
|
}]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
plugins: [
|
|
new webpack.optimize.SplitChunksPlugin({})
|
|
]
|
|
};
|
|
};
|