Back to all reviewers

Environment-aware configuration management

TanStack/router
Based on 3 comments
TSX

Ensure configuration management accounts for different environments and maintains backward compatibility during migrations. This includes using safe access patterns for global objects, versioning configuration keys, and preserving environment-specific behavior.

Configurations TSX

Reviewer Prompt

Ensure configuration management accounts for different environments and maintains backward compatibility during migrations. This includes using safe access patterns for global objects, versioning configuration keys, and preserving environment-specific behavior.

Key practices:

  1. Safe Global Access: Use optional chaining when accessing global objects that may not exist in all environments
  2. Version Configuration Keys: Include version identifiers in storage/configuration keys to prevent conflicts during major updates
  3. Environment-Specific Behavior: Maintain different configuration behavior for production vs development environments
  4. Migration Strategy: Use proxy exports to maintain backward compatibility when restructuring packages

Example from the discussions:

// Safe global access with optional chaining
__html: `(${restoreScroll.toString()})(${JSON.stringify(storageKey)},${JSON.stringify(resolvedKey)});__TSR__?.cleanScripts?.()`

// Versioned configuration keys
export const storageKey = 'tsr-scroll-restoration-v1-3'

// Proxy exports for backward compatibility
export { TanStackRouterDevtoolsInProd as TanStackRouterDevtools } from '@tanstack/react-router-devtools'

This approach prevents runtime errors in different environments, avoids configuration conflicts during updates, and ensures smooth transitions during package migrations.

3
Comments Analyzed
TSX
Primary Language
Configurations
Category

Source Discussions