PHP dependency manager. Resolves, downloads, and autoloads packages across the PHP ecosystem.
Exercises file system, process execution, and HTTP at scale.
Laravel transitively pulls in 135 open-source packages. Every one of them is listed below, grouped into the phase we're tackling it in, with its current conversion state on the right.
CodeIgniter 4 has a famously lean dependency footprint, 47 packages once test and analysis tooling is included. Each one is mapped to the phase Pext is converting it in, with its current state on the right.
PSR interfaces, Symfony polyfills, and contracts. Pure contracts and compatibility shims with no runtime logic. Pext resolves these almost automatically.
Self-contained libraries with no I/O or side effects. Arbitrary-precision math, string normalization, email validation, cron scheduling. Ideal benchmark targets.
HTTP client stack, environment loading, structured logging, UUID generation, date/time manipulation. Exercises real runtime behaviour: streams, promises, generators, and timezone arithmetic.
The largest and most demanding phase. Symfony's components form the backbone of Laravel's request lifecycle: routing, HTTP kernel, event dispatching, console, cache, and mailer.
The final ring before the framework itself: filesystem abstraction, queue drivers, testing infrastructure, and the Laravel-authored packages that wire everything together.
The destination. Every phase above clears a dependency standing between Pext and a fully transpiled Laravel, running in JavaScript, tested to >95% unit-test pass rate.
PSR interfaces and Symfony deprecation contracts. Pure compatibility shims with no runtime logic, already cleared during the Laravel run.
Self-contained libraries used at runtime: string escaping, deep cloning, PHP source parsing, NEON configuration. No I/O, no side effects.
Helpers used by the test suite and CLI tooling: fake data generation, virtual filesystem mocks, the Kint dumper, and a Redis client for cache tests.
PHPUnit and the sebastian/* support libraries that power CodeIgniter4's 9,000+ test suite. This is the biggest single phase by file count.
Static analysis (PHPStan, Rector, structarmed) and the CodeIgniter4 framework itself. The final ring before a transpiled CI4 application can run end-to-end.
The destination. CodeIgniter4's small production surface, plus a heavy testing and static-analysis stack, makes it the second framework Pext targets after Laravel. Goal: full unit-test pass rate on JS.
Well-known open source PHP libraries, from small utilities to large frameworks. Each one represents the kind of real-world codebase Pext is designed to handle.
PHP dependency manager. Resolves, downloads, and autoloads packages across the PHP ecosystem.
Exercises file system, process execution, and HTTP at scale.
PHP testing framework with assertions, mocking, data providers, and code coverage reporting.
A flagship target: transpiling PHPUnit itself would validate nearly every language construct Pext supports.
Read the conversion deep-divePHP API extension for DateTime, and a widely adopted date/time manipulation library in the Laravel ecosystem.
Heavy use of traits and magic methods. Requires full DateTime runtime parity.
Arbitrary-precision arithmetic library built on BCMath. Immutable value objects for integers, decimals, and rationals.
No side effects, no I/O, pure computation. Ideal for showcasing runtime correctness.
Read the conversion deep-diveString inflection library. Converts words between singular and plural forms and between camel, pascal, snake, table, and classify case styles.
Pure string manipulation with a wide rule surface across multiple languages. No I/O, no extensions.
Exports PHP variables for visualization. Used internally by PHPUnit for assertion output formatting.
Exercises type juggling and reflection, both core Pext strengths.
Read the conversion deep-diveSemantic versioning constraint parser and comparator used across the Composer ecosystem for dependency resolution.
A small utility with an outsized edge case: eval-generated version_compare code that needs the caller scope.
Read the conversion deep-diveRFC-compliant email address validator supporting multiple validation strategies, DNS checks, and Unicode/IDN handling.
Brought a new multibyte-string module and a network module online just to reach parity.
Read the conversion deep-diveParses and evaluates cron expressions, with timezone-aware next-run and previous-run date calculation.
Almost entirely a datetime module story: DST transitions and a cache for Intl.DateTimeFormat.
Read the conversion deep-diveASCII transliteration and cleanup for strings, replacing PHP's ext-intl transliterator with a portable pure-PHP implementation.
No ICU on the JS side, so transliteration became a patched npm package rather than a runtime binding.
Read the conversion deep-diveThe de facto standard UUID library for PHP: RFC 4122 versions 1, 3, 4, 5, and the newer time-ordered v7.
Matching PHP's CSPRNG byte layout and the RFC 4122 multicast-bit fallback for a missing MAC address.
Read the conversion deep-diveDeep-clones PHP object graphs. Used internally by PHPUnit for test isolation and by Doctrine for entity cloning.
Circular object graphs keyed by Pext's own object identity, plus closures used as filters.
Read the conversion deep-diveAll project names, trademarks, and logos are property of their respective owners. Pext is not affiliated with or endorsed by any of the listed projects or their contributors.
Book a personalized demo and see how Pext can transform your codebase from legacy PHP to modern JavaScript, without rewriting a single line by hand.