@@ -252,7 +252,7 @@ export function CareTeamSheet({
{encounter.care_team.length === 0 ? (
-
+
) : (
encounter.care_team.map((member, index) => (
{
const prevTitle = document.title;
if (title) {
diff --git a/src/components/Facility/ConsultationDetails/PrintAllQuestionnaireResponses.tsx b/src/components/Facility/ConsultationDetails/PrintAllQuestionnaireResponses.tsx
index 48caa8df2ef..57c121ff4f2 100644
--- a/src/components/Facility/ConsultationDetails/PrintAllQuestionnaireResponses.tsx
+++ b/src/components/Facility/ConsultationDetails/PrintAllQuestionnaireResponses.tsx
@@ -96,7 +96,7 @@ export function PrintAllQuestionnaireResponses({
-
@@ -113,7 +113,7 @@ export function PrintAllQuestionnaireResponses({
{questionnaireResponses?.results?.map(
(item: QuestionnaireResponse) => (
),
)}
@@ -150,7 +150,7 @@ interface EncounterDetailsProps {
patient?: PatientRead;
}
-export function EncounterDetails({
+export function PrintableEncounterDetails({
encounter,
patient,
}: EncounterDetailsProps) {
@@ -331,7 +331,7 @@ interface ResponseCardProps {
item?: QuestionnaireResponse;
}
-export function ResponseCard({ item }: ResponseCardProps) {
+export function PrintableResponseCard({ item }: ResponseCardProps) {
const { t } = useTranslation();
if (!item) return null;
diff --git a/src/components/Facility/ConsultationDetails/PrintQuestionnaireResponse.tsx b/src/components/Facility/ConsultationDetails/PrintQuestionnaireResponse.tsx
index 9b540edada8..7bb538a3aec 100644
--- a/src/components/Facility/ConsultationDetails/PrintQuestionnaireResponse.tsx
+++ b/src/components/Facility/ConsultationDetails/PrintQuestionnaireResponse.tsx
@@ -4,8 +4,8 @@ import { useTranslation } from "react-i18next";
import PrintPreview from "@/CAREUI/misc/PrintPreview";
import {
- EncounterDetails,
- ResponseCard,
+ PrintableEncounterDetails as EncounterDetails,
+ PrintableResponseCard as ResponseCard,
} from "@/components/Facility/ConsultationDetails/PrintAllQuestionnaireResponses";
import query from "@/Utils/request/query";
diff --git a/src/components/Medicine/MedicationAdministration/AdministrationTab.tsx b/src/components/Medicine/MedicationAdministration/AdministrationTab.tsx
index 6f1cd8bfb97..befe7b3b80a 100644
--- a/src/components/Medicine/MedicationAdministration/AdministrationTab.tsx
+++ b/src/components/Medicine/MedicationAdministration/AdministrationTab.tsx
@@ -16,7 +16,7 @@ import { Label } from "@/components/ui/label";
import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area";
import { TableSkeleton } from "@/components/Common/SkeletonLoading";
-import { EmptyState } from "@/components/Medicine/MedicationRequestTable";
+import { MedicationRequestEmptyState as EmptyState } from "@/components/Medicine/MedicationRequestTable";
import mutate from "@/Utils/request/mutate";
import query from "@/Utils/request/query";
diff --git a/src/components/Medicine/MedicationRequestTable/index.tsx b/src/components/Medicine/MedicationRequestTable/index.tsx
index 2e0f33be21b..ca5d58f4e22 100644
--- a/src/components/Medicine/MedicationRequestTable/index.tsx
+++ b/src/components/Medicine/MedicationRequestTable/index.tsx
@@ -14,19 +14,19 @@ import { MedicationStatementList } from "@/components/Patient/MedicationStatemen
import { useEncounter } from "@/pages/Encounters/utils/EncounterProvider";
-interface EmptyStateProps {
+interface MedicationRequestEmptyStateProps {
searching?: boolean;
searchQuery?: string;
message?: string;
description?: string;
}
-export const EmptyState = ({
+export const MedicationRequestEmptyState = ({
searching,
searchQuery,
message,
description,
-}: EmptyStateProps) => {
+}: MedicationRequestEmptyStateProps) => {
const { t } = useTranslation();
return (
diff --git a/src/components/Patient/Common/EmptyState.tsx b/src/components/Patient/Common/EmptyState.tsx
index c3578bf7335..5a1fab0c52e 100644
--- a/src/components/Patient/Common/EmptyState.tsx
+++ b/src/components/Patient/Common/EmptyState.tsx
@@ -2,7 +2,7 @@ import { useTranslation } from "react-i18next";
import { Skeleton } from "@/components/ui/skeleton";
-export default function EmptyState({
+export default function PatientClinicalEmptyState({
title,
description,
}: {
diff --git a/src/components/Patient/MedicationStatementList.tsx b/src/components/Patient/MedicationStatementList.tsx
index fdea805816c..9450dcab0a6 100644
--- a/src/components/Patient/MedicationStatementList.tsx
+++ b/src/components/Patient/MedicationStatementList.tsx
@@ -8,7 +8,7 @@ import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { TableSkeleton } from "@/components/Common/SkeletonLoading";
-import { EmptyState } from "@/components/Medicine/MedicationRequestTable";
+import { MedicationRequestEmptyState as EmptyState } from "@/components/Medicine/MedicationRequestTable";
import query from "@/Utils/request/query";
import { PaginatedResponse } from "@/Utils/request/types";
diff --git a/src/pages/Admin/organizations/components/AdminOrganizationSelector.tsx b/src/pages/Admin/organizations/components/AdminOrganizationSelector.tsx
index 302ea0862df..778e211a64b 100644
--- a/src/pages/Admin/organizations/components/AdminOrganizationSelector.tsx
+++ b/src/pages/Admin/organizations/components/AdminOrganizationSelector.tsx
@@ -39,7 +39,7 @@ interface FacilityOrganizationSelectorProps {
singleSelection?: boolean;
}
-export default function FacilityOrganizationSelector(
+export default function AdminFacilityOrganizationSelector(
props: FacilityOrganizationSelectorProps,
) {
const { t } = useTranslation();
diff --git a/src/pages/Appointments/BookAppointment/BookAppointmentDetails.tsx b/src/pages/Appointments/BookAppointment/BookAppointmentDetails.tsx
index e6f003e62d4..32316226d9e 100644
--- a/src/pages/Appointments/BookAppointment/BookAppointmentDetails.tsx
+++ b/src/pages/Appointments/BookAppointment/BookAppointmentDetails.tsx
@@ -10,7 +10,6 @@ import { scheduleServiceTypeAtom } from "@/atoms/scheduleServiceTypeAtom";
import { Button } from "@/components/ui/button";
import { Drawer, DrawerContent, DrawerTrigger } from "@/components/ui/drawer";
-import { register } from "@/lib/override";
import { AppointmentSlotPicker } from "@/pages/Appointments/BookAppointment/AppointmentSlotPicker";
import useCurrentFacility from "@/pages/Facility/utils/useCurrentFacility";
import { TagConfig } from "@/types/emr/tagConfig/tagConfig";
@@ -27,7 +26,7 @@ export interface BookAppointmentDetailsProps {
onSuccess?: () => void;
}
-const BookAppointmentDetailsBase = ({
+export const BookAppointmentDetails = ({
patientId,
onSuccess,
}: BookAppointmentDetailsProps) => {
@@ -242,8 +241,3 @@ const BookAppointmentDetailsBase = ({
);
};
-
-export const BookAppointmentDetails = register(
- "BookAppointmentDetails",
- BookAppointmentDetailsBase,
-);
diff --git a/src/pages/Encounters/tabs/overview/quick-actions.tsx b/src/pages/Encounters/tabs/overview/quick-actions.tsx
index 608e29c4a24..5928363df58 100644
--- a/src/pages/Encounters/tabs/overview/quick-actions.tsx
+++ b/src/pages/Encounters/tabs/overview/quick-actions.tsx
@@ -14,7 +14,6 @@ import {
import { ShortcutBadge } from "@/Utils/keyboardShortcutComponents";
-import { register } from "@/lib/override";
import { FormDialog } from "./FormsDialog";
export const QuickActions = (props: React.ComponentProps<"div">) => {
@@ -72,9 +71,7 @@ export const QuickActions = (props: React.ComponentProps<"div">) => {
);
};
-export const QuickAction = register("QuickAction", QuickActionBase);
-
-function QuickActionBase({
+export function QuickAction({
icon,
title,
actionId,
diff --git a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/account.tsx b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/account.tsx
index ccf0dbb6eeb..9fc1da09570 100644
--- a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/account.tsx
+++ b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/account.tsx
@@ -17,7 +17,7 @@ import accountApi from "@/types/billing/account/accountApi";
import { cn } from "@/lib/utils";
import { toast } from "sonner";
-import { EmptyState } from "./empty-state";
+import { SummaryPanelEmptyState as EmptyState } from "./empty-state";
export const Account = () => {
const { t } = useTranslation();
diff --git a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/department-and-team.tsx b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/department-and-team.tsx
index f2e53d0afe3..177cdf8219b 100644
--- a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/department-and-team.tsx
+++ b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/department-and-team.tsx
@@ -8,7 +8,7 @@ import { CardListSkeleton } from "@/components/Common/SkeletonLoading";
import { useEncounter } from "@/pages/Encounters/utils/EncounterProvider";
-import { EmptyState } from "./empty-state";
+import { SummaryPanelEmptyState as EmptyState } from "./empty-state";
export const DepartmentsAndTeams = () => {
const { t } = useTranslation();
diff --git a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/discharge-summary.tsx b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/discharge-summary.tsx
index e6f8343d65a..aef8fe9594a 100644
--- a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/discharge-summary.tsx
+++ b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/discharge-summary.tsx
@@ -17,7 +17,7 @@ import { CardListSkeleton } from "@/components/Common/SkeletonLoading";
import { useEncounter } from "@/pages/Encounters/utils/EncounterProvider";
-import { EmptyState } from "./empty-state";
+import { SummaryPanelEmptyState as EmptyState } from "./empty-state";
export const DischargeDetails = () => {
const { t } = useTranslation();
diff --git a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/empty-state.tsx b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/empty-state.tsx
index 3058735b1f1..a657caf9d9e 100644
--- a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/empty-state.tsx
+++ b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/empty-state.tsx
@@ -1,6 +1,6 @@
import CareIcon from "@/CAREUI/icons/CareIcon";
-export const EmptyState = ({ message }: { message: string }) => (
+export const SummaryPanelEmptyState = ({ message }: { message: string }) => (
{message}
diff --git a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/encounter-tags.tsx b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/encounter-tags.tsx
index db2422ba837..1f3dd83eeb3 100644
--- a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/encounter-tags.tsx
+++ b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/encounter-tags.tsx
@@ -6,7 +6,7 @@ import { useEncounter } from "@/pages/Encounters/utils/EncounterProvider";
import { useQueryClient } from "@tanstack/react-query";
import { SquarePen } from "lucide-react";
import { useTranslation } from "react-i18next";
-import { EmptyState } from "./empty-state";
+import { SummaryPanelEmptyState as EmptyState } from "./empty-state";
export const EncounterTags = () => {
const { canWriteSelectedEncounter: canEdit, selectedEncounter: encounter } =
diff --git a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/locations.tsx b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/locations.tsx
index 34590a9283e..16ddfc2a3d5 100644
--- a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/locations.tsx
+++ b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/locations.tsx
@@ -8,7 +8,7 @@ import { LocationTree } from "@/components/Location/LocationTree";
import { useEncounter } from "@/pages/Encounters/utils/EncounterProvider";
-import { EmptyState } from "./empty-state";
+import { SummaryPanelEmptyState as EmptyState } from "./empty-state";
export const Locations = () => {
const { t } = useTranslation();
diff --git a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/manage-care-team.tsx b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/manage-care-team.tsx
index e080c18768f..e31025611fe 100644
--- a/src/pages/Encounters/tabs/overview/summary-panel-details-tab/manage-care-team.tsx
+++ b/src/pages/Encounters/tabs/overview/summary-panel-details-tab/manage-care-team.tsx
@@ -12,7 +12,7 @@ import { useEncounter } from "@/pages/Encounters/utils/EncounterProvider";
import { formatName } from "@/Utils/utils";
-import { EmptyState } from "./empty-state";
+import { SummaryPanelEmptyState as EmptyState } from "./empty-state";
export const ManageCareTeam = () => {
const { t } = useTranslation();
diff --git a/src/pages/Facility/FacilityDetailsPage.tsx b/src/pages/Facility/FacilityDetailsPage.tsx
index 08decff311b..a5ea5401760 100644
--- a/src/pages/Facility/FacilityDetailsPage.tsx
+++ b/src/pages/Facility/FacilityDetailsPage.tsx
@@ -21,7 +21,7 @@ import publicFacilityApi from "@/types/facility/publicFacilityApi";
import { goBack } from "@/Utils/utils";
import { Button } from "@/components/ui/button";
import { FeatureBadge } from "./Utils";
-import { UserCard } from "./components/UserCard";
+import { FacilityUserCard as UserCard } from "./components/UserCard";
interface Props {
id: string;
diff --git a/src/pages/Facility/components/UserCard.tsx b/src/pages/Facility/components/UserCard.tsx
index 1ae440955d1..11907b11100 100644
--- a/src/pages/Facility/components/UserCard.tsx
+++ b/src/pages/Facility/components/UserCard.tsx
@@ -22,7 +22,7 @@ interface Props {
facilityId: string;
}
-export function UserCard({ user, className, facilityId }: Props) {
+export function FacilityUserCard({ user, className, facilityId }: Props) {
const { t } = useTranslation();
const { patientToken: tokenData } = useAuthContext();
diff --git a/src/pages/Facility/settings/activityDefinition/ActivityDefinitionList.tsx b/src/pages/Facility/settings/activityDefinition/ActivityDefinitionList.tsx
index abaea50c050..2090b578340 100644
--- a/src/pages/Facility/settings/activityDefinition/ActivityDefinitionList.tsx
+++ b/src/pages/Facility/settings/activityDefinition/ActivityDefinitionList.tsx
@@ -4,7 +4,7 @@ import { useTranslation } from "react-i18next";
import Page from "@/components/Common/Page";
import { ResourceCategoryList } from "@/components/Common/ResourceCategoryList";
-import { ActivityDefinitionList as ActivityDefinitionListComponent } from "@/pages/Facility/settings/activityDefinition/ActivityDefinitionListComponent";
+import { ActivityDefinitionListContent } from "@/pages/Facility/settings/activityDefinition/ActivityDefinitionListComponent";
import { ResourceCategoryResourceType } from "@/types/base/resourceCategory/resourceCategory";
import { Status } from "@/types/emr/activityDefinition/activityDefinition";
import activityDefinitionApi from "@/types/emr/activityDefinition/activityDefinitionApi";
@@ -58,7 +58,7 @@ export default function ActivityDefinitionList({
}}
>
{categorySlug && (
-
void;
}
-export function ActivityDefinitionList({
+export function ActivityDefinitionListContent({
facilityId,
categorySlug,
setAllowCategoryCreate,
diff --git a/src/pages/Facility/settings/healthcareService/HealthcareServiceShow.tsx b/src/pages/Facility/settings/healthcareService/HealthcareServiceShow.tsx
index 0301a99433d..470e08f9e6a 100644
--- a/src/pages/Facility/settings/healthcareService/HealthcareServiceShow.tsx
+++ b/src/pages/Facility/settings/healthcareService/HealthcareServiceShow.tsx
@@ -31,7 +31,7 @@ import queryClient from "@/Utils/request/queryClient";
type DuoToneIconName = keyof typeof duoToneIcons;
-export default function HealthcareServiceShow({
+export default function SettingsHealthcareServiceShow({
facilityId,
healthcareServiceId,
}: {
diff --git a/src/pages/Facility/settings/locations/LocationSettings.tsx b/src/pages/Facility/settings/locations/LocationSettings.tsx
index f84d5370636..1b0a5f94ba7 100644
--- a/src/pages/Facility/settings/locations/LocationSettings.tsx
+++ b/src/pages/Facility/settings/locations/LocationSettings.tsx
@@ -33,7 +33,7 @@ import locationApi from "@/types/location/locationApi";
import LocationMap from "./LocationMap";
import LocationSheet from "./LocationSheet";
import LocationView from "./LocationView";
-import { LocationCard } from "./components/LocationCard";
+import { SettingsLocationCard as LocationCard } from "./components/LocationCard";
import { LocationTable } from "./components/LocationTable";
interface LocationSettingsProps {
diff --git a/src/pages/Facility/settings/locations/LocationSheet.tsx b/src/pages/Facility/settings/locations/LocationSheet.tsx
index 1a881c20e05..9fb6a21dea0 100644
--- a/src/pages/Facility/settings/locations/LocationSheet.tsx
+++ b/src/pages/Facility/settings/locations/LocationSheet.tsx
@@ -20,7 +20,7 @@ interface Props {
parentId?: string;
}
-export default function LocationSheet({
+export default function SettingsLocationSheet({
open,
onOpenChange,
facilityId,
diff --git a/src/pages/Facility/settings/locations/LocationView.tsx b/src/pages/Facility/settings/locations/LocationView.tsx
index 6cf967ed547..9a150365125 100644
--- a/src/pages/Facility/settings/locations/LocationView.tsx
+++ b/src/pages/Facility/settings/locations/LocationView.tsx
@@ -34,7 +34,7 @@ import { LocationRead } from "@/types/location/location";
import locationApi from "@/types/location/locationApi";
import LocationSheet from "./LocationSheet";
-import { LocationCard } from "./components/LocationCard";
+import { SettingsLocationCard as LocationCard } from "./components/LocationCard";
import { LocationTable } from "./components/LocationTable";
interface Props {
diff --git a/src/pages/Facility/settings/locations/components/LocationCard.tsx b/src/pages/Facility/settings/locations/components/LocationCard.tsx
index 5780d2dd13b..8d0fe7ab0c8 100644
--- a/src/pages/Facility/settings/locations/components/LocationCard.tsx
+++ b/src/pages/Facility/settings/locations/components/LocationCard.tsx
@@ -47,7 +47,7 @@ interface Props {
setPage?: (page: number) => void;
}
-export function LocationCard({
+export function SettingsLocationCard({
location,
onEdit,
onView,
diff --git a/src/pages/Facility/settings/organizations/components/EditFacilityUserRoleSheet.tsx b/src/pages/Facility/settings/organizations/components/EditFacilityUserRoleSheet.tsx
index 2ac4be57d5d..ebdf9388e35 100644
--- a/src/pages/Facility/settings/organizations/components/EditFacilityUserRoleSheet.tsx
+++ b/src/pages/Facility/settings/organizations/components/EditFacilityUserRoleSheet.tsx
@@ -32,7 +32,7 @@ interface Props {
trigger?: React.ReactNode;
}
-export default function EditUserRoleSheet({
+export default function EditFacilityUserRoleSheet({
facilityId,
organizationId,
userRole,
diff --git a/src/pages/Facility/settings/productKnowledge/ProductKnowledgeList.tsx b/src/pages/Facility/settings/productKnowledge/ProductKnowledgeList.tsx
index 0f8d8b0fe0d..283fc674daa 100644
--- a/src/pages/Facility/settings/productKnowledge/ProductKnowledgeList.tsx
+++ b/src/pages/Facility/settings/productKnowledge/ProductKnowledgeList.tsx
@@ -4,7 +4,7 @@ import { useTranslation } from "react-i18next";
import Page from "@/components/Common/Page";
import { ResourceCategoryList } from "@/components/Common/ResourceCategoryList";
-import { ProductKnowledgeList as ProductKnowledgeListComponent } from "@/pages/Facility/settings/productKnowledge/ProductKnowledgeListComponent";
+import { ProductKnowledgeListContent } from "@/pages/Facility/settings/productKnowledge/ProductKnowledgeListComponent";
import { ResourceCategoryResourceType } from "@/types/base/resourceCategory/resourceCategory";
import { ProductKnowledgeStatus } from "@/types/inventory/productKnowledge/productKnowledge";
import productKnowledgeApi from "@/types/inventory/productKnowledge/productKnowledgeApi";
@@ -60,7 +60,7 @@ export default function ProductKnowledgeList({
}}
>
{categorySlug && (
- void;
}
-export function ProductKnowledgeList({
+export function ProductKnowledgeListContent({
facilityId,
categorySlug,
setAllowCategoryCreate,
diff --git a/src/pages/Patient/History/MedicationHistory.tsx b/src/pages/Patient/History/MedicationHistory.tsx
index 280c38fcda3..414581bd8e5 100644
--- a/src/pages/Patient/History/MedicationHistory.tsx
+++ b/src/pages/Patient/History/MedicationHistory.tsx
@@ -9,7 +9,7 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { TableSkeleton } from "@/components/Common/SkeletonLoading";
import { AdministrationTab } from "@/components/Medicine/MedicationAdministration/AdministrationTab";
-import { EmptyState } from "@/components/Medicine/MedicationRequestTable";
+import { MedicationRequestEmptyState as EmptyState } from "@/components/Medicine/MedicationRequestTable";
import { MedicationsTable } from "@/components/Medicine/MedicationsTable";
import { MedicationStatementList } from "@/components/Patient/MedicationStatementList";
diff --git a/src/pages/Patient/index.tsx b/src/pages/Patient/index.tsx
index f79dedd5d64..86838d559af 100644
--- a/src/pages/Patient/index.tsx
+++ b/src/pages/Patient/index.tsx
@@ -24,7 +24,7 @@ import {
import AppointmentDialog from "./components/AppointmentDialog";
-function PatientIndex() {
+function PatientPortalIndex() {
const { t } = useTranslation();
const [selectedAppointment, setSelectedAppointment] = useState<
@@ -205,4 +205,4 @@ function PatientIndex() {
);
}
-export default PatientIndex;
+export default PatientPortalIndex;
diff --git a/src/pages/PublicAppointments/PatientRegistration.tsx b/src/pages/PublicAppointments/PatientRegistration.tsx
index 900c249b9c5..373fb236b66 100644
--- a/src/pages/PublicAppointments/PatientRegistration.tsx
+++ b/src/pages/PublicAppointments/PatientRegistration.tsx
@@ -40,7 +40,7 @@ type PatientRegistrationProps = {
staffId: string;
};
-export function PatientRegistration(props: PatientRegistrationProps) {
+export function PublicPatientRegistration(props: PatientRegistrationProps) {
const { staffId } = props;
const { t } = useTranslation();
const [{ slotId, reason }] = useQueryParams();
diff --git a/vite.config.mts b/vite.config.mts
index ab8fb178e73..91a8cd35068 100644
--- a/vite.config.mts
+++ b/vite.config.mts
@@ -19,6 +19,7 @@ import path from "path";
import checker from "vite-plugin-checker";
import { VitePWA } from "vite-plugin-pwa";
import { viteStaticCopy } from "vite-plugin-static-copy";
+import { autoRegisterComponents } from "./plugins/autoRegisterComponents";
import { careConsoleArt } from "./plugins/careConsoleArt";
import { fixSonnerPackageJson } from "./plugins/fixSonnerPackageJson";
import { treeShakeCareIcons } from "./plugins/treeShakeCareIcons";
@@ -103,6 +104,19 @@ function getMimeType(filePath: string) {
}
}
+function parseRegisteredComponentNames(value: string | undefined) {
+ if (!value || value.trim() === "" || value.trim() === "*") {
+ return null;
+ }
+
+ return new Set(
+ value
+ .split(",")
+ .map((name) => name.trim())
+ .filter(Boolean),
+ );
+}
+
function isPluginManifestPath(rootDir: string, filePath: string) {
const normalizedFilePath = normalizePath(filePath);
const appsPrefix = `${normalizePath(path.join(rootDir, "apps"))}/`;
@@ -415,6 +429,11 @@ export default defineConfig(async ({ mode }): Promise => {
careConsoleArt(),
fixSonnerPackageJson(),
localPluginDevSupport(),
+ autoRegisterComponents({
+ include: parseRegisteredComponentNames(
+ env.REACT_MFE_REGISTERED_COMPONENTS,
+ ),
+ }),
tailwindcss(),
federation({
name: "core",