diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 000000000..d02b01e15 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[target.wasm32-unknown-unknown] +rustflags = ["--cfg", "web_sys_unstable_apis"] diff --git a/.github/workflows/nannou.yml b/.github/workflows/nannou.yml index 296a0830c..84c025a0d 100644 --- a/.github/workflows/nannou.yml +++ b/.github/workflows/nannou.yml @@ -113,11 +113,17 @@ jobs: profile: minimal toolchain: stable override: true + target: wasm32-unknown-unknown - name: Run check uses: actions-rs/cargo@v1 with: command: check args: --examples --verbose + - name: Check nannou package builds against wasm32-unknown-unknown + uses: actions-rs/cargo@v1 + with: + command: build + args: -p nannou --features wasm-experimental --target wasm32-unknown-unknown cargo-publish: if: github.event_name == 'push' && github.ref == 'refs/heads/master' diff --git a/nannou/Cargo.toml b/nannou/Cargo.toml index c2c1608aa..6a2854922 100644 --- a/nannou/Cargo.toml +++ b/nannou/Cargo.toml @@ -13,6 +13,7 @@ edition = "2018" [dependencies] find_folder = "0.3" futures = { version = "0.3", features = ["executor", "thread-pool"] } +getrandom = "0.2.3" image = "0.23" instant = "0.1.9" lyon = "0.17" @@ -36,3 +37,5 @@ winit = "0.26" default = ["notosans"] # Enables SPIR-V support in the `wgpu` module. spirv = ["nannou_wgpu/spirv"] +# Enables experimental WASM compilation for CI-use only +wasm-experimental = ["getrandom/js"]