Skip to content

Conversation

@bartstc
Copy link
Owner

@bartstc bartstc commented Aug 5, 2025

Summary

This PR implements a comprehensive refactoring of the API infrastructure to centralize all API-related code under src/lib/api/ with improved organization and type safety.

Key Changes

🏗️ New API Structure

  • Created centralized src/lib/api/ directory with endpoint-based organization
  • Adopted kebab-case naming convention throughout
  • Eliminated barrel exports (index.ts files) for explicit imports
  • Organized by feature domains: auth/, carts/, products/

📋 Type Consolidation

  • Moved all type definitions from features to API lib
  • DTOs now live alongside their corresponding queries/commands
  • Feature types reexport from API lib maintaining backward compatibility
  • Eliminated circular dependencies between features and API

🔧 Query & Command Organization

  • Separate files for each query/command operation
  • Centralized query keys per domain
  • Consistent patterns across all API operations
  • Proper TypeScript typing throughout

🔒 ESLint Restrictions

  • Added import restrictions preventing src/lib from importing from src/features
  • Enforces proper architectural boundaries
  • Prevents future violations of the new structure

🧹 Infrastructure Updates

  • Updated feature infrastructure to reexport from new API lib
  • Removed old DTO files and empty directories
  • Fixed authStore dependencies in API commands
  • Maintained backward compatibility for existing consumers

File Structure

src/lib/api/
├── auth/
│   ├── login/
│   │   ├── login-dto.ts
│   │   └── login-command.ts
│   └── users/{user-id}/
│       ├── user-dto.ts
│       └── user-query.ts
├── carts/
│   ├── {cart-id}/
│   │   ├── cart-dto.ts
│   │   ├── cart-query.ts
│   │   ├── cart-products-query.ts
│   │   ├── add-to-cart-command.ts
│   │   ├── clear-cart-command.ts
│   │   └── purchase-command.ts
│   └── cart-query-keys.ts
└── products/
    ├── {product-id}/
    │   ├── product-dto.ts
    │   └── product-query.ts
    ├── products-list/
    │   ├── products-list-dto.ts
    │   └── products-list-query.ts
    └── products-query-keys.ts

Benefits

  • Centralized API Logic: All API operations in one location
  • Better Type Safety: Types co-located with their usage
  • Consistent Patterns: Uniform structure across domains
  • Maintainable: Clear separation of concerns
  • Scalable: Easy to add new endpoints following established patterns

@github-actions
Copy link

github-actions bot commented Aug 5, 2025

Summary

Summary
Generated on: 08/05/2025 - 17:27:42
Parser: MultiReport (2x LCov)
Assemblies: 1
Classes: 120
Files: 120
Line coverage: 74.3% (511 of 687)
Covered lines: 511
Uncovered lines: 176
Coverable lines: 687
Total lines: 4591
Branch coverage: 53.8% (112 of 208)
Covered branches: 112
Total branches: 208
Method coverage: Feature is only available for sponsors
Tag: 236_16756835372

Coverage

Default - 74.3%
Name Line Branch
Default 74.3% 53.8%
src/app/App.tsx 0% 0%
src/app/Providers.tsx 0%
src/features/auth/application/AuthProvider.tsx 0% 0%
src/features/auth/application/authStore.ts 73.3% 71.4%
src/features/auth/application/RequireAuth.tsx 50% 0%
src/features/auth/application/RequirePub.tsx 50% 0%
src/features/auth/application/withRequireAuth.tsx 100%
src/features/auth/application/withRequirePub.tsx 100%
src/features/auth/presentation/SignInForm.tsx 86.6% 75%
src/features/auth/presentation/useSignInNotifications.ts 100%
src/features/carts/infrastructure/useAddToCart.ts 88.8% 75%
src/features/carts/infrastructure/useClearCart.ts 87.5% 50%
src/features/carts/presentation/AddToCartButton/AddToCartButton.tsx 85.7% 66.6%
src/features/carts/presentation/AddToCartButton/ProductAddedDialog.tsx 80%
src/features/carts/presentation/AddToCartButton/useAddToCartNotifications.t
s
80%
src/features/carts/presentation/AddToCartButton/useProductAddedDialogStore.
ts
100%
src/features/carts/presentation/CartItem.tsx 75%
src/features/carts/presentation/CartsList.tsx 87.5%
src/features/carts/presentation/CheckoutButton/CheckoutButton.tsx 100%
src/features/carts/presentation/CheckoutButton/CheckoutDialog.tsx 100%
src/features/carts/presentation/CheckoutButton/usePurchaseDialogStore.ts 100%
src/features/carts/presentation/CheckoutForm.tsx 93.7%
src/features/carts/presentation/ClearCartButton/ClearCartButton.tsx 100%
src/features/carts/presentation/ClearCartButton/ConfirmClearCartDialog.tsx 90%
src/features/carts/presentation/ClearCartButton/useClearCartNotifications.t
s
87.5%
src/features/carts/presentation/ClearCartButton/useConfirmClearCartDialogSt
ore.ts
100%
src/features/carts/presentation/useCheckoutNotifications.ts 87.5%
src/features/demo/application/useCounter.ts 100%
src/features/demo/presentation/Demo.tsx 80%
src/features/marketing/presentation/FeatureSection.tsx 40%
src/features/marketing/presentation/HeroSection.tsx 50%
src/features/marketing/presentation/PricingSection.tsx 40%
src/features/products/presentation/ProductCard.tsx 66.6%
src/features/products/presentation/ProductDetails.tsx 100%
src/features/products/presentation/ProductNotFoundResult.tsx 75%
src/features/products/presentation/ProductsList.tsx 100% 100%
src/features/products/presentation/StarRating.tsx 100% 100%
src/features/products/presentation/useCategoryLabel.ts 100% 50%
src/lib/api/auth/login/login-command.ts 100%
src/lib/api/auth/users/{user-id}/user-query.ts 100%
src/lib/api/carts/{cart-id}/add-to-cart-command.ts 75% 100%
src/lib/api/carts/{cart-id}/cart-products-query.ts 41.6% 0%
src/lib/api/carts/{cart-id}/cart-query.ts 0%
src/lib/api/carts/{cart-id}/clear-cart-command.ts 75%
src/lib/api/carts/{cart-id}/purchase-command.ts 100%
src/lib/api/carts/cart-query-keys.ts 80%
src/lib/api/products/{product-id}/product-dto.ts 100%
src/lib/api/products/{product-id}/product-query.ts 83.3%
src/lib/api/products/products-list/products-list-query.ts 100% 33.3%
src/lib/api/products/products-query-keys.ts 100%
src/lib/buildUrl.ts 75% 50%
src/lib/components/ErrorBoundary/ErrorBoundary.tsx 50%
src/lib/components/Form/Select.tsx 100%
src/lib/components/Form/TextInput.tsx 100% 100%
src/lib/components/Layout/Footer/index.tsx 100%
src/lib/components/Layout/Footer/Logo.tsx 100%
src/lib/components/Layout/Layout.tsx 0%
src/lib/components/Layout/Navbar/DesktopNav.tsx 100% 66.6%
src/lib/components/Layout/Navbar/index.tsx 94.7% 85.7%
src/lib/components/Layout/Navbar/LoaderBar.tsx 100% 50%
src/lib/components/Layout/Navbar/MobileNav.tsx 100% 85.7%
src/lib/components/Layout/Navbar/useNavItems.ts 100% 100%
src/lib/components/Layout/Page.tsx 100% 100%
src/lib/components/Layout/PageHeader.tsx 100% 100%
src/lib/components/Layout/ToggleModeButton.tsx 100% 100%
src/lib/components/Modal/createModalStore.ts 100% 100%
src/lib/components/Result/Buttons/ContactUsButton.tsx 100%
src/lib/components/Result/Buttons/ResetFiltersButton.tsx 100%
src/lib/components/Result/EmptyStateResult.tsx 100%
src/lib/components/Result/ErrorPageStrategy.tsx 0% 0%
src/lib/components/Result/Icons/ErrorIcon.tsx 100%
src/lib/components/Result/Icons/InfoIcon.tsx 0%
src/lib/components/Result/Icons/SuccessIcon.tsx 0%
src/lib/components/Result/Icons/WarningIcon.tsx 100%
src/lib/components/Result/InternalErrorResult.tsx 100%
src/lib/components/Result/InternalServerErrorResult.tsx 100%
src/lib/components/Result/NotFoundResult.tsx 100%
src/lib/components/Result/Result.tsx 100%
src/lib/components/Toast/useNotImplementedYetToast.ts 80%
src/lib/components/Toast/useToast.ts 100%
src/lib/compose.ts 0%
src/lib/date/Date.ts 91.3% 85.7%
src/lib/date/useFormatDate.ts 100% 100%
src/lib/date/useFormatDateTime.ts 100% 100%
src/lib/date/useRelativeTime.ts 100% 100%
src/lib/format/Money.ts 91.6% 75%
src/lib/format/Number.ts 90% 75%
src/lib/get.ts 100%
src/lib/http/AjaxError.ts 0% 0%
src/lib/http/exceptions/InternalServerException.ts 0%
src/lib/http/exceptions/ResourceNotFoundException.ts 0% 0%
src/lib/http/HttpService.ts 87.5%
src/lib/http/index.ts 100%
src/lib/http/KyClient.ts 53.3% 0%
src/lib/i18n/i18n.ts 68.4% 37.5%
src/lib/i18n/useTransations.ts 100%
src/lib/isEmpty.ts 100%
src/lib/logger/ConsoleLogger.ts 33.3% 10%
src/lib/logger/ILogger.ts 100%
src/lib/logger/index.ts 50% 41.6%
src/lib/logger/MockLogger.ts 0%
src/lib/logger/StorybookLogger.ts 0%
src/lib/query.ts 100%
src/lib/router/handleLazyImportError.ts 0% 0%
src/lib/router/index.ts 80% 37.5%
src/lib/router/routes.ts 100%
src/lib/router/useRouteError.ts 50%
src/lib/theme/theme.ts 0%
src/lib/theme/useBrandColor.ts 100%
src/lib/theme/useSecondaryTextColor.ts 100%
src/pages/Cart/index.tsx 37.5%
src/pages/Cart/loader.ts 100%
src/pages/Home/index.tsx 50% 0%
src/pages/Home/loader.ts 100%
src/pages/Product/index.tsx 27.2% 0%
src/pages/Product/loader.ts 100%
src/pages/Products/index.tsx 90% 40%
src/pages/Products/loader.ts 100%
src/pages/router.tsx 0%
src/pages/SignIn/index.tsx 100%

