Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Compile components without a JS runtime

オープン
#193 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
javascript, rust, wasm
領域
compilers

調査の方向性

ファイルやテストは指定されていません。まず、既存の JS/ESM コンパイルエントリポイントと、提案における下位層の Rust と上位層のバインディングの区別を確認します。完了には、JS ランタイムなしでコンパイルするための明確なアプローチを定義し、必要なバインディングを特定することが必要です。

索引モデルが issue の本文から書いたものです。

説明

Summary

For certain scenarios, it would be great if we could create WebAssembly Components from JS/ESM with this library, without requiring a JS runtime.

Background

If a backend service written in Python or Ruby would like to take an input string of Javascript, precompile a wasm component, and then run it using a Wasmtime host for Python or Ruby, needing a full JS runtime to do the compilation step will complicate things in that backend host.

Proposal

With the current trend that a lot of JS tooling is also available in Rust (Biome, Oxc, Rolldown, etc), would it be possible to see this project as a two-layer library?

The lower layer is implemented in Rust (maybe using existing ecosystem tools where available) to bundle and compile the JS code into a WebAssembly Component, and the higher layer would be bindings to the lower layer.

Those higher-layer bindings might be JS, which would give the end result of this project (lower layer + higher level), but those bindings might also be written in Python or Ruby, to pair with e.g. Wasmtime-Py or Wasmtime-Rb.

Let me know if I should elaborate!

主要言語
Rust
スター
392
フォーク
54
平均マージ
2日 18時間
マージ済み PR(30日)
3

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

bytecodealliance/ComponentizeJS のほかの issue

bytecodealliance/ComponentizeJS の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。