@ai-growth/nextjs
Version:
Seamlessly integrate Sanity CMS with Next.js applications for automated blog routing and rendering
101 lines (100 loc) • 4.04 kB
JavaScript
// Utility functions will be exported from here
export { configSchema, ENV_VARS, ConfigurationError, getConfig, clearConfigCache, getSanityConfig, getCmsRoutePath, getSanityClientConfig, isSanityTokenAvailable, getApiVersion, getProjectId, getDataset,
// Next.js environment support
getClientConfig, getPublicConfig, clearClientConfigCache, getEnvironmentConfig, getCmsRoutePathSafe, getApiVersionSafe, isClient, isServer,
// Configuration validation & debugging
validateConfiguration, getConfigurationStatus, debugConfiguration, } from './config';
// Sanity client utilities
export { getSanityClient, clearSanityClientCache, getCachedSanityClient, createSanityClient,
// Connection verification
verifyConnection, isConnected, getConnectionInfo, } from './sanity-client';
// Content fetching utilities
export {
// Core fetching functions
getDocumentBySlug, getDocumentById, getDocumentsByType, getDocuments,
// Convenience functions
getPublishedDocuments, getFeaturedDocuments, getRecentDocuments, searchDocuments,
// Helper functions
documentExistsBySlug, documentExistsById, getDocumentCount, } from './content-fetching';
// Error handling utilities
export {
// Error classes and types
SanityError, SANITY_ERROR_CODES,
// Error utilities
isRetryableError, isRetryableStatusCode, createSanityError, createHttpError, withErrorHandling, isSanityError, getErrorDetails, } from './error-handling';
// Retry utilities
export {
// Retry functions
withRetry, withConditionalRetry, createRetryWrapper, calculateDelay, sleep,
// Circuit breaker
CircuitBreaker, createSanityCircuitBreaker,
// Configuration
DEFAULT_RETRY_CONFIG, RETRY_PRESETS, } from './retry';
// Route configuration utilities
export {
// Route configuration
getRouteConfig, clearRouteConfigCache,
// Route validation
isValidCmsRoute, extractRouteInfo, extractSlugFromPath, getContentTypeFromPath,
// Utility functions
areValidCmsRoutes, getRoutePatterns, validateRouteConfig, } from './route-config';
// CMS content integration utilities
export {
// Content fetching
fetchContentForRoute, fetchContentBySlug, fetchContentById,
// Route validation
validateContentRoute, contentExistsForRoute,
// Batch operations
preloadRouteContent, getAvailableRoutes, } from './cms-content';
// Error logging and monitoring system
export {
// Main logger class
ErrorLogger,
// Monitoring services
SentryMonitoringService, ConsoleMonitoringService,
// Default instance and convenience functions
errorLogger, logError, logWarning, logCriticalError, createErrorLogger,
// Enums
ErrorSeverity, ErrorCategory, } from './ErrorLogger';
// React components
export {
// Main template component
DefaultTemplate, DefaultTemplateErrorBoundary,
// Sub-components
ContentHeader, ContentBody, AuthorInfo, LoadingSkeleton, } from '../components';
export * from './route-config';
export * from './cms-content';
export * from './templateResolver';
export * from './themeAdapters';
// SEO utilities
export {
// Main processing functions
processSEO, processSEOData, sanitizeSEO, DEFAULT_SEO_CONFIG,
// Text utilities
isValidURL, generateSlug, extractTextContent, calculateReadingTime, } from './seo';
// Image optimization utilities
export {
// Sanity image processing
createSanityImageLoader, sanityImageLoader,
// Utility functions
validateImageUrl, calculateOptimalDimensions, getHighDPIDimensions,
// Constants
ASPECT_RATIOS, } from './image-optimization';
// Cache management utilities
export {
// Cache manager
CacheManager, defaultCacheManager, createCacheManager,
// Cache utilities
CacheKeys, CacheTags, } from './cache-manager';
// Lazy loading utilities
export {
// Core lazy loading functions
createLazyComponent, createLazyComponentWithChunk,
// Dynamic imports
useDynamicImport,
// Intersection observer utilities
useIntersectionObserver,
// Preloading utilities
useHoverPreload, preloadComponents, preloadByPriority, preloadOnRouteChange, createPagePreloader,
// Utility functions
isLazyLoadingSupported, estimateComponentSize, createChunkName, } from './lazy-loading';