English

Conditional Execution of Transpiler Passes Based on Per-Script Feature Detection

Programming Languages 2026-03-20 v1 Software Engineering

Abstract

As the ECMAScript specification evolves, industrial-scale JavaScript compilers face the challenge of supporting modern language syntax while maintaining compatibility for diverse execution environments. Traditionally, compilers solve this by running transpilation passes in a monolithic pipeline, where the transpilation passes are chosen to execute strictly based on a target language level. This results in significant computational waste, as compilers perform expensive Abstract Syntax Tree (AST) traversals to lower features that may not exist in the actual input source code. We present a compiler improvement that conditionally executes transpiler passes based on accurately tracking and dynamically maintaining the exact set of language features present in the compilation unit throughout the transpilation process. It is implemented in the production Google Closure Compiler. By populating and maintaining a FeatureSet at every JavaScript script-level, it dynamically skips running unnecessary lowering passes. We detail the architectural safeguards -- including strategic pass ordering and dynamic validation of the transpiled code for feature-correctness. Evaluation of this improvement on large-scale production monorepos produced a considerable reduction in compilation time and saved compute and memory usage.

Keywords

Cite

@article{arxiv.2603.18049,
  title  = {Conditional Execution of Transpiler Passes Based on Per-Script Feature Detection},
  author = {Rishipal Singh Bhatia},
  journal= {arXiv preprint arXiv:2603.18049},
  year   = {2026}
}

Comments

Preprint. Under review at SOAP 2026. Implementation available in Google Closure Compiler

R2 v1 2026-07-01T11:26:47.324Z