Complete Non-Conformance Report system replacing the PowerApps/SharePoint prototype: FastAPI + SQLAlchemy 2 (async) + Alembic + MySQL 8 backend, React 18 + Vite + TypeScript + MUI frontend, Entra ID auth (MSAL / JWKS, group-gated), Microsoft Graph delegated Mail.Send notifications (OBO), six-stage workflow state machine with server-side enforcement, atomic NCR-YYYY-NNNN numbering, attachments with camera capture, immutable field-level audit trail, admin reopen, reports + CSV export, WeasyPrint PDF traveler, Power BI reporting views + read-only DB user, documented VISUAL ERP job-lookup stub, pytest suite (26 tests), docker-compose deployment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
27 lines
669 B
TypeScript
27 lines
669 B
TypeScript
import react from "@vitejs/plugin-react";
|
|
import { defineConfig } from "vite";
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
server: {
|
|
port: 5173,
|
|
proxy: {
|
|
// Local development against `uvicorn app.main:app` on :8000
|
|
"/api": "http://localhost:8000",
|
|
},
|
|
},
|
|
build: {
|
|
chunkSizeWarningLimit: 1200,
|
|
rollupOptions: {
|
|
output: {
|
|
manualChunks: {
|
|
mui: ["@mui/material", "@mui/icons-material"],
|
|
charts: ["recharts"],
|
|
editor: ["@tiptap/react", "@tiptap/starter-kit", "@tiptap/extension-link"],
|
|
msal: ["@azure/msal-browser", "@azure/msal-react"],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|