Skip to content

Epic: Evaluate TS-facade migration for remaining dual-C# Node modules #1096

Description

@nickna

Goal

Evaluate (do not big-bang) migrating the remaining dual-hand-written-in-C# Node modules to the proven TS-facade-over-thin-primitive pattern that already collapsed fs/os/process. The compiled IL-emitter side alone is large: http ~5,600 LOC, stream ~4,600, dns ~4,400, net ~4,300, crypto ~2,900, tls ~1,600 — each mirrored by a separate interpreter impl.

The win is real but uneven: facade migration is most valuable where a module is logic-over-simple-primitives. Socket/stream modules have large stateful primitives, so the win there is the API-glue layer, not the core. Best driven per-module, coordinated with the existing coverage epics (e.g. child_process #1012).

Sub-issues (rough priority order)


Working agreement for every child PR

  • Green on dotnet test, SharpTS.Test262, and SharpTS.TypeScriptConformance (no baseline regression).
  • Interpreter and compiled output must remain behaviourally identical; add dual-mode tests where applicable.
  • Standalone compiled DLLs must not gain a SharpTS.dll dependency (see CLAUDE.md "Standalone DLL Constraint").

Source: codebase-wide maintainability audit, 2026-06-29.

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicUmbrella tracking issue with child taskstech-debtCode maintainability / tech-debt cleanup

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions