mirror of
https://github.com/tlsnotary/website.git
synced 2026-01-08 21:48:05 -05:00
73 lines
1.7 KiB
JavaScript
73 lines
1.7 KiB
JavaScript
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
|
const HtmlWebpackInlineSourcePlugin = require("html-webpack-inline-source-plugin");
|
|
const path = require("path");
|
|
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
|
|
const CopyPlugin = require("copy-webpack-plugin");
|
|
|
|
module.exports = {
|
|
entry: ["./src/index.tsx"],
|
|
mode: "development",
|
|
output: {
|
|
path: path.resolve(__dirname, "build"),
|
|
publicPath: "/",
|
|
},
|
|
resolve: {
|
|
extensions: ["*", ".js", ".jsx", ".ts", ".tsx", ".json"],
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.(js|tsx?)$/,
|
|
loader: "babel-loader",
|
|
},
|
|
{
|
|
test: /\.(png|svg|jpg|gif|ico)$/,
|
|
loader: "file-loader",
|
|
options: {
|
|
publicPath: './',
|
|
esModule: false,
|
|
},
|
|
},
|
|
{
|
|
test: /\.css$/,
|
|
// exclude: /node_modules/,
|
|
use: [
|
|
{
|
|
loader: MiniCssExtractPlugin.loader,
|
|
},
|
|
"css-loader",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
plugins: [
|
|
new HtmlWebpackPlugin({
|
|
template: "public/index.html",
|
|
filename: "index.html",
|
|
inlineSource: ".(js|css)",
|
|
publicPath: "./",
|
|
}),
|
|
new MiniCssExtractPlugin({
|
|
filename: "styles.css",
|
|
}),
|
|
new CopyPlugin({
|
|
patterns: [
|
|
{
|
|
from: "./public/manifest.json",
|
|
to: "manifest.json"
|
|
},
|
|
{
|
|
from: "./public/*.pdf",
|
|
to: "[name][ext]",
|
|
noErrorOnMissing: true
|
|
}
|
|
],
|
|
}),
|
|
// new HtmlWebpackInlineSourcePlugin(),
|
|
],
|
|
optimization: {
|
|
minimizer: [`...`, new CssMinimizerPlugin()],
|
|
},
|
|
};
|