Introducing pext.dev
Today we are making pext.dev publicly available — the presentation website for Pext, a transpiler that converts PHP codebases into JavaScript, automatically, file by file, without requiring a single line to be rewritten by hand.
This post is a brief look at what the website covers and what it means for the project going forward.
What Pext does
Pext takes PHP source code and produces equivalent JavaScript that runs on Node.js. The transpiler — pextc — handles the conversion in-house. The output relies on the Pext runtime, a set of per-module binaries that replicate PHP behaviours in JavaScript: arrays with internal cursors, pass-by-reference semantics, DateTime, PCRE, and more.
The generated code is vanilla JavaScript. No experimental flags, no secondary transpilation step, no Babel. You run it with the pext CLI, which wraps a configured Node.js 22 environment and handles the necessary bootstrapping.
What the website covers
The site is organised around a few key sections:
- Features — a detailed breakdown of PHP language constructs and standard library coverage. Each feature is tagged as supported, partial, or planned, with version badges and weighted coverage scores.
- Open Source Showcase — real PHP projects from GitHub that Pext targets for transpilation. These range from small utilities like
sebastian/diff(910 LOC) to full-scale tools likecomposer/composer(63.5k LOC). Where available, test pass rates are listed. - FAQ — answers to common questions across five categories: pre-transpiling, post-transpiling, runtime, infrastructure, and licensing.
- Book a Demo — a 30-minute structured session covering live transpilation, test verification, and next steps.
Where we stand
Pext is not a research prototype. The transpiler has been running against non-trivial open source codebases — PHPUnit alone comprises 54k lines and over 4,500 unit tests. The runtime covers 16 standard library categories. Language construct support spans types, expressions, control flow, classes, namespaces, generators, and more.
That said, this is an active project. Some areas are still in progress: property hooks, certain reflection features, and a few edge cases in reference handling. The features page reflects this honestly.
What comes next
Launching the website is a milestone, not a finish line. The immediate roadmap includes expanding standard library coverage, publishing more showcase results with test pass rates, and refining the runtime for deployment scenarios beyond the CLI.
If you have a PHP codebase and are evaluating your options, book a demo. We will walk through the transpiler on real code and discuss what a migration path looks like for your project.
For general enquiries, reach out at [email protected].