Improve the ArkEmscripten playground

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

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

評価

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

調査の方向性

まず、現在の ArkEmscripten playground と、issue に示されている JavaScript の出力キャプチャコードを調査します。playground がどのようにコンパイルされているか、また現在 CI でコンパイルがどのようにテストされているかを確認します。playground の UI/UX が改善され、出力キャプチャが向上し、DOM および JavaScript のユーティリティが追加され、その動作をカバーするテストが用意された時点で作業は完了です。

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

説明

enhancement
Is your feature request related to a problem?

The current playground is pretty bare, and the current method of capturing what's printed is not that good (though I have no clue how to make it better):

log = console.log;
var can_capture = false;

window.console.log = (message) => {
    log(message);
    if (can_capture)
        document.getElementById("output").value += message + "\n";
};

var Module = {
    onRuntimeInitialized: function () {
        document.getElementById("run").addEventListener("click", () => {
            document.getElementById("output").value = "";
            const code = document.getElementById("code").value;
            try {
                can_capture = true;
                Module.run(code);
            } catch (e) {
                document.getElementById("output").value = e;
            }
            can_capture = false;
        });
    }
};

Playground:
Wasm Playground

Describe the solution you would like
  1. Improve the UI/UX of the playground (without having to add Vue, React or other huge libraries)
  2. Add more utils / builtins to ArkEmscripten to play with DOM and JavaScript values / functions
  3. Find a better way to get ArkScript output
  4. Add more tests (currently not tested in the CI, only the compilation is tested)
Is it a big modification to the language? Leave it if you don't know
  • Breaking change
  • Compiler/syntax modifications
  • Runtime modifications (standard library, modules, packages...)
主要言語
C++
スター
729
フォーク
54
平均マージ
4時間 8分
マージ済み PR(30日)
2

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

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

はじめの一歩

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

ArkScript-lang/Ark のほかの issue

ArkScript-lang/Ark の issue をすべて見る

似ている issue

C++ の issue をもっと見る

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

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