swiftwasm / swiftwasm/JavaScriptKit

[BridgeJS] Uncaught TypeError: import object field '<project>' is not an Object

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

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

主要言語
Swift
スター
986
フォーク
76
平均マージ
21時間 11分
マージ済み PR(30日)
4

説明

When using ElementaryUI and BridgeJS combined compilation succeeds but runtime crashes on start with:

Uncaught TypeError: import object field '<project>' is not an Object
@View
struct Counter {
    @State var count = 0

    var body: some View {
        div {
            p { "Count: \(count)" }
            button { "Increment" }
                .onClick { count += 1 }
        }.onAppear {
            try? console().log("Hello from Swift!")
        }
    }
}

import JavaScriptKit

@JSFunction func console() throws(JSException) -> Console

@JSClass struct Console {
    @JSFunction func log(_ message: String) throws(JSException) -> Void
}

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

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

はじめの一歩

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

調査の方向性

Issue に示されている ElementaryUI と BridgeJS の Counter 例でランタイムクラッシュを再現します。まず、生成された WebAssembly の import と、 フィールド周辺の JavaScript 側の import オブジェクトを調べます。報告された uncaught TypeError なしで結合コンパイルが開始すれば完了です。

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

評価

技術スタック
javascript, swift, wasm
領域
api, web-dev
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

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

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