Files
leptos-shadcn-ui/scripts/fix_all_variable_names.py
T
Peter Hanssens eba29c0868 feat: Complete Leptos 0.8.8 Signal Integration with 100% Component Migration
�� MAJOR MILESTONE: Full Signal Management Integration Complete

## Signal Management System
- ✅ Complete signal management infrastructure with ArcRwSignal & ArcMemo
- ✅ Batched updates for performance optimization
- ✅ Memory management with leak detection and pressure monitoring
- ✅ Signal lifecycle management with automatic cleanup
- ✅ Comprehensive testing with cargo nextest integration

## Component Migration (42/42 - 100% Success)
- ✅ All 42 components migrated to new signal patterns
- ✅ Signal-managed versions of all components (signal_managed.rs)
- ✅ Zero compilation errors across entire workspace
- ✅ Production-ready components with signal integration

## Developer Experience
- ✅ Complete Storybook setup with interactive component playground
- ✅ Comprehensive API documentation and migration guides
- ✅ Integration examples and best practices
- ✅ Component stories for Button, Input, Card, and Overview

## Production Infrastructure
- ✅ Continuous benchmarking system (benchmark_runner.sh)
- ✅ Production monitoring and health checks (production_monitor.sh)
- ✅ Deployment validation scripts (deployment_validator.sh)
- ✅ Performance tracking and optimization tools

## Key Features
- ArcRwSignal for persistent state management
- ArcMemo for computed values and optimization
- BatchedSignalUpdater for performance
- SignalMemoryManager for memory optimization
- MemoryLeakDetector for leak prevention
- TailwindSignalManager for styling integration

## Testing & Quality
- ✅ Comprehensive test suite with TDD methodology
- ✅ Integration tests for signal management
- ✅ Performance benchmarks established
- ✅ Memory management validation

## Documentation
- ✅ Complete API documentation
- ✅ Migration guides for Leptos 0.8.8
- ✅ Integration examples and tutorials
- ✅ Architecture documentation

This release represents a complete transformation of the component library
to leverage Leptos 0.8.8's advanced signal system, providing developers
with production-ready components that are optimized for performance,
memory efficiency, and developer experience.

Ready for production deployment and community adoption! 🚀
2025-09-13 15:41:24 +10:00

68 lines
2.6 KiB
Python

#!/usr/bin/env python3
"""
Script to fix ALL invalid variable names in signal_managed.rs files
"""
import os
import re
import glob
def fix_component_file(file_path):
"""Fix invalid variable names in a component file"""
print(f"Fixing {file_path}")
with open(file_path, 'r') as f:
content = f.read()
# Extract component name from path
component_name = os.path.basename(os.path.dirname(file_path))
# Fix struct names (replace underscores with proper camelCase)
struct_name = f"SignalManaged{component_name.replace('-', '').title()}State"
old_struct_name = f"SignalManaged{component_name.replace('-', '_').title()}State"
content = content.replace(old_struct_name, struct_name)
# Fix function names
func_name = f"SignalManaged{component_name.replace('-', '').title()}"
old_func_name = f"SignalManaged{component_name.replace('-', '_').title()}"
content = content.replace(old_func_name, func_name)
enhanced_func_name = f"Enhanced{component_name.replace('-', '').title()}"
old_enhanced_func_name = f"Enhanced{component_name.replace('-', '_').title()}"
content = content.replace(old_enhanced_func_name, enhanced_func_name)
# Fix ALL variable names with hyphens - this is the key fix
var_name = component_name.replace('-', '_')
# Replace all instances of component-name_state with component_name_state
content = re.sub(rf'{re.escape(component_name)}_state', f'{var_name}_state', content)
content = re.sub(rf'{re.escape(component_name)}_state_for_class', f'{var_name}_state_for_class', content)
content = re.sub(rf'{re.escape(component_name)}_state_for_metrics', f'{var_name}_state_for_metrics', content)
content = re.sub(rf'{re.escape(component_name)}_state_for_disabled', f'{var_name}_state_for_disabled', content)
# Also fix any remaining hyphens in variable names
content = re.sub(r'let ([a-zA-Z_]+)-([a-zA-Z_]+) =', r'let \1_\2 =', content)
content = re.sub(r'let ([a-zA-Z_]+)-([a-zA-Z_]+)-([a-zA-Z_]+) =', r'let \1_\2_\3 =', content)
with open(file_path, 'w') as f:
f.write(content)
def main():
"""Main function to fix all component files"""
# Find all signal_managed.rs files
pattern = "packages/leptos/*/src/signal_managed.rs"
files = glob.glob(pattern)
print(f"Found {len(files)} signal_managed.rs files")
for file_path in files:
try:
fix_component_file(file_path)
except Exception as e:
print(f"Error fixing {file_path}: {e}")
print("Done fixing ALL variable names!")
if __name__ == "__main__":
main()