Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<h1><code>ComponentizeJS</code></h1>

<p>
<strong>ESM -> WebAssembly Component creator,<br />via a SpiderMonkey JS engine embedding</a></strong>
<strong>ESM -> WebAssembly Component creator,<br />via a SpiderMonkey JS engine embedding</strong>
</p>

<strong>A <a href="https://bytecodealliance.org/">Bytecode Alliance</a> project</strong>
Expand Down Expand Up @@ -67,6 +67,7 @@ The following APIs are available:
* **Encoding**: `TextEncoder`, `TextDecoder`, `CompressionStream`, `DecompressionStream`
* **Structured Clone**: `structuredClone`
* **Fetch**: `fetch` `Request` `Response` `Headers`
* **Forms, Files, and Blobs**: `FormData`, `MultipartFormData`, `File`, `Blob`
* **Crypto**: `SubtleCrypto` `Crypto` `crypto` `CryptoKey`

## Usage
Expand Down
2 changes: 1 addition & 1 deletion StarlingMonkey
Submodule StarlingMonkey updated 82 files
+9 −2 CMakeLists.txt
+5 −0 README.md
+3 −1 builtins/web/blob.cpp
+3 −0 builtins/web/fetch/fetch-errors.h
+141 −3 builtins/web/fetch/fetch-utils.cpp
+14 −0 builtins/web/fetch/fetch-utils.h
+48 −22 builtins/web/fetch/fetch_event.cpp
+137 −22 builtins/web/fetch/request-response.cpp
+1 −0 builtins/web/fetch/request-response.h
+5 −0 builtins/web/file.cpp
+2 −0 builtins/web/file.h
+710 −0 builtins/web/form-data/form-data-encoder.cpp
+46 −0 builtins/web/form-data/form-data-encoder.h
+299 −0 builtins/web/form-data/form-data-parser.cpp
+23 −0 builtins/web/form-data/form-data-parser.h
+17 −2 builtins/web/form-data/form-data.cpp
+4 −0 builtins/web/form-data/form-data.h
+5 −5 builtins/web/streams/buf-reader.cpp
+1 −1 builtins/web/url.cpp
+2 −2 cmake/CPM.cmake
+3 −0 cmake/build-crates.cmake
+11 −1 cmake/builtins.cmake
+2 −0 crates/rust-multipart/.gitignore
+26 −0 crates/rust-multipart/Cargo.toml
+23 −0 crates/rust-multipart/cbindgen.toml
+5 −0 crates/rust-multipart/fuzz/.gitignore
+21 −0 crates/rust-multipart/fuzz/Cargo.toml
+14 −0 crates/rust-multipart/fuzz/corpus/fuzz_multipart/multi.seed
+7 −0 crates/rust-multipart/fuzz/corpus/fuzz_multipart/simple.seed
+17 −0 crates/rust-multipart/fuzz/fuzz_targets/fuzz_multipart.rs
+76 −0 crates/rust-multipart/rust-multipart-ffi.h
+156 −0 crates/rust-multipart/src/capi.rs
+30 −0 crates/rust-multipart/src/error.rs
+140 −0 crates/rust-multipart/src/lib.rs
+362 −0 crates/rust-multipart/src/parser.rs
+76 −0 crates/rust-multipart/src/trivia.rs
+182 −0 crates/rust-multipart/tests/integration.rs
+7 −3 crates/rust-url/rust-url.h
+40 −17 crates/rust-url/src/lib.rs
+0 −1 host-apis/wasi-0.2.0/host_api.cmake
+37 −9 host-apis/wasi-0.2.0/host_api.cpp
+2 −0 host-apis/wasi-0.2.3/host_api.cmake
+70 −0 host-apis/wasi-0.2.3/include/sockets.h
+130 −0 host-apis/wasi-0.2.3/sockets.cpp
+6 −4 include/config-parser.h
+15 −2 include/extension-api.h
+8 −4 justfile
+293 −0 runtime/debugger.cpp
+29 −0 runtime/debugger.h
+32 −7 runtime/engine.cpp
+2 −0 runtime/js.cpp
+1 −0 tests/e2e/teed-stream-as-outgoing-body/expect_serve_body.txt
+2 −0 tests/e2e/teed-stream-as-outgoing-body/expect_serve_stdout.txt
+41 −0 tests/e2e/teed-stream-as-outgoing-body/teed-stream-as-outgoing-body.js
+1 −0 tests/tests.cmake
+38 −0 tests/wpt-harness/expectations/FileAPI/file/send-file-formdata-controls.any.js.json
+83 −0 tests/wpt-harness/expectations/FileAPI/file/send-file-formdata-punctuation.any.js.json
+20 −0 tests/wpt-harness/expectations/FileAPI/file/send-file-formdata-utf-8.any.js.json
+5 −0 tests/wpt-harness/expectations/FileAPI/file/send-file-formdata.any.js.json
+3 −3 tests/wpt-harness/expectations/compression/compression-large-flush-output.any.js.json
+1 −1 tests/wpt-harness/expectations/compression/compression-with-detach.tentative.window.js.json
+1 −1 tests/wpt-harness/expectations/compression/decompression-with-detach.tentative.window.js.json
+5 −5 tests/wpt-harness/expectations/fetch/api/basic/request-forbidden-headers.any.js.json
+2 −2 tests/wpt-harness/expectations/fetch/api/body/formdata.any.js.json
+3 −3 tests/wpt-harness/expectations/fetch/api/request/request-consume-empty.any.js.json
+1 −1 tests/wpt-harness/expectations/fetch/api/request/request-consume.any.js.json
+5 −5 tests/wpt-harness/expectations/fetch/api/request/request-headers.any.js.json
+1 −1 tests/wpt-harness/expectations/fetch/api/request/request-init-002.any.js.json
+1 −1 tests/wpt-harness/expectations/fetch/api/request/request-init-contenttype.any.js.json
+1 −1 tests/wpt-harness/expectations/fetch/api/request/request-structure.any.js.json
+3 −3 tests/wpt-harness/expectations/fetch/api/response/response-consume-empty.any.js.json
+1 −1 tests/wpt-harness/expectations/fetch/api/response/response-consume-stream.any.js.json
+2 −2 tests/wpt-harness/expectations/fetch/api/response/response-error-from-stream.any.js.json
+1 −1 tests/wpt-harness/expectations/fetch/api/response/response-init-002.any.js.json
+1 −1 tests/wpt-harness/expectations/fetch/api/response/response-init-contenttype.any.js.json
+1 −1 tests/wpt-harness/expectations/fetch/api/response/response-stream-bad-chunk.any.js.json
+5 −0 tests/wpt-harness/expectations/fetch/content-type/multipart-malformed.any.js.json
+5 −0 tests/wpt-harness/expectations/fetch/content-type/multipart.window.js.json
+64 −64 tests/wpt-harness/expectations/url/urlencoded-parser.any.js.json
+3 −22 tests/wpt-harness/post-harness.js
+6 −0 tests/wpt-harness/tests.json
+26 −1 tests/wpt-harness/wpt_builtins.cpp
2 changes: 1 addition & 1 deletion test/builtins/globals.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export async function test(run) {
const { stdout, stderr } = await run();
strictEqual(
stdout,
`["undefined", "Function", "Object", "eval", "globalThis", "Array", "Boolean", "JSON", "Date", "Math", "isNaN", "isFinite", "parseInt", "parseFloat", "NaN", "Infinity", "Number", "escape", "unescape", "decodeURI", "encodeURI", "decodeURIComponent", "encodeURIComponent", "String", "RegExp", "Error", "InternalError", "AggregateError", "EvalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError", "ArrayBuffer", "Int8Array", "Uint8Array", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "Uint8ClampedArray", "BigInt64Array", "BigUint64Array", "Float16Array", "BigInt", "Proxy", "WeakMap", "Map", "Set", "DataView", "Symbol", "Reflect", "WeakSet", "Promise", "FinalizationRegistry", "WeakRef", "ReadableStream", "ReadableStreamBYOBReader", "ReadableStreamBYOBRequest", "ReadableStreamDefaultReader", "ReadableStreamDefaultController", "ReadableByteStreamController", "WritableStream", "ByteLengthQueuingStrategy", "CountQueuingStrategy", "self", "queueMicrotask", "structuredClone", "atob", "btoa", "Blob", "File", "FormData", "DOMException", "URL", "URLSearchParams", "console", "Performance", "performance", "setInterval", "setTimeout", "clearInterval", "clearTimeout", "WorkerLocation", "location", "TextEncoder", "TextDecoder", "TransformStream", "CompressionStream", "DecompressionStream", "fetch", "Request", "Response", "Headers", "addEventListener", "SubtleCrypto", "Crypto", "crypto", "CryptoKey"]\n`
`["undefined", "Function", "Object", "eval", "globalThis", "Array", "Boolean", "JSON", "Date", "Math", "isNaN", "isFinite", "parseInt", "parseFloat", "NaN", "Infinity", "Number", "escape", "unescape", "decodeURI", "encodeURI", "decodeURIComponent", "encodeURIComponent", "String", "RegExp", "Error", "InternalError", "AggregateError", "EvalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError", "ArrayBuffer", "Int8Array", "Uint8Array", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "Uint8ClampedArray", "BigInt64Array", "BigUint64Array", "Float16Array", "BigInt", "Proxy", "WeakMap", "Map", "Set", "DataView", "Symbol", "Reflect", "WeakSet", "Promise", "FinalizationRegistry", "WeakRef", "ReadableStream", "ReadableStreamBYOBReader", "ReadableStreamBYOBRequest", "ReadableStreamDefaultReader", "ReadableStreamDefaultController", "ReadableByteStreamController", "WritableStream", "ByteLengthQueuingStrategy", "CountQueuingStrategy", "self", "queueMicrotask", "structuredClone", "atob", "btoa", "Blob", "File", "FormData", "MultipartFormData", "DOMException", "URL", "URLSearchParams", "console", "Performance", "performance", "setInterval", "setTimeout", "clearInterval", "clearTimeout", "WorkerLocation", "location", "TextEncoder", "TextDecoder", "TransformStream", "CompressionStream", "DecompressionStream", "fetch", "Request", "Response", "Headers", "addEventListener", "SubtleCrypto", "Crypto", "crypto", "CryptoKey"]\n`
);
strictEqual(stderr, '');
}
Loading