Skip to content

feat: add large scale project conversion - #2

Open
CybersharpX wants to merge 1 commit into
ahron-maslin:masterfrom
CybersharpX:feature/large-scale-project-conversion
Open

CybersharpX wants to merge 1 commit into
ahron-maslin:masterfrom
CybersharpX:feature/large-scale-project-conversion

Conversation

@CybersharpX

Copy link
Copy Markdown

Summary

Adds end-to-end directory and project-level conversion to the transpiler framework.

Features

  • Project Subsystem (transpiler.project):
    • ProjectScanner: Recursive discovery with .gitignore and glob filtering.
    • IncrementalCache: SHA-256 hash-based caching to skip unchanged files.
    • ProjectSymbolIndex: Cross-file symbol extraction for multi-file type inference.
    • manifest.py: Auto-generates Cargo.toml, package.json, go.mod, and __init__.py.
    • ProjectConverter: Multi-worker concurrent conversion (ThreadPoolExecutor) with error resilience.
    • FileResult & ConversionReport: Summary reporting and JSON export.
  • Enhanced Type Inference: Pre-populates external function signatures for cross-file call type resolution.
  • CLI Extensions: Supports directory inputs, -o/--output-dir, -j/--jobs, --incremental, --force, --copy-assets, --dry-run, --config, and --report.
  • Configuration Support: Load settings from transpiler.json.

Testing

  • 287/287 tests passing (pytest).
  • Clean formatting and linting (black, ruff, mypy).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant