const SassRuleRewire = require('react-app-rewire-sass-rule'); const path = require('path'); const rewireAliases = require('react-app-rewire-aliases'); module.exports = function override(config, env) { require('react-app-rewire-postcss')(config, { plugins: loader => [require('postcss-rtl')()] }); // Tree Shaking 활성화 config.optimization.usedExports = true; // 코드 스플리팅 설정 config.optimization.splitChunks = { chunks: 'all' }; config = rewireAliases.aliasesOptions({ '@src': path.resolve(__dirname, 'src'), '@assets': path.resolve(__dirname, 'src/@core/assets'), '@components': path.resolve(__dirname, 'src/@core/components'), '@layouts': path.resolve(__dirname, 'src/@core/layouts'), '@store': path.resolve(__dirname, 'src/redux'), '@styles': path.resolve(__dirname, 'src/@core/scss'), '@configs': path.resolve(__dirname, 'src/configs'), '@utils': path.resolve(__dirname, 'src/utility/Utils'), '@hooks': path.resolve(__dirname, 'src/utility/hooks') })(config, env); config = new SassRuleRewire() .withRuleOptions({ test: /\.s[ac]ss$/i, use: [ { loader: 'sass-loader', options: { sassOptions: { includePaths: ['node_modules', 'src/assets'] } } } ] }) .rewire(config, env); return config; };