Files
react-template-esbuild/webpack/options/rules.js
2025-09-18 19:02:11 +03:00

57 lines
994 B
JavaScript

import MiniCssExtractPlugin from "mini-css-extract-plugin";
import config from "../config";
const styleRules = [
{
loader: config.isProd ? MiniCssExtractPlugin.loader : "style-loader",
options: {
esModule: false,
},
},
{ loader: "css-loader" },
{ loader: "postcss-loader" },
];
export default [
{
test: /\.(ts|tsx)$/,
exclude: /node_modules/,
use: {
loader: "esbuild-loader",
options: {
loader: "tsx",
target: "es2015",
},
},
},
{
test: /\.html$/,
exclude: /node_modules/,
use: {
loader: "html-loader",
},
},
{
test: /\.(gif|png|jpg|jpeg|webp)$/i,
exclude: /node_modules/,
type: "asset/resource",
},
{
test: /\.(woff(2)?|eot|ttf|otf|)$/,
exclude: /node_modules/,
type: "asset/inline",
},
{
test: /\.s([ca])ss$/,
use: [
...styleRules,
{ loader: "fast-sass-loader" },
],
},
{
test: /\.css$/,
use: styleRules,
},
];