From 3e1df68a0aaf9a0849e26e6ceacd77be16bcfec4 Mon Sep 17 00:00:00 2001 From: Anto Subash Date: Tue, 31 Mar 2026 23:15:34 +0200 Subject: [PATCH 01/10] Upgrade frontend toolchain: Vite 8, TypeScript 6, Inertia v3, Biome 2.4.10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Vite 6→8: rollupOptions→rolldownOptions, __dirname→import.meta.dirname, --configLoader runner for monorepo TS workspace deps - TypeScript 5→6: fix strict index signature checks in chart.tsx, Badge/Button variant renames (secondary→default/info, destructive→danger, outline→info), PageHeaderProps title type conflict, Playwright ReporterDescription tuples - @inertiajs/react 2→3: router.on('invalid')→router.on('httpException') - @vitejs/plugin-react 4→6, cross-env 7→10 - Fix missing TenantsDbContext in LoadTestWebApplicationFactory - Fix tsconfig.json exclude path and add allowImportingTsExtensions --- biome.json | 2 +- .../SimpleModule.Admin/Pages/Admin/Roles.tsx | 2 +- .../SimpleModule.Admin/Pages/Admin/Users.tsx | 2 +- .../Pages/Admin/UsersEdit.tsx | 4 +- .../Admin/src/SimpleModule.Admin/package.json | 6 +- .../src/SimpleModule.Admin/vite.config.ts | 2 +- .../Views/Dashboard.tsx | 2 +- .../SimpleModule.AuditLogs/Views/Detail.tsx | 2 +- .../src/SimpleModule.AuditLogs/package.json | 6 +- .../src/SimpleModule.AuditLogs/vite.config.ts | 2 +- .../src/SimpleModule.Dashboard/package.json | 6 +- .../src/SimpleModule.Dashboard/vite.config.ts | 2 +- .../Views/Manage.tsx | 10 +- .../SimpleModule.FeatureFlags/package.json | 6 +- .../SimpleModule.FeatureFlags/vite.config.ts | 2 +- .../src/SimpleModule.FileStorage/package.json | 6 +- .../SimpleModule.FileStorage/vite.config.ts | 2 +- .../SimpleModule.Marketplace/Views/Browse.tsx | 4 +- .../SimpleModule.Marketplace/Views/Detail.tsx | 8 +- .../src/SimpleModule.Marketplace/package.json | 6 +- .../src/SimpleModule.Marketplace/types.ts | 2 +- .../SimpleModule.Marketplace/vite.config.ts | 2 +- .../Pages/OpenIddict/Clients.tsx | 2 +- .../src/SimpleModule.OpenIddict/package.json | 6 +- .../SimpleModule.OpenIddict/vite.config.ts | 2 +- .../src/SimpleModule.Orders/Pages/Create.tsx | 2 +- .../src/SimpleModule.Orders/Pages/Edit.tsx | 2 +- .../src/SimpleModule.Orders/package.json | 6 +- .../src/SimpleModule.Orders/vite.config.ts | 2 +- .../SimpleModule.PageBuilder/Views/Manage.tsx | 4 +- .../src/SimpleModule.PageBuilder/package.json | 6 +- .../SimpleModule.PageBuilder/puck/config.tsx | 3 +- .../SimpleModule.PageBuilder/vite.config.ts | 2 +- .../src/SimpleModule.Products/package.json | 6 +- .../src/SimpleModule.Products/vite.config.ts | 2 +- .../Views/UserSettings.tsx | 4 +- .../src/SimpleModule.Settings/package.json | 6 +- .../src/SimpleModule.Settings/vite.config.ts | 2 +- .../src/SimpleModule.Tenants/Views/Edit.tsx | 2 +- .../SimpleModule.Tenants/Views/Features.tsx | 2 +- .../src/SimpleModule.Tenants/package.json | 6 +- .../src/SimpleModule.Tenants/vite.config.ts | 2 +- .../Users/src/SimpleModule.Users/package.json | 6 +- .../src/SimpleModule.Users/vite.config.ts | 2 +- package-lock.json | 3501 ++++------------- package.json | 18 +- packages/SimpleModule.Client/package.json | 4 +- .../src/define-module-config.ts | 7 +- packages/SimpleModule.UI/components/chart.tsx | 140 +- .../components/page-header.tsx | 4 +- .../SimpleModule.UI/components/page-shell.tsx | 2 +- packages/SimpleModule.UI/package.json | 4 +- playwright.config.ts | 2 +- template/SimpleModule.Host/ClientApp/app.tsx | 16 +- .../SimpleModule.Host/ClientApp/package.json | 12 +- .../ClientApp/vite.config.ts | 8 +- .../LoadTestWebApplicationFactory.cs | 2 + tests/e2e/package.json | 2 +- tests/e2e/playwright.config.ts | 2 +- .../e2e/tests/flows/menu-manager-crud.spec.ts | 5 +- tsconfig.json | 5 +- 61 files changed, 1023 insertions(+), 2874 deletions(-) diff --git a/biome.json b/biome.json index a75fb757..f66365d9 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.4.7/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.10/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/modules/Admin/src/SimpleModule.Admin/Pages/Admin/Roles.tsx b/modules/Admin/src/SimpleModule.Admin/Pages/Admin/Roles.tsx index e13ea6c5..e8c68ab0 100644 --- a/modules/Admin/src/SimpleModule.Admin/Pages/Admin/Roles.tsx +++ b/modules/Admin/src/SimpleModule.Admin/Pages/Admin/Roles.tsx @@ -103,7 +103,7 @@ export default function Roles({ roles }: Props) { {role.userCount} - {role.permissionCount} + {role.permissionCount} {new Date(role.createdAt).toLocaleDateString()} diff --git a/modules/Admin/src/SimpleModule.Admin/Pages/Admin/Users.tsx b/modules/Admin/src/SimpleModule.Admin/Pages/Admin/Users.tsx index ea09b562..4227fe17 100644 --- a/modules/Admin/src/SimpleModule.Admin/Pages/Admin/Users.tsx +++ b/modules/Admin/src/SimpleModule.Admin/Pages/Admin/Users.tsx @@ -41,7 +41,7 @@ interface Props { } function userStatus(user: User) { - if (user.isDeactivated) return { label: 'Deactivated', variant: 'secondary' as const }; + if (user.isDeactivated) return { label: 'Deactivated', variant: 'default' as const }; if (user.isLockedOut) return { label: 'Locked', variant: 'danger' as const }; return { label: 'Active', variant: 'success' as const }; } diff --git a/modules/Admin/src/SimpleModule.Admin/Pages/Admin/UsersEdit.tsx b/modules/Admin/src/SimpleModule.Admin/Pages/Admin/UsersEdit.tsx index 73ef7942..747b53c7 100644 --- a/modules/Admin/src/SimpleModule.Admin/Pages/Admin/UsersEdit.tsx +++ b/modules/Admin/src/SimpleModule.Admin/Pages/Admin/UsersEdit.tsx @@ -159,7 +159,7 @@ export default function UsersEdit({

Edit User

{isSelf && You} - {user.isDeactivated && Deactivated} + {user.isDeactivated && Deactivated} {user.isLockedOut && !user.isDeactivated && Locked}
@@ -463,7 +463,7 @@ export default function UsersEdit({ {activeSessions.map((session) => ( - + {session.type === 'refresh_token' ? 'Refresh' : 'Access'} diff --git a/modules/Admin/src/SimpleModule.Admin/package.json b/modules/Admin/src/SimpleModule.Admin/package.json index 790f770a..464cebfb 100644 --- a/modules/Admin/src/SimpleModule.Admin/package.json +++ b/modules/Admin/src/SimpleModule.Admin/package.json @@ -3,9 +3,9 @@ "name": "@simplemodule/admin", "version": "0.0.0", "scripts": { - "build": "vite build", - "build:dev": "cross-env VITE_MODE=dev vite build", - "watch": "cross-env VITE_MODE=dev vite build --watch" + "build": "vite build --configLoader runner", + "build:dev": "cross-env VITE_MODE=dev vite build --configLoader runner", + "watch": "cross-env VITE_MODE=dev vite build --configLoader runner --watch" }, "peerDependencies": { "react": "^19.0.0", diff --git a/modules/Admin/src/SimpleModule.Admin/vite.config.ts b/modules/Admin/src/SimpleModule.Admin/vite.config.ts index a3d37c71..a247db62 100644 --- a/modules/Admin/src/SimpleModule.Admin/vite.config.ts +++ b/modules/Admin/src/SimpleModule.Admin/vite.config.ts @@ -1,3 +1,3 @@ import { defineModuleConfig } from '@simplemodule/client/module'; -export default defineModuleConfig(__dirname); +export default defineModuleConfig(import.meta.dirname); diff --git a/modules/AuditLogs/src/SimpleModule.AuditLogs/Views/Dashboard.tsx b/modules/AuditLogs/src/SimpleModule.AuditLogs/Views/Dashboard.tsx index f9e8dd15..07c4cd40 100644 --- a/modules/AuditLogs/src/SimpleModule.AuditLogs/Views/Dashboard.tsx +++ b/modules/AuditLogs/src/SimpleModule.AuditLogs/Views/Dashboard.tsx @@ -183,7 +183,7 @@ function HBarCard({ yAxisWidth = 100, }: { title: string; - data: { name: string; [key: string]: unknown }[]; + data: readonly { name: string; count?: number; value?: number }[]; dataKey: string; config: ChartConfig; fill?: string; diff --git a/modules/AuditLogs/src/SimpleModule.AuditLogs/Views/Detail.tsx b/modules/AuditLogs/src/SimpleModule.AuditLogs/Views/Detail.tsx index 5ebe8b66..d926a820 100644 --- a/modules/AuditLogs/src/SimpleModule.AuditLogs/Views/Detail.tsx +++ b/modules/AuditLogs/src/SimpleModule.AuditLogs/Views/Detail.tsx @@ -214,7 +214,7 @@ export default function Detail({ entry, correlated }: Props) {
- + {entry.httpMethod} {entry.path} diff --git a/modules/AuditLogs/src/SimpleModule.AuditLogs/package.json b/modules/AuditLogs/src/SimpleModule.AuditLogs/package.json index c56fc135..bfc3358b 100644 --- a/modules/AuditLogs/src/SimpleModule.AuditLogs/package.json +++ b/modules/AuditLogs/src/SimpleModule.AuditLogs/package.json @@ -3,9 +3,9 @@ "name": "@simplemodule/auditlogs", "version": "0.0.0", "scripts": { - "build": "vite build", - "build:dev": "cross-env VITE_MODE=dev vite build", - "watch": "cross-env VITE_MODE=dev vite build --watch" + "build": "vite build --configLoader runner", + "build:dev": "cross-env VITE_MODE=dev vite build --configLoader runner", + "watch": "cross-env VITE_MODE=dev vite build --configLoader runner --watch" }, "peerDependencies": { "react": "^19.0.0", diff --git a/modules/AuditLogs/src/SimpleModule.AuditLogs/vite.config.ts b/modules/AuditLogs/src/SimpleModule.AuditLogs/vite.config.ts index a3d37c71..a247db62 100644 --- a/modules/AuditLogs/src/SimpleModule.AuditLogs/vite.config.ts +++ b/modules/AuditLogs/src/SimpleModule.AuditLogs/vite.config.ts @@ -1,3 +1,3 @@ import { defineModuleConfig } from '@simplemodule/client/module'; -export default defineModuleConfig(__dirname); +export default defineModuleConfig(import.meta.dirname); diff --git a/modules/Dashboard/src/SimpleModule.Dashboard/package.json b/modules/Dashboard/src/SimpleModule.Dashboard/package.json index 94c24b27..5bfac018 100644 --- a/modules/Dashboard/src/SimpleModule.Dashboard/package.json +++ b/modules/Dashboard/src/SimpleModule.Dashboard/package.json @@ -3,9 +3,9 @@ "name": "@simplemodule/dashboard", "version": "0.0.0", "scripts": { - "build": "vite build", - "build:dev": "cross-env VITE_MODE=dev vite build", - "watch": "cross-env VITE_MODE=dev vite build --watch" + "build": "vite build --configLoader runner", + "build:dev": "cross-env VITE_MODE=dev vite build --configLoader runner", + "watch": "cross-env VITE_MODE=dev vite build --configLoader runner --watch" }, "peerDependencies": { "react": "^19.0.0", diff --git a/modules/Dashboard/src/SimpleModule.Dashboard/vite.config.ts b/modules/Dashboard/src/SimpleModule.Dashboard/vite.config.ts index a3d37c71..a247db62 100644 --- a/modules/Dashboard/src/SimpleModule.Dashboard/vite.config.ts +++ b/modules/Dashboard/src/SimpleModule.Dashboard/vite.config.ts @@ -1,3 +1,3 @@ import { defineModuleConfig } from '@simplemodule/client/module'; -export default defineModuleConfig(__dirname); +export default defineModuleConfig(import.meta.dirname); diff --git a/modules/FeatureFlags/src/SimpleModule.FeatureFlags/Views/Manage.tsx b/modules/FeatureFlags/src/SimpleModule.FeatureFlags/Views/Manage.tsx index 58f413b5..b0009c3f 100644 --- a/modules/FeatureFlags/src/SimpleModule.FeatureFlags/Views/Manage.tsx +++ b/modules/FeatureFlags/src/SimpleModule.FeatureFlags/Views/Manage.tsx @@ -116,7 +116,7 @@ export default function Manage({ flags: initialFlags }: ManageProps) { {flag.name} {flag.description} - + {flag.defaultEnabled ? 'on' : 'off'} @@ -154,7 +154,7 @@ export default function Manage({ flags: initialFlags }: ManageProps) { {flag.name}{' '} - + deprecated @@ -197,11 +197,7 @@ export default function Manage({ flags: initialFlags }: ManageProps) { {o.overrideValue} {o.isEnabled ? 'Yes' : 'No'} - diff --git a/modules/FeatureFlags/src/SimpleModule.FeatureFlags/package.json b/modules/FeatureFlags/src/SimpleModule.FeatureFlags/package.json index 109b1fbc..18539143 100644 --- a/modules/FeatureFlags/src/SimpleModule.FeatureFlags/package.json +++ b/modules/FeatureFlags/src/SimpleModule.FeatureFlags/package.json @@ -3,9 +3,9 @@ "name": "@simplemodule/feature-flags", "version": "0.0.0", "scripts": { - "build": "cross-env VITE_MODE=prod vite build", - "build:dev": "cross-env VITE_MODE=dev vite build", - "watch": "cross-env VITE_MODE=dev vite build --watch" + "build": "cross-env VITE_MODE=prod vite build --configLoader runner", + "build:dev": "cross-env VITE_MODE=dev vite build --configLoader runner", + "watch": "cross-env VITE_MODE=dev vite build --configLoader runner --watch" }, "peerDependencies": { "react": "^19.0.0", diff --git a/modules/FeatureFlags/src/SimpleModule.FeatureFlags/vite.config.ts b/modules/FeatureFlags/src/SimpleModule.FeatureFlags/vite.config.ts index a3d37c71..a247db62 100644 --- a/modules/FeatureFlags/src/SimpleModule.FeatureFlags/vite.config.ts +++ b/modules/FeatureFlags/src/SimpleModule.FeatureFlags/vite.config.ts @@ -1,3 +1,3 @@ import { defineModuleConfig } from '@simplemodule/client/module'; -export default defineModuleConfig(__dirname); +export default defineModuleConfig(import.meta.dirname); diff --git a/modules/FileStorage/src/SimpleModule.FileStorage/package.json b/modules/FileStorage/src/SimpleModule.FileStorage/package.json index 543a6104..d213bdb6 100644 --- a/modules/FileStorage/src/SimpleModule.FileStorage/package.json +++ b/modules/FileStorage/src/SimpleModule.FileStorage/package.json @@ -3,9 +3,9 @@ "name": "@simplemodule/filestorage", "version": "0.0.0", "scripts": { - "build": "cross-env VITE_MODE=prod vite build", - "build:dev": "cross-env VITE_MODE=dev vite build", - "watch": "cross-env VITE_MODE=dev vite build --watch" + "build": "cross-env VITE_MODE=prod vite build --configLoader runner", + "build:dev": "cross-env VITE_MODE=dev vite build --configLoader runner", + "watch": "cross-env VITE_MODE=dev vite build --configLoader runner --watch" }, "peerDependencies": { "react": "^19.0.0", diff --git a/modules/FileStorage/src/SimpleModule.FileStorage/vite.config.ts b/modules/FileStorage/src/SimpleModule.FileStorage/vite.config.ts index a3d37c71..a247db62 100644 --- a/modules/FileStorage/src/SimpleModule.FileStorage/vite.config.ts +++ b/modules/FileStorage/src/SimpleModule.FileStorage/vite.config.ts @@ -1,3 +1,3 @@ import { defineModuleConfig } from '@simplemodule/client/module'; -export default defineModuleConfig(__dirname); +export default defineModuleConfig(import.meta.dirname); diff --git a/modules/Marketplace/src/SimpleModule.Marketplace/Views/Browse.tsx b/modules/Marketplace/src/SimpleModule.Marketplace/Views/Browse.tsx index 533a6553..47a17cb2 100644 --- a/modules/Marketplace/src/SimpleModule.Marketplace/Views/Browse.tsx +++ b/modules/Marketplace/src/SimpleModule.Marketplace/Views/Browse.tsx @@ -87,7 +87,7 @@ export default function Browse({ {categories.map((cat) => (