git.delta.rocks / jrsonnet / refs/commits / 4ea8dc2d6da9

difftreelog

feat(bindings) implement WASM

Лач2020-06-28parent: #85533fe.patch.diff
in: master

3 files changed

modifiedREADME.mddiffbeforeafterboth
20## Bindings20## Bindings
2121
22C bindings (libjsonnet.so) are WIP22C bindings (libjsonnet.so) are WIP
23JS bindings are WIP too, but also available in WASM form
2324
24Something is implemented, but mostly unusable for now
25
26See them in `./bindings/jsonnet/`25See them in `./bindings/jsonnet/`
2726
28## Benchmark27## Benchmark
modifiedbindings/Makefilediffbeforeafterboth
--- a/bindings/Makefile
+++ b/bindings/Makefile
@@ -10,3 +10,8 @@
 	ldd ./c/libjsonnet_test_file
 	valgrind --leak-check=full ./c/libjsonnet_test_file test.jsonnet
 
+../target/wasm32-wasi/release/jsonnet.wasm:
+	cd jsonnet && cargo wasi build --release -p jsonnet && cd ..
+
+test-js: ../target/wasm32-wasi/release/jsonnet.wasm
+	node --experimental-wasi-unstable-preview1 --experimental-wasm-bigint js/index
modifiedbindings/jsonnet/src/lib.rsdiffbeforeafterboth
--- a/bindings/jsonnet/src/lib.rs
+++ b/bindings/jsonnet/src/lib.rs
@@ -17,6 +17,9 @@
 };
 
 #[no_mangle]
+pub extern "C" fn _start() {}
+
+#[no_mangle]
 pub extern "C" fn jsonnet_version() -> &'static [u8; 8] {
 	b"v0.16.0\0"
 }