From ce04db0b5e9accf515a75dd15b1673ccb5f3638d Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Mon, 26 Oct 2020 10:01:01 +0900 Subject: [PATCH 1/4] Add source code compatibility check CI --- .github/workflows/compatibility.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/compatibility.yml diff --git a/.github/workflows/compatibility.yml b/.github/workflows/compatibility.yml new file mode 100644 index 000000000..f54bb39da --- /dev/null +++ b/.github/workflows/compatibility.yml @@ -0,0 +1,20 @@ +name: Check compatibility +on: [push, pull_request] +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 From e239775a6f00ce6a5735172d285d99828cc3fbc3 Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Mon, 26 Oct 2020 10:02:49 +0900 Subject: [PATCH 2/4] Update example --- .../Sources/JavaScriptKitExample/main.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift b/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift index 2ddec8ad4..ec6194a5d 100644 --- a/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift +++ b/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift @@ -1,7 +1,7 @@ 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.object! let divElement = document.createElement!("div").object! divElement.innerText = "Hello, world" @@ -10,8 +10,9 @@ _ = body.appendChild!(divElement) let buttonElement = document.createElement!("button").object! 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) From 432650b62af9671e06444902408a855214882ad7 Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Mon, 26 Oct 2020 10:04:42 +0900 Subject: [PATCH 3/4] Update ci trigger condition --- .github/workflows/compatibility.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compatibility.yml b/.github/workflows/compatibility.yml index f54bb39da..17b257cfd 100644 --- a/.github/workflows/compatibility.yml +++ b/.github/workflows/compatibility.yml @@ -1,5 +1,8 @@ name: Check compatibility -on: [push, pull_request] +on: + pull_request: + push: + branches: [master] jobs: test: name: Check source code compatibility From 7b73c34ccde4918b16f88de8902c16ed396f5641 Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Mon, 26 Oct 2020 10:08:59 +0900 Subject: [PATCH 4/4] Use simple syntax --- .../Sources/JavaScriptKitExample/main.swift | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift b/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift index ec6194a5d..58f582a7e 100644 --- a/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift +++ b/Example/JavaScriptKitExample/Sources/JavaScriptKitExample/main.swift @@ -1,18 +1,17 @@ import JavaScriptKit let alert = JSObject.global.alert.function! -let document = JSObject.global.document.object! +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!" let listener = JSClosure { _ in alert("Swift is running on browser!") } buttonElement.onclick = .function(listener) -_ = body.appendChild!(buttonElement) +_ = document.body.appendChild(buttonElement)