And avoid relying on cdn's and require access to the network to use `dots-viewer` And git ignore `node_modules` Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4334 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8754>
73 lines
1.7 KiB
JavaScript
73 lines
1.7 KiB
JavaScript
const path = require('path');
|
|
const webpack = require('webpack');
|
|
const TerserPlugin = require('terser-webpack-plugin');
|
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
|
|
|
|
module.exports = {
|
|
mode: 'production',
|
|
entry: {
|
|
bundle: './bundle-entry.js'
|
|
},
|
|
output: {
|
|
path: path.resolve(__dirname, 'static/dist'),
|
|
filename: '[name].js',
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.css$/,
|
|
use: [
|
|
MiniCssExtractPlugin.loader,
|
|
'css-loader'
|
|
]
|
|
},
|
|
// For Bootstrap fonts
|
|
{
|
|
test: /\.(woff|woff2|eot|ttf|svg)$/,
|
|
type: 'asset/resource',
|
|
generator: {
|
|
filename: 'fonts/[name][ext]'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
optimization: {
|
|
minimize: true,
|
|
minimizer: [
|
|
new TerserPlugin({
|
|
terserOptions: {
|
|
compress: {
|
|
drop_console: true,
|
|
passes: 2
|
|
},
|
|
mangle: true,
|
|
output: {
|
|
comments: false
|
|
}
|
|
}
|
|
}),
|
|
new CssMinimizerPlugin() // For CSS optimization
|
|
],
|
|
},
|
|
plugins: [
|
|
new webpack.ProvidePlugin({
|
|
$: 'jquery',
|
|
jQuery: 'jquery'
|
|
}),
|
|
new webpack.DefinePlugin({
|
|
'process.env.NODE_ENV': JSON.stringify('production')
|
|
}),
|
|
new MiniCssExtractPlugin({
|
|
filename: '[name].css'
|
|
})
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'jquery': path.resolve(__dirname, 'node_modules/jquery/dist/jquery.js'),
|
|
'/js/vendor/viz-standalone.mjs': path.resolve(__dirname, 'node_modules/@viz-js/viz/lib/viz-standalone.mjs'),
|
|
'/js/vendor/fuse.min.mjs': path.resolve(__dirname, 'node_modules/fuse.js/dist/fuse.mjs')
|
|
}
|
|
}
|
|
};
|