diff --git a/.github/workflows/compatibility.yml b/.github/workflows/compatibility.yml new file mode 100644 index 000000000..17b257cfd --- /dev/null +++ b/.github/workflows/compatibility.yml @@ -0,0 +1,23 @@ +name: Check compatibility +on: + pull_request: + push: + branches: [master] +jobs: + test: + name: Check source code compatibility + runs-on: Ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@master + with: + fetch-depth: 1 + - name: Run Test + run: | + git clone https://github.com/kylef/swiftenv.git ~/.swiftenv + export SWIFTENV_ROOT="$HOME/.swiftenv" + export PATH="$SWIFTENV_ROOT/bin:$PATH" + eval "$(swiftenv init -)" + make bootstrap + cd Example + swift build --triple wasm32-unknonw-wasi diff --git a/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift b/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift index 2ddec8ad4..58f582a7e 100644 --- a/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift +++ b/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift @@ -1,17 +1,17 @@ import JavaScriptKit -let alert = JSObjectRef.global.alert.function! -let document = JSObjectRef.global.document.object! +let alert = JSObject.global.alert.function! +let document = JSObject.global.document -let divElement = document.createElement!("div").object! +var divElement = document.createElement("div") divElement.innerText = "Hello, world" -let body = document.body.object! -_ = body.appendChild!(divElement) +_ = document.body.appendChild(divElement) -let buttonElement = document.createElement!("button").object! +var buttonElement = document.createElement("button") buttonElement.innerText = "Click me!" -buttonElement.onclick = .function { _ in +let listener = JSClosure { _ in alert("Swift is running on browser!") } +buttonElement.onclick = .function(listener) -_ = body.appendChild!(buttonElement) +_ = document.body.appendChild(buttonElement)