- Update CLAUDE.md with centralized API architecture
- Add detailed API layer structure and patterns
- Update README.md to mention API centralization
- Document new kebab-case naming and type consolidation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@github-actions
Copy link

github-actions bot commented Aug 5, 2025

Summary

Summary
Generated on: 08/05/2025 - 17:33:03
Parser: MultiReport (2x LCov)
Assemblies: 1
Classes: 120
Files: 120
Line coverage: 74.3% (511 of 687)
Covered lines: 511
Uncovered lines: 176
Coverable lines: 687
Total lines: 4591
Branch coverage: 53.8% (112 of 208)
Covered branches: 112
Total branches: 208
Method coverage: Feature is only available for sponsors
Tag: 237_16756953512

Coverage

Default - 74.3%
Name Line Branch
Default 74.3% 53.8%
src/app/App.tsx 0% 0%
src/app/Providers.tsx 0%
src/features/auth/application/AuthProvider.tsx 0% 0%
src/features/auth/application/authStore.ts 73.3% 71.4%
src/features/auth/application/RequireAuth.tsx 50% 0%
src/features/auth/application/RequirePub.tsx 50% 0%
src/features/auth/application/withRequireAuth.tsx 100%
src/features/auth/application/withRequirePub.tsx 100%
src/features/auth/presentation/SignInForm.tsx 86.6% 75%
src/features/auth/presentation/useSignInNotifications.ts 100%
src/features/carts/infrastructure/useAddToCart.ts 88.8% 75%
src/features/carts/infrastructure/useClearCart.ts 87.5% 50%
src/features/carts/presentation/AddToCartButton/AddToCartButton.tsx 85.7% 66.6%
src/features/carts/presentation/AddToCartButton/ProductAddedDialog.tsx 80%
src/features/carts/presentation/AddToCartButton/useAddToCartNotifications.t
s
80%
src/features/carts/presentation/AddToCartButton/useProductAddedDialogStore.
ts
100%
src/features/carts/presentation/CartItem.tsx 75%
src/features/carts/presentation/CartsList.tsx 87.5%
src/features/carts/presentation/CheckoutButton/CheckoutButton.tsx 100%
src/features/carts/presentation/CheckoutButton/CheckoutDialog.tsx 100%
src/features/carts/presentation/CheckoutButton/usePurchaseDialogStore.ts 100%
src/features/carts/presentation/CheckoutForm.tsx 93.7%
src/features/carts/presentation/ClearCartButton/ClearCartButton.tsx 100%
src/features/carts/presentation/ClearCartButton/ConfirmClearCartDialog.tsx 90%
src/features/carts/presentation/ClearCartButton/useClearCartNotifications.t
s
87.5%
src/features/carts/presentation/ClearCartButton/useConfirmClearCartDialogSt
ore.ts
100%
src/features/carts/presentation/useCheckoutNotifications.ts 87.5%
src/features/demo/application/useCounter.ts 100%
src/features/demo/presentation/Demo.tsx 80%
src/features/marketing/presentation/FeatureSection.tsx 40%
src/features/marketing/presentation/HeroSection.tsx 50%
src/features/marketing/presentation/PricingSection.tsx 40%
src/features/products/presentation/ProductCard.tsx 66.6%
src/features/products/presentation/ProductDetails.tsx 100%
src/features/products/presentation/ProductNotFoundResult.tsx 75%
src/features/products/presentation/ProductsList.tsx 100% 100%
src/features/products/presentation/StarRating.tsx 100% 100%
src/features/products/presentation/useCategoryLabel.ts 100% 50%
src/lib/api/auth/login/login-command.ts 100%
src/lib/api/auth/users/{user-id}/user-query.ts 100%
src/lib/api/carts/{cart-id}/add-to-cart-command.ts 75% 100%
src/lib/api/carts/{cart-id}/cart-products-query.ts 41.6% 0%
src/lib/api/carts/{cart-id}/cart-query.ts 0%
src/lib/api/carts/{cart-id}/clear-cart-command.ts 75%
src/lib/api/carts/{cart-id}/purchase-command.ts 100%
src/lib/api/carts/cart-query-keys.ts 80%
src/lib/api/products/{product-id}/product-dto.ts 100%
src/lib/api/products/{product-id}/product-query.ts 83.3%
src/lib/api/products/products-list/products-list-query.ts 100% 33.3%
src/lib/api/products/products-query-keys.ts 100%
src/lib/buildUrl.ts 75% 50%
src/lib/components/ErrorBoundary/ErrorBoundary.tsx 50%
src/lib/components/Form/Select.tsx 100%
src/lib/components/Form/TextInput.tsx 100% 100%
src/lib/components/Layout/Footer/index.tsx 100%
src/lib/components/Layout/Footer/Logo.tsx 100%
src/lib/components/Layout/Layout.tsx 0%
src/lib/components/Layout/Navbar/DesktopNav.tsx 100% 66.6%
src/lib/components/Layout/Navbar/index.tsx 94.7% 85.7%
src/lib/components/Layout/Navbar/LoaderBar.tsx 100% 50%
src/lib/components/Layout/Navbar/MobileNav.tsx 100% 85.7%
src/lib/components/Layout/Navbar/useNavItems.ts 100% 100%
src/lib/components/Layout/Page.tsx 100% 100%
src/lib/components/Layout/PageHeader.tsx 100% 100%
src/lib/components/Layout/ToggleModeButton.tsx 100% 100%
src/lib/components/Modal/createModalStore.ts 100% 100%
src/lib/components/Result/Buttons/ContactUsButton.tsx 100%
src/lib/components/Result/Buttons/ResetFiltersButton.tsx 100%
src/lib/components/Result/EmptyStateResult.tsx 100%
src/lib/components/Result/ErrorPageStrategy.tsx 0% 0%
src/lib/components/Result/Icons/ErrorIcon.tsx 100%
src/lib/components/Result/Icons/InfoIcon.tsx 0%
src/lib/components/Result/Icons/SuccessIcon.tsx 0%
src/lib/components/Result/Icons/WarningIcon.tsx 100%
src/lib/components/Result/InternalErrorResult.tsx 100%
src/lib/components/Result/InternalServerErrorResult.tsx 100%
src/lib/components/Result/NotFoundResult.tsx 100%
src/lib/components/Result/Result.tsx 100%
src/lib/components/Toast/useNotImplementedYetToast.ts 80%
src/lib/components/Toast/useToast.ts 100%
src/lib/compose.ts 0%
src/lib/date/Date.ts 91.3% 85.7%
src/lib/date/useFormatDate.ts 100% 100%
src/lib/date/useFormatDateTime.ts 100% 100%
src/lib/date/useRelativeTime.ts 100% 100%
src/lib/format/Money.ts 91.6% 75%
src/lib/format/Number.ts 90% 75%
src/lib/get.ts 100%
src/lib/http/AjaxError.ts 0% 0%
src/lib/http/exceptions/InternalServerException.ts 0%
src/lib/http/exceptions/ResourceNotFoundException.ts 0% 0%
src/lib/http/HttpService.ts 87.5%
src/lib/http/index.ts 100%
src/lib/http/KyClient.ts 53.3% 0%
src/lib/i18n/i18n.ts 68.4% 37.5%
src/lib/i18n/useTransations.ts 100%
src/lib/isEmpty.ts 100%
src/lib/logger/ConsoleLogger.ts 33.3% 10%
src/lib/logger/ILogger.ts 100%
src/lib/logger/index.ts 50% 41.6%
src/lib/logger/MockLogger.ts 0%
src/lib/logger/StorybookLogger.ts 0%
src/lib/query.ts 100%
src/lib/router/handleLazyImportError.ts 0% 0%
src/lib/router/index.ts 80% 37.5%
src/lib/router/routes.ts 100%
src/lib/router/useRouteError.ts 50%
src/lib/theme/theme.ts 0%
src/lib/theme/useBrandColor.ts 100%
src/lib/theme/useSecondaryTextColor.ts 100%
src/pages/Cart/index.tsx 37.5%
src/pages/Cart/loader.ts 100%
src/pages/Home/index.tsx 50% 0%
src/pages/Home/loader.ts 100%
src/pages/Product/index.tsx 27.2% 0%
src/pages/Product/loader.ts 100%
src/pages/Products/index.tsx 90% 40%
src/pages/Products/loader.ts 100%
src/pages/router.tsx 0%
src/pages/SignIn/index.tsx 100%

