feat: add multi-engine regex flavour support
This commit is contained in:
@@ -1,13 +1,42 @@
|
||||
# Engine assets
|
||||
|
||||
Regex Tools executes ECMAScript through the browser's native `RegExp` engine.
|
||||
It also ships three declared, self-hosted runtime packs:
|
||||
It also ships ten declared, self-hosted runtime packs:
|
||||
|
||||
- `pcre2/`: official PCRE2 10.47, 8-bit WebAssembly;
|
||||
- `python/`: Pyodide 314.0.3 with CPython 3.14.2 `re`; and
|
||||
- `pcre2/`: official standalone PCRE2 10.47, 8-bit WebAssembly;
|
||||
- `php/`: PHP 8.5.8 `preg_*` through `@php-wasm/web-8-5` 3.1.46; this runtime
|
||||
reports PCRE2 10.44;
|
||||
- `perl/`: Perl 5.28.1 through the legacy WebPerl 0.09-beta prebuilt runtime;
|
||||
- `python/`: Pyodide 314.0.3 with CPython 3.14.2 `re`, a complete linked
|
||||
base-runtime inventory (including vendored loader ports),
|
||||
preferred-form/patch manifest and independently pinned legal closure;
|
||||
- `ruby/`: minimal ruby.wasm 2.9.3-2.9.4 with CRuby 4.0.0 `Regexp`;
|
||||
- `java/`: TeaVM 0.15.0's `java.util.regex` class library compiled to an
|
||||
ES2015 module. This module is not OpenJDK.
|
||||
ES2015 module; this module is not OpenJDK;
|
||||
- `cpp/`: Emscripten 6.0.4 libc++ `std::wregex`, with an exact traced native
|
||||
component/source/legal manifest;
|
||||
- `go/`: Go 1.26.5 standard-library `regexp` for `js/wasm`;
|
||||
- `rust/`: Rust `regex` crate 1.13.1 for `wasm32-unknown-unknown`; and
|
||||
- `dotnet/`: .NET 10.0.10 `System.Text.RegularExpressions` for browser
|
||||
WebAssembly.
|
||||
|
||||
The selectable Scala/JVM compatibility profile intentionally shares
|
||||
`java/`. It does not contain or claim a Scala runtime.
|
||||
|
||||
The packs come from pinned, documented open-source inputs. Runtime files travel
|
||||
with deterministic metadata, closed-set checksums and the applicable upstream
|
||||
licence/notice material, all of which are verified by the release gate.
|
||||
The Python pack's `SOURCE-MANIFEST.json` records exact source archives or Git
|
||||
trees, both vendored stack-parser source ports, all Pyodide
|
||||
CPython/Emscripten patches and the evidence for every component already linked
|
||||
into its loader or base WebAssembly module. The C++ source manifest similarly
|
||||
binds its exact module to the traced Emscripten runtime, musl, emmalloc,
|
||||
compiler-rt, libc++ and libc++abi inputs and the explicit non-selection of
|
||||
libunwind. The
|
||||
hundreds of optional entries in `pyodide-lock.json` are a package catalogue;
|
||||
their wheels are not part of this pack.
|
||||
|
||||
The Perl pack remains an explicit exception in age, not in identity: its
|
||||
upstream beta assets are retained byte-for-byte and labelled legacy everywhere.
|
||||
Its loader contains a dormant optional JavaScript-interoperability `eval` site;
|
||||
the fixed bridge does not import or call it.
|
||||
|
||||
Reference in New Issue
Block a user