const { NxAppRspackPlugin } = require('@nx/rspack/app-plugin');
const { NxReactRspackPlugin } = require('@nx/rspack/react-plugin');
const { join } = require('path');
const rspack = require('@rspack/core');
module.exports = {
output: {
path: join(__dirname, 'dist'),
},
entry: {
main: './src/main.tsx',
'mcp-service-worker': '../../libs/mcp-worker/src/mcp-service-worker.ts',
'mcp-shared-worker': '../../libs/mcp-worker/src/mcp-shared-worker.ts',
},
devServer: {
port: 4200,
historyApiFallback: {
index: '/index.html',
disableDotRule: true,
htmlAcceptHeaders: ['text/html', 'application/xhtml+xml'],
},
},
plugins: [
new rspack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(
process.env.NODE_ENV || 'development',
),
'process.env.MCP_DEBUG': JSON.stringify(process.env.MCP_DEBUG || ''),
}),
new NxAppRspackPlugin({
tsConfig: './tsconfig.app.json',
main: './src/main.tsx',
index: './src/index.html',
baseHref: '/',
assets: ['./src/favicon.ico', './src/assets'],
styles: ['./src/styles.scss'],
outputHashing: process.env['NODE_ENV'] === 'production' ? 'all' : 'none',
optimization: process.env['NODE_ENV'] === 'production',
runtimeChunk: false,
excludeChunks: ['sw', 'shared-worker'],
}),
new NxReactRspackPlugin({
// Uncomment this line if you don't want to use SVGR
// See: https://react-svgr.com/
// svgr: false
}),
],
};