mirror of
https://github.com/titaniumnetwork-dev/Ultraviolet.git
synced 2025-05-13 12:00:01 -04:00
48 lines
1.1 KiB
JavaScript
48 lines
1.1 KiB
JavaScript
import webpack from 'webpack';
|
|
import { fileURLToPath } from 'url';
|
|
import TerserPlugin from 'terser-webpack-plugin';
|
|
import CopyPlugin from 'copy-webpack-plugin';
|
|
|
|
const isDevelopment = process.env.NODE_ENV !== 'production';
|
|
|
|
/**
|
|
* @type {webpack.Configuration}
|
|
*/
|
|
const config = {
|
|
mode: isDevelopment ? 'development' : 'production',
|
|
entry: {
|
|
bundle: fileURLToPath(new URL('./src/rewrite/index.js', import.meta.url)),
|
|
handler: fileURLToPath(new URL('./src/uv.handler.js', import.meta.url)),
|
|
sw: fileURLToPath(new URL('./src/uv.sw.js', import.meta.url)),
|
|
},
|
|
output: {
|
|
path: fileURLToPath(new URL('./dist/', import.meta.url)),
|
|
filename: 'uv.[name].js',
|
|
},
|
|
optimization: {
|
|
minimize: !isDevelopment,
|
|
minimizer: [
|
|
new TerserPlugin({
|
|
exclude: ['sw.js', 'uv.config.js'],
|
|
}),
|
|
],
|
|
},
|
|
plugins: [
|
|
new CopyPlugin({
|
|
patterns: [
|
|
{
|
|
from: fileURLToPath(new URL('./src/uv.config.js', import.meta.url)),
|
|
},
|
|
{
|
|
from: fileURLToPath(new URL('./src/sw.js', import.meta.url)),
|
|
},
|
|
],
|
|
}),
|
|
],
|
|
performance: {
|
|
// suppress "entrypoint size limit" warning
|
|
hints: false,
|
|
},
|
|
};
|
|
|
|
export default config;
|