Files
sgeUpdated/sge-frontend/config-overrides.js
Khaled Elagamy 85f1847070 Add 'sge-frontend/' from commit '5fa787e054b25ac53edc7ff0275ea7960a709401'
git-subtree-dir: sge-frontend
git-subtree-mainline: 876c278ac4
git-subtree-split: 5fa787e054
2025-08-04 00:27:23 +03:00

61 lines
1.8 KiB
JavaScript

const path = require("path")
module.exports = {
webpack: function (config) {
// 1. Find and replace babel-loader with swc-loader
const jsRule = config.module.rules.find(
(rule) =>
rule.oneOf &&
rule.oneOf.some((r) => r.loader && r.loader.includes("babel-loader"))
)
if (jsRule) {
const babelLoaderIndex = jsRule.oneOf.findIndex(
(r) => r.loader && r.loader.includes("babel-loader")
)
jsRule.oneOf[babelLoaderIndex] = {
test: /\.(js|jsx|ts|tsx)$/,
exclude: /node_modules/,
use: {
loader: "swc-loader",
options: {
jsc: {
parser: {
syntax: "ecmascript",
jsx: true,
tsx: true, // Add support for TypeScript JSX
decorators: false,
dynamicImport: true
},
transform: {
react: {
runtime: "automatic",
refresh: process.env.NODE_ENV === 'development',
},
},
target: "es2015",
},
},
},
}
}
// 2. Add path aliases
config.resolve.alias = {
...config.resolve.alias,
"@src": path.resolve(__dirname, "src"),
"@assets": path.resolve(__dirname, "src/assets"),
"@components": path.resolve(__dirname, "src/components"),
"@layouts": path.resolve(__dirname, "src/layouts"),
"@store": path.resolve(__dirname, "src/redux"),
"@styles": path.resolve(__dirname, "src/styles"),
"@configs": path.resolve(__dirname, "src/configs"),
"@hooks": path.resolve(__dirname, "src/hooks"),
}
// Important: Return the modified config
return config
},
}