1
0
Fork 0
food-site/webpack-dev.config.js

85 lines
2.3 KiB
JavaScript
Raw Normal View History

2022-05-31 22:00:53 +01:00
const path = require('path');
const TerserPlugin = require("terser-webpack-plugin");
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
2022-05-31 22:22:46 +01:00
mode: "production",
cache: false,
entry: './src/main.tsx',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/',
},
stats: {
colors: true,
timings: true,
},
performance: {
hints: false,
},
devtool: "eval-source-map",
plugins: [
new HtmlWebpackPlugin({
title: "Chaos's Food Likes/Dislikes",
aseUrl: './',
meta: {
'og:title': { property: 'og:title', content: "Chaos's Food Likes/Dislikes" },
2022-08-04 22:43:31 +01:00
'og:description': { property: 'og:description', content: "A list for all the foods I like, dislike and find myself unable to eat due to sensory difficulties." },
2022-05-31 22:22:46 +01:00
},
})
2022-05-31 22:00:53 +01:00
],
2022-05-31 22:22:46 +01:00
devServer: {
historyApiFallback: true,
},
resolve: {
modules: ['node_modules'],
extensions: ['.tsx', '.ts', '.js', ".mjs"],
alias: { os: false }
},
2022-05-31 22:00:53 +01:00
2022-05-31 22:22:46 +01:00
module: {
rules: [
{
test: /\.(scss)$/,
use: [{
loader: 'style-loader',
}, {
loader: 'css-loader',
}, {
loader: 'postcss-loader',
options: {
postcssOptions: {
options: function () {
return [
require('precss'),
require('autoprefixer')
];
}
}
}
}, {
loader: 'sass-loader'
}]
},
{
test: /\.ts(x?)$/,
exclude: /node_modules/,
use: [
{
loader: 'ts-loader'
}
]
},
],
},
optimization: {
minimize: false,
minimizer: [
],
},
2022-05-31 22:00:53 +01:00
};