@github-actions
Copy link

github-actions bot commented Aug 5, 2025

Summary

Summary
Generated on: 08/05/2025 - 17:38:43
Parser: MultiReport (2x LCov)
Assemblies: 1
Classes: 120
Files: 120
Line coverage: 73.3% (504 of 687)
Covered lines: 504
Uncovered lines: 183
Coverable lines: 687
Total lines: 4591
Branch coverage: 52.8% (110 of 208)
Covered branches: 110
Total branches: 208
Method coverage: Feature is only available for sponsors
Tag: 238_16757074013

Coverage

Default - 73.3%
Name Line Branch
Default 73.3% 52.8%
src/app/App.tsx 0% 0%
src/app/Providers.tsx 0%
src/features/auth/application/AuthProvider.tsx 0% 0%
src/features/auth/application/authStore.ts 73.3% 71.4%
src/features/auth/application/RequireAuth.tsx 50% 0%
src/features/auth/application/RequirePub.tsx 50% 0%
src/features/auth/application/withRequireAuth.tsx 100%
src/features/auth/application/withRequirePub.tsx 100%
src/features/auth/presentation/SignInForm.tsx 86.6% 75%
src/features/auth/presentation/useSignInNotifications.ts 100%
src/features/carts/infrastructure/useAddToCart.ts 88.8% 75%
src/features/carts/infrastructure/useClearCart.ts 87.5% 50%
src/features/carts/presentation/AddToCartButton/AddToCartButton.tsx 85.7% 66.6%
src/features/carts/presentation/AddToCartButton/ProductAddedDialog.tsx 80%
src/features/carts/presentation/AddToCartButton/useAddToCartNotifications.t
s
80%
src/features/carts/presentation/AddToCartButton/useProductAddedDialogStore.
ts
100%
src/features/carts/presentation/CartItem.tsx 75%
src/features/carts/presentation/CartsList.tsx 87.5%
src/features/carts/presentation/CheckoutButton/CheckoutButton.tsx 100%
src/features/carts/presentation/CheckoutButton/CheckoutDialog.tsx 100%
src/features/carts/presentation/CheckoutButton/usePurchaseDialogStore.ts 100%
src/features/carts/presentation/CheckoutForm.tsx 93.7%
src/features/carts/presentation/ClearCartButton/ClearCartButton.tsx 100%
src/features/carts/presentation/ClearCartButton/ConfirmClearCartDialog.tsx 90%
src/features/carts/presentation/ClearCartButton/useClearCartNotifications.t
s
87.5%
src/features/carts/presentation/ClearCartButton/useConfirmClearCartDialogSt
ore.ts
100%
src/features/carts/presentation/useCheckoutNotifications.ts 87.5%
src/features/demo/application/useCounter.ts 100%
src/features/demo/presentation/Demo.tsx 80%
src/features/marketing/presentation/FeatureSection.tsx 40%
src/features/marketing/presentation/HeroSection.tsx 50%
src/features/marketing/presentation/PricingSection.tsx 40%
src/features/products/presentation/ProductCard.tsx 66.6%
src/features/products/presentation/ProductDetails.tsx 100%
src/features/products/presentation/ProductNotFoundResult.tsx 75%
src/features/products/presentation/ProductsList.tsx 100% 100%
src/features/products/presentation/StarRating.tsx 100% 100%
src/features/products/presentation/useCategoryLabel.ts 100% 50%
src/lib/api/auth/login/login-command.ts 100%
src/lib/api/auth/users/{user-id}/user-query.ts 100%
src/lib/api/carts/{cart-id}/add-to-cart-command.ts 75% 100%
src/lib/api/carts/{cart-id}/cart-products-query.ts 41.6% 0%
src/lib/api/carts/{cart-id}/cart-query.ts 0%
src/lib/api/carts/{cart-id}/clear-cart-command.ts 75%
src/lib/api/carts/{cart-id}/purchase-command.ts 100%
src/lib/api/carts/cart-query-keys.ts 80%
src/lib/api/products/{product-id}/product-dto.ts 100%
src/lib/api/products/{product-id}/product-query.ts 83.3%
src/lib/api/products/products-list/products-list-query.ts 85.7% 33.3%
src/lib/api/products/products-query-keys.ts 100%
src/lib/buildUrl.ts 75% 50%
src/lib/components/ErrorBoundary/ErrorBoundary.tsx 50%
src/lib/components/Form/Select.tsx 100%
src/lib/components/Form/TextInput.tsx 100% 100%
src/lib/components/Layout/Footer/index.tsx 100%
src/lib/components/Layout/Footer/Logo.tsx 100%
src/lib/components/Layout/Layout.tsx 0%
src/lib/components/Layout/Navbar/DesktopNav.tsx 100% 66.6%
src/lib/components/Layout/Navbar/index.tsx 94.7% 85.7%
src/lib/components/Layout/Navbar/LoaderBar.tsx 100% 50%
src/lib/components/Layout/Navbar/MobileNav.tsx 100% 85.7%
src/lib/components/Layout/Navbar/useNavItems.ts 100% 100%
src/lib/components/Layout/Page.tsx 100% 100%
src/lib/components/Layout/PageHeader.tsx 100% 100%
src/lib/components/Layout/ToggleModeButton.tsx 100% 100%
src/lib/components/Modal/createModalStore.ts 100% 100%
src/lib/components/Result/Buttons/ContactUsButton.tsx 100%
src/lib/components/Result/Buttons/ResetFiltersButton.tsx 100%
src/lib/components/Result/EmptyStateResult.tsx 100%
src/lib/components/Result/ErrorPageStrategy.tsx 0% 0%
src/lib/components/Result/Icons/ErrorIcon.tsx 100%
src/lib/components/Result/Icons/InfoIcon.tsx 0%
src/lib/components/Result/Icons/SuccessIcon.tsx 0%
src/lib/components/Result/Icons/WarningIcon.tsx 100%
src/lib/components/Result/InternalErrorResult.tsx 100%
src/lib/components/Result/InternalServerErrorResult.tsx 100%
src/lib/components/Result/NotFoundResult.tsx 100%
src/lib/components/Result/Result.tsx 100%
src/lib/components/Toast/useNotImplementedYetToast.ts 80%
src/lib/components/Toast/useToast.ts 100%
src/lib/compose.ts 0%
src/lib/date/Date.ts 91.3% 85.7%
src/lib/date/useFormatDate.ts 100% 100%
src/lib/date/useFormatDateTime.ts 100% 100%
src/lib/date/useRelativeTime.ts 100% 100%
src/lib/format/Money.ts 91.6% 75%
src/lib/format/Number.ts 90% 75%
src/lib/get.ts 100%
src/lib/http/AjaxError.ts 0% 0%
src/lib/http/exceptions/InternalServerException.ts 0%
src/lib/http/exceptions/ResourceNotFoundException.ts 0% 0%
src/lib/http/HttpService.ts 87.5%
src/lib/http/index.ts 100%
src/lib/http/KyClient.ts 53.3% 0%
src/lib/i18n/i18n.ts 68.4% 37.5%
src/lib/i18n/useTransations.ts 100%
src/lib/isEmpty.ts 100%
src/lib/logger/ConsoleLogger.ts 33.3% 10%
src/lib/logger/ILogger.ts 100%
src/lib/logger/index.ts 50% 41.6%
src/lib/logger/MockLogger.ts 0%
src/lib/logger/StorybookLogger.ts 0%
src/lib/query.ts 50%
src/lib/router/handleLazyImportError.ts 0% 0%
src/lib/router/index.ts 80% 37.5%
src/lib/router/routes.ts 100%
src/lib/router/useRouteError.ts 50%
src/lib/theme/theme.ts 0%
src/lib/theme/useBrandColor.ts 100%
src/lib/theme/useSecondaryTextColor.ts 100%
src/pages/Cart/index.tsx 37.5%
src/pages/Cart/loader.ts 100%
src/pages/Home/index.tsx 50% 0%
src/pages/Home/loader.ts 100%
src/pages/Product/index.tsx 27.2% 0%
src/pages/Product/loader.ts 100%
src/pages/Products/index.tsx 40% 0%
src/pages/Products/loader.ts 100%
src/pages/router.tsx 0%
src/pages/SignIn/index.tsx 100%

@bartstc bartstc merged commit 9bb7d7e into core Aug 7, 2025
6 checks passed
@bartstc bartstc deleted the chore/lib-api branch August 7, 2025 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants