mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-09-30 19:23:15 +00:00
Bump @mui/material and @mui/icons-material 7.3.1 -> ^9.1.1 together in /web. They must move in lockstep (icons peer-depends on material), so Dependabot's separate per-package PRs (#145/#146) could never go green individually (ERESOLVE). Adds a 'mui' Dependabot group so future @mui/* updates — including majors — are raised as one PR. MUI v9 migration fixes (v7->v9 spans two majors): - ListItemText: primaryTypographyProps -> slotProps.primary; fontSize moved into sx (Typography system props removed in v9). - Autocomplete renderInput: params.InputProps -> params.slotProps.input; spread ...params.slotProps to retain inputLabel/htmlInput slots. - Icons: @mui/icons-material/ErrorOutline -> ErrorOutlined (the plain ErrorOutline export was removed in v9). - vitest: inline @mui/material + react-transition-group so Vite resolves v9's Transition.mjs directory import (native ESM loader can't). Verified locally on Node 24: npm ci, npm run build, and npm test (26 tests, 3 suites) all pass.
20 lines
618 B
TypeScript
20 lines
618 B
TypeScript
import { defineConfig } from 'vitest/config';
|
|
import react from '@vitejs/plugin-react';
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
test: {
|
|
environment: 'jsdom',
|
|
globals: true,
|
|
setupFiles: ['./src/test/setup.ts'],
|
|
include: ['src/**/*.test.{ts,tsx}'],
|
|
server: {
|
|
deps: {
|
|
// MUI v9's ESM build (Transition.mjs) does a directory import of
|
|
// react-transition-group/TransitionGroupContext, which Node's native
|
|
// ESM loader can't resolve. Inline these so Vite resolves them.
|
|
inline: [/@mui\/material/, 'react-transition-group'],
|
|
},
|
|
},
|
|
},
|
|
});
|