apps/opik-frontend/.dependency-cruiser-known-violations.README.md
This file documents the known dependency violations captured in .dependency-cruiser-known-violations.json.
The baseline file allows us to:
These create maintenance nightmares and potential runtime issues:
useOpenAICompatibleModels ↔ provider.ts ↔ useLLMProviderModelsDatauseProviderKeys → provider.ts → useLLMProviderModelsData → useOpenAICompatibleModelsMetricTag ↔ PlaygroundOutputScoresuseDatasetItemData ↔ useDatasetItemFormHelpers (2 locations)utils.ts ↔ constants.ts (5 violations)Components in shared/ importing from pages-shared/:
Fix: Move these components to pages-shared/ or extract shared utilities
AddToDatasetDialog → AddEditDatasetDialogDatasetSelectBox → AddEditDatasetDialogThreadDetailsPanel → WorkspacePreferencesTab/types.tsExperimentsRadarChart → useCompareExperimentsChartsDataFix: Extract shared types/utilities to pages-shared/ or lib/
HomePage → ProjectsPage, OptimizationsPageTracesPage → HomePageSharedFix: Move shared dialogs/components to pages-shared/
useProviderOptions → ProviderGridFix: Use composition pattern instead
dashboard.ts → DateRangeSelect, breakdown.tsFix: Move types to types folder, keep runtime code separate
useProjectMetric → breakdown.tsFix: Move breakdown.ts to lib/
npm run deps:validate to verify.dependency-cruiser-known-violations.jsonIf you need to regenerate the baseline (after fixing violations):
npx depcruise src --config --output-type baseline > .dependency-cruiser-known-violations.json
Add this to your CI pipeline to prevent new violations:
npm run deps:validate
The command will: