mirror of
https://github.com/Tria-plc/emaui.git
synced 2026-08-26 19:12:50 +00:00
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react';
|
|
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
|
|
|
|
function userManagementSpaFallback() {
|
|
const rewrite = (req) => {
|
|
const url = req.url || '';
|
|
if (!url.startsWith('/_um/') && url !== '/_um') return;
|
|
if (/\.[a-zA-Z0-9]+$/.test(url.split('?')[0])) return; // real assets pass through
|
|
req.url = '/_um/index.html';
|
|
};
|
|
return {
|
|
name: 'user-management-spa-fallback',
|
|
configureServer(s) { s.middlewares.use((req, _res, next) => { rewrite(req); next(); }); },
|
|
configurePreviewServer(s) { s.middlewares.use((req, _res, next) => { rewrite(req); next(); }); },
|
|
};
|
|
}
|
|
|
|
export default defineConfig({
|
|
root: __dirname,
|
|
cacheDir: '../../node_modules/.vite/apps/backoffice',
|
|
server: {
|
|
port: 4201,
|
|
host: 'localhost',
|
|
},
|
|
preview: { port: 4201, host: 'localhost' },
|
|
plugins: [react(), nxViteTsPaths(), userManagementSpaFallback()],
|
|
resolve: {
|
|
dedupe: ['react', 'react-dom', 'react-router-dom', '@tanstack/react-query'],
|
|
},
|
|
build: {
|
|
outDir: '../../dist/apps/backoffice',
|
|
emptyOutDir: true,
|
|
reportCompressedSize: true,
|
|
},
|
|
});
|