From 6a6defc7e1ce84b5f693a188683b724b5a84d93d Mon Sep 17 00:00:00 2001 From: Bashamega Date: Tue, 4 Nov 2025 08:11:33 +0200 Subject: [PATCH 1/5] Migrate ValueTypeMap --- inputfiles/addedTypes.jsonc | 44 ----------------------------------- inputfiles/patches/values.kdl | 9 +++++++ package-lock.json | 17 ++++---------- src/build/helpers.ts | 2 ++ src/build/patches.ts | 2 ++ 5 files changed, 17 insertions(+), 57 deletions(-) create mode 100644 inputfiles/patches/values.kdl diff --git a/inputfiles/addedTypes.jsonc b/inputfiles/addedTypes.jsonc index 5b7586411..a4543e33c 100644 --- a/inputfiles/addedTypes.jsonc +++ b/inputfiles/addedTypes.jsonc @@ -952,50 +952,6 @@ } } } - }, - "ValueTypeMap": { - "name": "ValueTypeMap", - "legacyNamespace": "WebAssembly", - "exposed":"Window Worker Worklet", - "members": { - "member": { - "anyfunc": { - "name": "anyfunc", - "overrideType": "Function", - "required": 1 - }, - "externref": { - "name": "externref", - "overrideType": "any", - "required": 1 - }, - "f32": { - "name": "f32", - "overrideType": "number", - "required": 1 - }, - "f64": { - "name": "f64", - "overrideType": "number", - "required": 1 - }, - "i32": { - "name": "i32", - "overrideType": "number", - "required": 1 - }, - "i64": { - "name": "i64", - "overrideType": "bigint", - "required": 1 - }, - "v128": { - "name": "v128", - "overrideType": "never", - "required": 1 - } - } - } } } }, diff --git a/inputfiles/patches/values.kdl b/inputfiles/patches/values.kdl new file mode 100644 index 000000000..835041b12 --- /dev/null +++ b/inputfiles/patches/values.kdl @@ -0,0 +1,9 @@ +dictionary ValueTypeMap legacyNamespace="WebAssembly" exposed="Window Worker Worklet" { + member anyfunc required=#true type="Function" + member externref required=#true type="any" + member f32 required=#true type="long" + member f64 required=#true type="long" + member i32 required=#true type="long" + member i64 required=#true type="bigint" + member v128 required=#true type="never" +} diff --git a/package-lock.json b/package-lock.json index c0174e939..3094e2751 100644 --- a/package-lock.json +++ b/package-lock.json @@ -409,8 +409,7 @@ "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-7.1.18.tgz", "integrity": "sha512-RK4UylAXCRRWbJOFxua8qudPH6976wLeofn341Y/0qGBk+JLdnPIPV2nAg0O3EitSkaa9WiyWo05t0KWq6dfwA==", "dev": true, - "license": "CC0-1.0", - "peer": true + "license": "CC0-1.0" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -465,7 +464,6 @@ "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -874,7 +872,6 @@ "integrity": "sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.46.2", "@typescript-eslint/types": "8.46.2", @@ -1221,7 +1218,6 @@ "integrity": "sha512-Y3ytN2KguJMNBgigmgvehuIlmCIM17WtYPpDbsJA7DFG0is+jUJfQioA7AnB/Og7JufdGV6912GFS0HBrpx+dQ==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "webidl2": "^24.5.0" } @@ -1231,7 +1227,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1636,7 +1631,6 @@ "integrity": "sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -1934,7 +1928,6 @@ "integrity": "sha512-iy2GE3MHrYTL5lrCtMZ0X1KLEKKUjmK0kzwcnefhR66txcEmXZD2YWgR5GNdcEwkNx3a0siYkSvl0vIC+Svjmg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -1995,7 +1988,6 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", - "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -3053,7 +3045,8 @@ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", "dev": true, - "license": "CC0-1.0" + "license": "CC0-1.0", + "peer": true }, "node_modules/memfs-or-file-map-to-github-branch": { "version": "1.3.0", @@ -3434,7 +3427,6 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -3742,6 +3734,7 @@ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -3984,7 +3977,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4072,7 +4064,6 @@ "integrity": "sha512-fxOigKkIem1iAgQ9t4cFOP+kWEA8y6Be/uh50FpJh0FijoeeT/VMrOyJzNLUgjy0rGMEcHeReKDCqj0g9dIe9A==", "dev": true, "license": "W3C", - "peer": true, "engines": { "node": ">= 18" } diff --git a/src/build/helpers.ts b/src/build/helpers.ts index 19272793a..243982a58 100644 --- a/src/build/helpers.ts +++ b/src/build/helpers.ts @@ -56,6 +56,8 @@ const sameTypes = new Set([ "PromiseLike", "undefined", "void", + "bigint", + "never", ]); export const baseTypeConversionMap = new Map([ ...[...bufferSourceTypes].map((type) => [type, type] as const), diff --git a/src/build/patches.ts b/src/build/patches.ts index 28da6377f..5bcc7d2d8 100644 --- a/src/build/patches.ts +++ b/src/build/patches.ts @@ -298,6 +298,8 @@ function handleDictionary(child: Node): DeepPartial { return { name, members: { member }, + ...optionalMember("extends", "string", child.properties?.extends), + ...optionalMember("legacyNamespace", "string", child.properties?.legacyNamespace), }; } From 04f530f2045edf94f5729b9a34ffc498703c548d Mon Sep 17 00:00:00 2001 From: Bashamega Date: Tue, 4 Nov 2025 08:14:33 +0200 Subject: [PATCH 2/5] - --- src/build/patches.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/build/patches.ts b/src/build/patches.ts index 5bcc7d2d8..6a3957a18 100644 --- a/src/build/patches.ts +++ b/src/build/patches.ts @@ -299,7 +299,11 @@ function handleDictionary(child: Node): DeepPartial { name, members: { member }, ...optionalMember("extends", "string", child.properties?.extends), - ...optionalMember("legacyNamespace", "string", child.properties?.legacyNamespace), + ...optionalMember( + "legacyNamespace", + "string", + child.properties?.legacyNamespace, + ), }; } From 8c590dbb6b9eba791559913079e8ac19a96fef76 Mon Sep 17 00:00:00 2001 From: Bashamega Date: Tue, 4 Nov 2025 11:13:33 +0200 Subject: [PATCH 3/5] - --- inputfiles/patches/values.kdl | 9 --------- inputfiles/patches/webassembly.kdl | 10 ++++++++++ src/build/helpers.ts | 1 - src/build/patches.ts | 1 + 4 files changed, 11 insertions(+), 10 deletions(-) delete mode 100644 inputfiles/patches/values.kdl diff --git a/inputfiles/patches/values.kdl b/inputfiles/patches/values.kdl deleted file mode 100644 index 835041b12..000000000 --- a/inputfiles/patches/values.kdl +++ /dev/null @@ -1,9 +0,0 @@ -dictionary ValueTypeMap legacyNamespace="WebAssembly" exposed="Window Worker Worklet" { - member anyfunc required=#true type="Function" - member externref required=#true type="any" - member f32 required=#true type="long" - member f64 required=#true type="long" - member i32 required=#true type="long" - member i64 required=#true type="bigint" - member v128 required=#true type="never" -} diff --git a/inputfiles/patches/webassembly.kdl b/inputfiles/patches/webassembly.kdl index 473600bc6..c0b0205c0 100644 --- a/inputfiles/patches/webassembly.kdl +++ b/inputfiles/patches/webassembly.kdl @@ -1,3 +1,13 @@ enum ImportExportKind legacyNamespace=WebAssembly enum TableKind legacyNamespace=WebAssembly enum AddressType legacyNamespace=WebAssembly + +dictionary ValueTypeMap legacyNamespace=WebAssembly exposed="Window Worker Worklet" { + member anyfunc required=#true type=Function + member externref required=#true type=any + member f32 required=#true type=long + member f64 required=#true type=long + member i32 required=#true type=long + member i64 required=#true type=bigint + member v128 required=#true overrideType=never +} diff --git a/src/build/helpers.ts b/src/build/helpers.ts index 243982a58..da84f2d91 100644 --- a/src/build/helpers.ts +++ b/src/build/helpers.ts @@ -57,7 +57,6 @@ const sameTypes = new Set([ "undefined", "void", "bigint", - "never", ]); export const baseTypeConversionMap = new Map([ ...[...bufferSourceTypes].map((type) => [type, type] as const), diff --git a/src/build/patches.ts b/src/build/patches.ts index 6a3957a18..ad87b2f2b 100644 --- a/src/build/patches.ts +++ b/src/build/patches.ts @@ -317,6 +317,7 @@ function handleMember(c: Node): Partial { name, ...optionalMember("type", "string", c.properties?.type), ...optionalMember("required", "boolean", c.properties?.required), + ...optionalMember("overrideType", "string", c.properties?.overrideType), }; } From 07c5727b48d0c52ff65ed194c0cc6235ea38d667 Mon Sep 17 00:00:00 2001 From: Bashamega Date: Tue, 4 Nov 2025 11:23:39 +0200 Subject: [PATCH 4/5] MemoryDescriptor --- inputfiles/addedTypes.jsonc | 10 ---------- inputfiles/patches/webassembly.kdl | 4 ++++ 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/inputfiles/addedTypes.jsonc b/inputfiles/addedTypes.jsonc index a4543e33c..12d32ca4e 100644 --- a/inputfiles/addedTypes.jsonc +++ b/inputfiles/addedTypes.jsonc @@ -842,16 +842,6 @@ } } }, - "MemoryDescriptor": { - "members": { - "member": { - "shared": { - "name": "shared", - "type": "boolean" - } - } - } - }, "ReadableStreamReadDoneResult": { "name": "ReadableStreamReadDoneResult", "typeParameters": [ diff --git a/inputfiles/patches/webassembly.kdl b/inputfiles/patches/webassembly.kdl index c0b0205c0..3c8395123 100644 --- a/inputfiles/patches/webassembly.kdl +++ b/inputfiles/patches/webassembly.kdl @@ -11,3 +11,7 @@ dictionary ValueTypeMap legacyNamespace=WebAssembly exposed="Window Worker Workl member i64 required=#true type=bigint member v128 required=#true overrideType=never } + +dictionary MemoryDescriptor { + member shared type=boolean +} From d78c8a8e069372947d50ef5e7566a76b7ca92021 Mon Sep 17 00:00:00 2001 From: Bashamega Date: Tue, 4 Nov 2025 16:20:55 +0200 Subject: [PATCH 5/5] - --- inputfiles/patches/webassembly.kdl | 2 +- src/build/patches.ts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/inputfiles/patches/webassembly.kdl b/inputfiles/patches/webassembly.kdl index 3c8395123..cd66192ab 100644 --- a/inputfiles/patches/webassembly.kdl +++ b/inputfiles/patches/webassembly.kdl @@ -2,7 +2,7 @@ enum ImportExportKind legacyNamespace=WebAssembly enum TableKind legacyNamespace=WebAssembly enum AddressType legacyNamespace=WebAssembly -dictionary ValueTypeMap legacyNamespace=WebAssembly exposed="Window Worker Worklet" { +dictionary ValueTypeMap legacyNamespace=WebAssembly { member anyfunc required=#true type=Function member externref required=#true type=any member f32 required=#true type=long diff --git a/src/build/patches.ts b/src/build/patches.ts index ad87b2f2b..77c455515 100644 --- a/src/build/patches.ts +++ b/src/build/patches.ts @@ -298,7 +298,6 @@ function handleDictionary(child: Node): DeepPartial { return { name, members: { member }, - ...optionalMember("extends", "string", child.properties?.extends), ...optionalMember( "legacyNamespace", "string",