From fdbde131e874f09fadb23489c62f1adfaea52f28 Mon Sep 17 00:00:00 2001 From: Savanni D'Gerinel Date: Tue, 9 May 2023 09:58:38 -0400 Subject: [PATCH] Try linking together the wasm ffi and the pwa --- Makefile | 2 +- kifu/ffi/wasm/Cargo.lock | 130 ++++++++------------------------ kifu/ffi/wasm/Makefile | 3 + kifu/kifu-pwa/package-lock.json | 5 ++ kifu/kifu-pwa/package.json | 1 + kifu/kifu-pwa/src/converter.ts | 14 ++-- kifu/kifu-pwa/src/index.html | 2 +- kifu/kifu-pwa/src/sw.js | 4 +- 8 files changed, 51 insertions(+), 110 deletions(-) create mode 100644 kifu/ffi/wasm/Makefile diff --git a/Makefile b/Makefile index 1ec1f6f..28ac177 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ kifu-pwa: cd kifu/kifu-pwa && make release kifu-pwa/dev: - # pushd kifu/ffi/wasm && make && popd + pushd kifu/ffi/wasm && make && popd pushd kifu/kifu-pwa && make dev kifu-pwa/test-server: diff --git a/kifu/ffi/wasm/Cargo.lock b/kifu/ffi/wasm/Cargo.lock index 3af15df..ee15236 100644 --- a/kifu/ffi/wasm/Cargo.lock +++ b/kifu/ffi/wasm/Cargo.lock @@ -23,12 +23,6 @@ version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" -[[package]] -name = "bytes" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" - [[package]] name = "cc" version = "1.0.79" @@ -115,6 +109,15 @@ dependencies = [ "syn 2.0.15", ] +[[package]] +name = "grid" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0634107a3a005070dd73e27e74ecb691a94e9e5ba7829f434db7fbf73a6b5c47" +dependencies = [ + "no-std-compat", +] + [[package]] name = "iana-time-zone" version = "0.1.56" @@ -158,8 +161,9 @@ dependencies = [ name = "kifu-core" version = "0.1.0" dependencies = [ + "grid", "serde", - "tokio", + "thiserror", "typeshare", ] @@ -196,6 +200,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + [[package]] name = "num-integer" version = "0.1.45" @@ -221,12 +231,6 @@ version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - [[package]] name = "proc-macro2" version = "1.0.56" @@ -320,23 +324,19 @@ dependencies = [ ] [[package]] -name = "tokio" -version = "1.27.0" +name = "thiserror" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" dependencies = [ - "autocfg", - "bytes", - "pin-project-lite", - "tokio-macros", - "windows-sys", + "thiserror-impl", ] [[package]] -name = "tokio-macros" -version = "2.0.0" +name = "thiserror-impl" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", @@ -490,31 +490,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-targets", ] [[package]] @@ -523,93 +499,51 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - [[package]] name = "windows_aarch64_msvc" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - [[package]] name = "windows_i686_gnu" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - [[package]] name = "windows_i686_msvc" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - [[package]] name = "windows_x86_64_gnu" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - [[package]] name = "windows_x86_64_gnullvm" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - [[package]] name = "windows_x86_64_msvc" version = "0.48.0" diff --git a/kifu/ffi/wasm/Makefile b/kifu/ffi/wasm/Makefile new file mode 100644 index 0000000..856e9d2 --- /dev/null +++ b/kifu/ffi/wasm/Makefile @@ -0,0 +1,3 @@ + +all: + wasm-pack build --target web diff --git a/kifu/kifu-pwa/package-lock.json b/kifu/kifu-pwa/package-lock.json index 95451c2..2603a2b 100644 --- a/kifu/kifu-pwa/package-lock.json +++ b/kifu/kifu-pwa/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "GPL-3.0-or-later", "dependencies": { + "kifu-wasm": "file:../ffi/wasm/pkg", "lodash": "^4.17.21" }, "devDependencies": { @@ -1101,6 +1102,10 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/kifu-wasm": { + "version": "0.1.0", + "resolved": "file:../ffi/wasm/pkg" + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", diff --git a/kifu/kifu-pwa/package.json b/kifu/kifu-pwa/package.json index 426f788..2b54970 100644 --- a/kifu/kifu-pwa/package.json +++ b/kifu/kifu-pwa/package.json @@ -18,6 +18,7 @@ "webpack-cli": "^5.1.0" }, "dependencies": { + "kifu-wasm": "file:../ffi/wasm/pkg", "lodash": "^4.17.21" } } diff --git a/kifu/kifu-pwa/src/converter.ts b/kifu/kifu-pwa/src/converter.ts index dbe058b..3332d4a 100644 --- a/kifu/kifu-pwa/src/converter.ts +++ b/kifu/kifu-pwa/src/converter.ts @@ -1,4 +1,4 @@ -// import init, { CoreApp } from "./kifu_wasm.js"; +import init, { CoreApp } from "kifu-wasm"; const inputField = document.getElementById("input-temp"); const fromUnitField = document.getElementById("input-unit"); @@ -44,11 +44,9 @@ form.addEventListener("input", () => { Math.round(outputTemp * 100) / 100 + " " + toUnit.toUpperCase(); }); -/* -init().then(async () => { - let app = new CoreApp(); - console.log("app: ", app, CoreApp); - await app.dispatch({ type: "PlayingField" }); - console.log("kifu_wasm successfully initted"); +init().then(async () => { + let app = new CoreApp(); + console.log("app: ", app, CoreApp); + await app.dispatch({ type: "PlayingField" }); + console.log("kifu_wasm successfully initted"); }); -*/ diff --git a/kifu/kifu-pwa/src/index.html b/kifu/kifu-pwa/src/index.html index ec811e3..b04b82d 100644 --- a/kifu/kifu-pwa/src/index.html +++ b/kifu/kifu-pwa/src/index.html @@ -5,7 +5,7 @@ Temperature converter - +

Temperature Converter

diff --git a/kifu/kifu-pwa/src/sw.js b/kifu/kifu-pwa/src/sw.js index c251462..6e46b71 100644 --- a/kifu/kifu-pwa/src/sw.js +++ b/kifu/kifu-pwa/src/sw.js @@ -7,8 +7,8 @@ self.addEventListener('install', event => { '/', '/kifu-bundle.js', '/converter.css', - // '/kifu_wasm.js', - // '/kifu_wasm_bg.wasm', + '/kifu_wasm.js', + '/kifu_wasm_bg.wasm', ]); })()); });