UNPKG

@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
// 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';