bytecodealliance / bytecodealliance/ComponentizeJS

Newer versions of wasi:http/incoming-handler are tied to version in StarlingMonkey

未關閉
#313 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
bug feature/fetch-event feature/wasi project/starlingmonkey
主要語言
Rust
星號
391
分支
53
平均合併
3 天 5 小時
30 天內合併 PR
1

描述

At present, `componentize-js` will error when users attempt to use a version of `wasi:http/incoming-handler` that is not being used by StarlingMonkey underneath.

```
(jco componentize) ComponentError: failed to encode a component from module
$failed to decode world from module

Caused by:
0: module was not valid
1: failed to find export of interface `wasi:http/incoming-handler@0.2.8` function `handle`
at componentNew (file:///path/to/project/node_modules/.pnpm/@bytecodealliance+jco@1.15.1/node_modules/@bytecodealliance/jco/obj/wasm-tools.js:4659:11)
at componentNew (file:///path/to/project/node_modules/.pnpm/@bytecodealliance+jco@1.15.1/node_modules/@bytecodealliance/jco/src/api.js:48:12)
at async componentize (file:///path/to/project/node_modules/.pnpm/@bytecodealliance+componentize-js@0.19.2/node_modules/@bytecodealliance/componentize-js/src/componentize.js:342:5)
at async componentize (file:///path/to/project/node_modules/.pnpm/@bytecodealliance+jco@1.15.1/node_modules/@bytecodealliance/jco/src/cmd/componentize.js:25:24)
at async file:///path/to/project/node_modules/.pnpm/@bytecodealliance+jco@1.15.1/node_modules/@bytecodealliance/jco/src/jco.js:485:17
```

It would be ideal if people could easily update their WASI versions just like if they were using `wasi:http` manually, but obviously this becomes a problem of trying to support a matrix of wasi:http versions with the version of StarlingMonkey that is used.

See also #282

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

先重現 wasi:http/incoming-handler@0.2.8 的 componentize 失敗,然後閱讀 componentize.js 以及 trace 中顯示的相關 src/api.js 和 jco.js 進入點。定義支援的 WASI 版本如何與 StarlingMonkey 版本互動,並驗證選取的版本可以在不發生 missing-export 錯誤的情況下進行 componentize。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
javascript, wasm
領域
tooling
Issue 類型
功能
難度
5/5
預估耗時
一週以上
活躍度
停滯
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。