Back to Cal

Avoid Barrel Imports

agents/rules/quality-avoid-barrel-imports.md

6.2.0891 B
Original Source

Avoid Barrel Imports

Impact: MEDIUM (Improves tree-shaking and reduces bundle size)

Barrel files (index.ts that re-export from multiple modules) can hurt tree-shaking and increase bundle sizes. Import directly from source files instead.

Incorrect (importing from barrel files):

typescript
// Importing from index.ts barrel files
import { BookingService, UserService } from "./services";

// Importing from @calcom/ui barrel
import { Button } from "@calcom/ui";

Correct (importing directly from source):

typescript
// Import directly from source files
import { BookingService } from "./services/BookingService";
import { UserService } from "./services/UserService";

// Import directly from component path
import { Button } from "@calcom/ui/components/button";

Reference: Cal.com Engineering Standards