@@ -15,9 +15,15 @@ codeflash/
1515├── code_utils/ # Code parsing, git utilities
1616├── models/ # Pydantic models and types
1717├── languages/ # Multi-language support (Python, JavaScript/TypeScript)
18- │ └── python/
19- │ ├── function_optimizer.py # PythonFunctionOptimizer (Python-specific hooks)
20- │ └── optimizer.py # Python module preparation & AST resolution
18+ │ ├── code_replacer.py # Language-agnostic code replacement
19+ │ ├── python/
20+ │ │ ├── function_optimizer.py # PythonFunctionOptimizer subclass
21+ │ │ ├── optimizer.py # Python module preparation & AST resolution
22+ │ │ └── normalizer.py # Python code normalization for deduplication
23+ │ └── javascript/
24+ │ ├── function_optimizer.py # JavaScriptFunctionOptimizer subclass
25+ │ ├── optimizer.py # JS project root finding & module preparation
26+ │ └── normalizer.py # JS/TS code normalization for deduplication
2127├── setup/ # Config schema, auto-detection, first-run experience
2228├── picklepatch/ # Serialization/deserialization utilities
2329├── tracing/ # Function call tracing
@@ -35,10 +41,10 @@ codeflash/
3541| ------| ------------|
3642| CLI arguments & commands | ` cli_cmds/cli.py ` |
3743| Optimization orchestration | ` optimization/optimizer.py ` → ` run() ` |
38- | Per-function optimization | ` optimization/function_optimizer.py ` (base), ` languages/python/function_optimizer.py ` (Python subclass) |
44+ | Per-function optimization | ` optimization/function_optimizer.py ` (base), ` languages/python/function_optimizer.py ` , ` languages/javascript/function_optimizer.py ` |
3945| Function discovery | ` discovery/functions_to_optimize.py ` |
4046| Context extraction | ` languages/<lang>/context/code_context_extractor.py ` |
41- | Test execution | ` verification/test_runner .py` , ` verification/pytest_plugin.py ` |
47+ | Test execution | ` languages/<lang>/support .py` ( ` run_behavioral_tests ` , etc.) , ` verification/pytest_plugin.py ` |
4248| Performance ranking | ` benchmarking/function_ranker.py ` |
4349| Domain types | ` models/models.py ` , ` models/function_types.py ` |
4450| Result handling | ` either.py ` (` Result ` , ` Success ` , ` Failure ` , ` is_successful ` ) |
0 commit comments