mangadex/webpack.config.js
2021-03-19 13:06:32 -07:00

63 lines
1.3 KiB
JavaScript

const Dotenv = require('dotenv-webpack')
const path = require('path')
const merge = require('webpack-merge')
var config = {
entry: {
bundle: './scripts/js2/index.js',
},
output: {
path: path.resolve(__dirname, 'dist', 'js'),
filename: '[name].js'
},
plugins: [
new Dotenv({
path: './.env.local',
defaults: './.env',
})
]
}
module.exports = (env, argv) => {
if (argv.mode === 'development') {
config = merge(config, {
mode: 'development',
devtool: 'source-map',
output: {
filename: '[name].dev.js'
},
watch: true,
})
}
else if (argv.mode === 'production') {
config = merge(config, {
mode: 'production',
entry: {
polyfills: ['core-js', 'eligrey-classlist-js-polyfill', 'whatwg-fetch', 'formdata-polyfill'],
},
output: {
filename: '[name].prod.js'
},
module: {
rules: [
{
test: /\.m?js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
plugins: [
['@babel/transform-runtime']
],
presets: ['@babel/env'],
}
}
}
]
}
})
}
return config
}