feat: add multi-engine regex flavour support

This commit is contained in:
2026-07-27 11:43:51 +02:00
parent 7079cde15f
commit 7f3a91ad37
340 changed files with 643286 additions and 483 deletions

View File

@@ -0,0 +1,166 @@
{
"schemaVersion": 1,
"engine": "dotnet",
"engineName": "System.Text.RegularExpressions",
"engineVersion": ".NET 10.0.10 System.Text.RegularExpressions",
"semanticIdentity": ".NET 10.0.10 System.Text.RegularExpressions; invariant culture; UTF-16 offsets",
"status": "production-native-runtime",
"bridge": {
"abiVersion": 1,
"nativeOffsetUnit": "UTF-16 code units",
"requestEncoding": "bounded JSON passed to fixed JSExport methods",
"userSourceEvaluation": false,
"replacement": "Fixed streaming parser for .NET replacement tokens ($$, $n, ${name}, $&, $`, $', $+, $_), verified against Match.Result at load",
"replacementOutputTransport": "bounded UTF-8 bytes encoded as canonical base64 in the JSON response",
"supportedApplicationFlags": [
"g",
"i",
"m",
"s",
"n",
"x",
"r",
"c",
"b"
],
"matchTimeoutMilliseconds": 9000,
"limits": {
"maximumPatternUtf16": 65536,
"maximumSubjectUtf16": 16777216,
"maximumReplacementUtf16": 65536,
"maximumMatches": 10000,
"maximumCaptureRows": 100000,
"maximumCaptureGroups": 1000,
"maximumOutputBytes": 67108864
},
"sourceFiles": [
{
"path": "engines/dotnet/Program.cs",
"sha256": "52c7bdf7b95f985e22fe2eff8cf5b0173537c701bb8712c012b558ee5a35f530",
"bytes": 28310
},
{
"path": "engines/dotnet/README.md",
"sha256": "080fa57b00d7c593fc630a8353f5467393879441630790280beb8a39edb81a47",
"bytes": 1359
},
{
"path": "engines/dotnet/RegexTools.DotNet.csproj",
"sha256": "95eefcd69634c79a1a27afbfd68dae28af81803116dc8a9f29d73246fdbf8d5e",
"bytes": 813
},
{
"path": "engines/dotnet/wwwroot/main.js",
"sha256": "1288cf008091453e23640cc7cca21c3bb811cac41be58c98e75b417828f7ff39",
"bytes": 150
}
]
},
"source": {
"project": ".NET",
"repository": "https://github.com/dotnet/runtime",
"license": "MIT",
"runtimeVersion": "10.0.10",
"runtimeCommit": "f7d90799ce"
},
"toolchain": {
"sdkVersion": "10.0.302",
"sdkCommit": "35b593bebf",
"workload": "wasm-tools",
"target": "browser-wasm",
"command": "dotnet publish engines/dotnet/RegexTools.DotNet.csproj -c Release --no-restore -p:PathMap=<source>=/regex-tools-source -p:EmccExtraCFlags=-ffile-prefix-map=<sdk>=/dotnet-sdk-10.0.302"
},
"sourceDateEpoch": 1785110400,
"files": [
{
"path": "LICENSE-dotnet.txt",
"sha256": "cfc21f5e8bd655ae997eec916138b707b1d290b83272c02a95c9f821b8c87310",
"bytes": 1116
},
{
"path": "THIRD-PARTY-NOTICES.txt",
"sha256": "2dc8f8c5a39401e928b5784ab564eb8b3ceb99ead3df8f260e0cab7e0bbecc7a",
"bytes": 77436
},
{
"path": "_framework/RegexTools.DotNet.nq07srqsrv.wasm",
"sha256": "8178d080bf8b139da2417184ad607664f0abb8bf5f7bc3acfdd19dac1c01be57",
"bytes": 25877
},
{
"path": "_framework/System.Collections.035l5xddsu.wasm",
"sha256": "fc65ef6182d0633e5da7fb634f3c6bbc9cda00c04fb9318023a0d75c91fd0be6",
"bytes": 7445
},
{
"path": "_framework/System.IO.Pipelines.9846faqurl.wasm",
"sha256": "e95181d82588827027195b7be3ba2a4df8b1580b0a1a98cf3e4275378f673984",
"bytes": 8469
},
{
"path": "_framework/System.Linq.0mnik33gd9.wasm",
"sha256": "08f8ff79ef495e642c1f000b7d9e2d8d651675f67cf3c3b974acc85bfba38ecc",
"bytes": 23317
},
{
"path": "_framework/System.Memory.1p33wui4du.wasm",
"sha256": "8b52fd95bdaafddde9c041faaf908153ff3763712ebb8c274897df1e97bd8840",
"bytes": 15125
},
{
"path": "_framework/System.Private.CoreLib.kprynbd0oq.wasm",
"sha256": "c813dfea69a9161b6e721c663b960193597fe148f48acbae57315cae7988681d",
"bytes": 1089813
},
{
"path": "_framework/System.Runtime.8ovzk6bt8k.wasm",
"sha256": "18e7c4e1816cab053848fa468beedc191c5d57b7f8050e82e2d74541c9c05467",
"bytes": 6933
},
{
"path": "_framework/System.Runtime.InteropServices.JavaScript.sx1hj7vtls.wasm",
"sha256": "f03ceddaccb17a82e8e27e2ae71f7bcea8155c527f50569f94b52199ea11d451",
"bytes": 40213
},
{
"path": "_framework/System.Security.Cryptography.nx98zbj2m5.wasm",
"sha256": "4ba3b0e95e97a3897fc5dd4823dfb91de0497166f389cbfd1e1bdc9df548a8b3",
"bytes": 6933
},
{
"path": "_framework/System.Text.Encodings.Web.efde74c33p.wasm",
"sha256": "864de168a4ce82a9aa8deea10bf30f76d0de302a382b20f2fea69f324ff0eadb",
"bytes": 26389
},
{
"path": "_framework/System.Text.Json.yzatygskj6.wasm",
"sha256": "12c10b1368766432adc311b48a7970f67bc2cffc76f92336224a1f846673e146",
"bytes": 83733
},
{
"path": "_framework/System.Text.RegularExpressions.imqsl0y08u.wasm",
"sha256": "caca9e11dc0df1917a8b14f213bf6c2c404faeddb43ab10551f1807d07c7fc43",
"bytes": 243989
},
{
"path": "_framework/dotnet.js",
"sha256": "647cf2841162fa23115ff9b0c55a4e370ab432912da48dd844a3d16e38c09a1a",
"bytes": 43459
},
{
"path": "_framework/dotnet.native.224bc09dfc8b.js",
"sha256": "224bc09dfc8b875fff993976d256f751b4f72ccd758e4a9144eab8c9d9f98ed1",
"bytes": 215271
},
{
"path": "_framework/dotnet.native.6k8j5v15h5.wasm",
"sha256": "1603c30cea37bbfc154d37528b99ffd5fcf7ca833d07112bc239d7cee598bff7",
"bytes": 1484398
},
{
"path": "_framework/dotnet.runtime.web2r9gqbh.js",
"sha256": "48e507110dc58430226c1491daef74356669a018cfb964661f40400135258495",
"bytes": 198480
}
]
}