fix configuration of iam moudle

This commit is contained in:
mengstabketemaw
2026-06-12 12:08:54 +03:00
parent dacf39d95c
commit bbdfa47bd7
4 changed files with 106 additions and 1031 deletions

View File

@@ -2,57 +2,13 @@ import { createBrowserRouter, RouterProvider, Navigate } from 'react-router-dom'
import { import {
Login, Login,
SetPasswordPage, SetPasswordPage,
UserManagementLayout,
UserManagementPage,
BulkUploadPage,
ArchivedUsersPage,
PositionManagementPage,
CreatePositionPage,
EditPositionPage,
} from '@tria-plc/iamui-common'; } from '@tria-plc/iamui-common';
import { ProtectedRoute } from './ProtectedRoute';
import { BackofficeLayout } from '../layouts/BackofficeLayout';
import { AuthLayout } from '../layouts/AuthLayout'; import { AuthLayout } from '../layouts/AuthLayout';
import { DashboardPage } from '../features/dashboard/pages/DashboardPage'; import { AuthProviders } from '../iam/IamProviders';
import { ItemPage } from '../features/item/pages/ItemPage'; import UserManagementHostPage from '../features/user-management-host/UserManagementHostPage';
import { AuditLogPageWrapper } from '../iam/pages/AuditLogPage';
import { IamProviders, AuthProviders } from '../iam/IamProviders';
const router = createBrowserRouter([ const router = createBrowserRouter([
{
element: (
<AuthProviders>
<ProtectedRoute />
</AuthProviders>
),
children: [
{
element: <BackofficeLayout />,
children: [
{ path: '/', element: <Navigate to="/dashboard" replace /> },
{ path: '/dashboard', element: <DashboardPage /> },
{ path: '/items', element: <ItemPage /> },
{
path: '/user-management',
element: (
<IamProviders>
<UserManagementLayout />
</IamProviders>
),
children: [
{ index: true, element: <UserManagementPage /> },
{ path: 'bulk-upload', element: <BulkUploadPage /> },
{ path: 'archived-users', element: <ArchivedUsersPage /> },
{ path: 'position-management', element: <PositionManagementPage /> },
{ path: 'position-management/new', element: <CreatePositionPage /> },
{ path: 'position-management/edit/:id', element: <EditPositionPage /> },
],
},
{ path: '/audit-log', element: <AuditLogPageWrapper /> },
],
},
],
},
{ {
element: ( element: (
<AuthProviders> <AuthProviders>
@@ -64,6 +20,7 @@ const router = createBrowserRouter([
{ path: '/otp-verify', element: <SetPasswordPage /> }, { path: '/otp-verify', element: <SetPasswordPage /> },
], ],
}, },
{ path: '/um/*', element: <UserManagementHostPage /> },
{ path: '/404', element: <div>Page not found</div> }, { path: '/404', element: <div>Page not found</div> },
{ path: '*', element: <Navigate to="/404" replace /> }, { path: '*', element: <Navigate to="/404" replace /> },
]); ]);

View File

@@ -2,6 +2,20 @@ import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react'; import react from '@vitejs/plugin-react';
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; 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({ export default defineConfig({
root: __dirname, root: __dirname,
cacheDir: '../../node_modules/.vite/apps/backoffice', cacheDir: '../../node_modules/.vite/apps/backoffice',
@@ -12,7 +26,7 @@ export default defineConfig({
preview: { port: 4201, host: 'localhost' }, preview: { port: 4201, host: 'localhost' },
plugins: [react(), nxViteTsPaths()], plugins: [react(), nxViteTsPaths()],
resolve: { resolve: {
dedupe: ['react', 'react-dom', 'react-router-dom', '@tanstack/react-query'], dedupe: [userManagementSpaFallback(), 'react', 'react-dom', 'react-router-dom', '@tanstack/react-query'],
}, },
build: { build: {
outDir: '../../dist/apps/backoffice', outDir: '../../dist/apps/backoffice',

1068
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
"version": "0.0.1", "version": "0.0.1",
"private": true, "private": true,
"scripts": { "scripts": {
"backoffice": "npm run build:user-management && nx serve @fhc-platform/backoffice", "backoffice": "npm run build:user-management && nx serve @ema-platform/backoffice",
"portal": "nx serve @ema-platform/portal", "portal": "nx serve @ema-platform/portal",
"dev:all": "nx run-many -t serve -p @ema-platform/portal @ema-platform/backoffice --parallel=2", "dev:all": "nx run-many -t serve -p @ema-platform/portal @ema-platform/backoffice --parallel=2",
"build:backoffice": "nx build @ema-platform/backoffice", "build:backoffice": "nx build @ema-platform/backoffice",