const Path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const LiveReloadPlugin = require('webpack-livereload-plugin')
const WebpackPwaManifest = require('webpack-pwa-manifest')
module.exports = {
entry: './src/index.js',
mode: process.env.NODE_ENV || 'development',
devServer: {
contentBase: Path.join(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.m?js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react']
}
}
}
]
},
plugins: [
new HtmlWebpackPlugin({
meta: {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no'}
}),
new WebpackPwaManifest({
name: 'CHANGEME',
short_name: 'changeme',
description: 'This is an installable app.',
background_color: '#ffffff',
icons: [
{
src: Path.resolve('src/assets/placeholder_icon.png'),
sizes: [96, 128, 192, 256, 384, 512]
}
],
inject: true,
orientation: 'omit'
}),
new LiveReloadPlugin({
appendScriptTag: true
})
]
}