Replace direct adapter/persistence imports with context-based injection (AdapterContext + useAdapters) so tests use in-memory implementations instead of vi.mock. Migrate component tests from context mocking to AllProviders with real hooks. Extract export/import logic from ActionBar into useEncounterExportImport hook. Add bestiary-cache and bestiary-index-adapter test suites. Raise adapter coverage thresholds (68→80 lines, 56→62 branches). 77 test files, 891 tests, all passing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import { StrictMode } from "react";
|
|
import { createRoot } from "react-dom/client";
|
|
import { App } from "./App.js";
|
|
import { productionAdapters } from "./adapters/production-adapters.js";
|
|
import { AdapterProvider } from "./contexts/adapter-context.js";
|
|
import {
|
|
BestiaryProvider,
|
|
BulkImportProvider,
|
|
EncounterProvider,
|
|
InitiativeRollsProvider,
|
|
PlayerCharactersProvider,
|
|
RulesEditionProvider,
|
|
SidePanelProvider,
|
|
ThemeProvider,
|
|
} from "./contexts/index.js";
|
|
import "./index.css";
|
|
|
|
const root = document.getElementById("root");
|
|
if (root) {
|
|
createRoot(root).render(
|
|
<StrictMode>
|
|
<AdapterProvider adapters={productionAdapters}>
|
|
<ThemeProvider>
|
|
<RulesEditionProvider>
|
|
<EncounterProvider>
|
|
<BestiaryProvider>
|
|
<PlayerCharactersProvider>
|
|
<BulkImportProvider>
|
|
<SidePanelProvider>
|
|
<InitiativeRollsProvider>
|
|
<App />
|
|
</InitiativeRollsProvider>
|
|
</SidePanelProvider>
|
|
</BulkImportProvider>
|
|
</PlayerCharactersProvider>
|
|
</BestiaryProvider>
|
|
</EncounterProvider>
|
|
</RulesEditionProvider>
|
|
</ThemeProvider>
|
|
</AdapterProvider>
|
|
</StrictMode>,
|
|
);
|
|
}
|