diff --git a/.github/workflows/npm-cd.yaml b/.github/workflows/npm-cd.yaml index 3981634..90d4e4e 100644 --- a/.github/workflows/npm-cd.yaml +++ b/.github/workflows/npm-cd.yaml @@ -22,14 +22,16 @@ jobs: run: rustup update nightly - name: set nightly Rust default run: rustup default nightly - - name: Install wasm-pack - run: sh -c "curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh" + - name: add wasm32-unknown-unknown target + run: rustup target add wasm32-unknown-unknown + - name: install wasm-bindgen-cli + run: cargo install wasm-bindgen-cli - name: build and publish the package run: | set -e - echo //registry.npmjs.com/:_authToken=${{ secrets.NPM_CD_TOKEN }} > ~/.npmrc + echo //registry.npmjs.org/:_authToken=${{ secrets.NPM_CD_TOKEN }} > ~/.npmrc cd wasm_web - wasm-pack build + make build cd pkg npm pack npm publish \ No newline at end of file diff --git a/.github/workflows/npm-ci.yaml b/.github/workflows/npm-ci.yaml index d867f85..d333fa6 100644 --- a/.github/workflows/npm-ci.yaml +++ b/.github/workflows/npm-ci.yaml @@ -17,7 +17,9 @@ jobs: run: rustup update nightly - name: set nightly Rust default run: rustup default nightly - - name: Install wasm-pack - run: sh -c "curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh" + - name: add wasm32-unknown-unknown target + run: rustup target add wasm32-unknown-unknown + - name: install wasm-bindgen-cli + run: cargo install wasm-bindgen-cli - name: build package - run: cd wasm_web && wasm-pack build && wasm-pack pack \ No newline at end of file + run: cd wasm_web && make clean && make build \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 2566164..7f54a8b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -117,7 +117,7 @@ dependencies = [ [[package]] name = "tiny-prng-wasm" -version = "0.2.4" +version = "0.2.5" dependencies = [ "console_error_panic_hook", "tiny_prng", @@ -127,7 +127,7 @@ dependencies = [ [[package]] name = "tiny_prng" -version = "0.2.4" +version = "0.2.5" [[package]] name = "unicode-ident" diff --git a/tiny_prng/Cargo.toml b/tiny_prng/Cargo.toml index 1110f7a..caed6eb 100644 --- a/tiny_prng/Cargo.toml +++ b/tiny_prng/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tiny_prng" -version = "0.2.4" +version = "0.2.5" edition = "2024" license = "MIT OR Apache-2.0" description = "Tiny pseudo number generator set (MT, Xorshift and PCG)" diff --git a/wasm_web/.package.json b/wasm_web/.package.json new file mode 100644 index 0000000..4dff08f --- /dev/null +++ b/wasm_web/.package.json @@ -0,0 +1,28 @@ +{ + "name": "tiny-prng-wasm", + "type": "module", + "collaborators": [ + "Suzume Nomura " + ], + "description": "PRNG in the browser stack", + "version": "0.2.5", + "license": "MIT OR Apache-2.0", + "files": [ + "tiny_prng_wasm_bg.wasm", + "tiny_prng_wasm.js", + "tiny_prng_wasm_bg.js", + "tiny_prng_wasm.d.ts" + ], + "main": "tiny_prng_wasm.js", + "types": "tiny_prng_wasm.d.ts", + "sideEffects": [ + "./tiny_prng_wasm.js", + "./snippets/*" + ], + "keywords": [ + "rand", + "prng", + "random-number-generator", + "wasm" + ] +} diff --git a/wasm_web/Cargo.toml b/wasm_web/Cargo.toml index ed29a45..1cfaadd 100644 --- a/wasm_web/Cargo.toml +++ b/wasm_web/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "tiny-prng-wasm" -version = "0.2.4" +version = "0.2.5" authors = ["Suzume Nomura "] description = "PRNG in the browser stack" edition = "2024" license = "MIT OR Apache-2.0" -keywords = ["rand","prng","random-number-generator","wasm"] +keywords = ["rand", "prng", "random-number-generator", "wasm"] [lib] crate-type = ["cdylib", "rlib"] diff --git a/wasm_web/Makefile b/wasm_web/Makefile index 9ff50b2..1dc4b32 100644 --- a/wasm_web/Makefile +++ b/wasm_web/Makefile @@ -1,13 +1,16 @@ -inp := ./www/node_modules/tiny-prng-wasm +demodir := ./demo +inp := $(demodir)/node_modules/tiny-prng-wasm all: clean build serve build: - wasm-pack build; - test ! -d $(inp) || rm -rv $(inp); - cp -rv pkg/ $(inp); + cargo build --release --target wasm32-unknown-unknown \ + && wasm-bindgen --typescript --out-dir pkg ../target/wasm32-unknown-unknown/release/tiny_prng_wasm.wasm \ + && test ! -d $(inp) || rm -rv $(inp); \ + [ -d $(inp) ] || mkdir -vp $(inp) \ + && cp -rv .package.json pkg/package.json && cp -rv pkg/ $(inp); serve: - cd www && yarn install && yarn start + cd $(demodir) && yarn install && yarn start test: wasm-pack test --headless --firefox clean: - test -d pkg && rm -rv pkg www/node_modules/tiny-prng www/node_modules/tiny-prng-wasm || : + test -d pkg && rm -rv pkg $(inp) || : diff --git a/wasm_web/www/.gitignore b/wasm_web/demo/.gitignore similarity index 100% rename from wasm_web/www/.gitignore rename to wasm_web/demo/.gitignore diff --git a/wasm_web/www/LICENSE-APACHE b/wasm_web/demo/LICENSE-APACHE similarity index 100% rename from wasm_web/www/LICENSE-APACHE rename to wasm_web/demo/LICENSE-APACHE diff --git a/wasm_web/www/LICENSE-MIT b/wasm_web/demo/LICENSE-MIT similarity index 100% rename from wasm_web/www/LICENSE-MIT rename to wasm_web/demo/LICENSE-MIT diff --git a/wasm_web/www/README.md b/wasm_web/demo/README.md similarity index 100% rename from wasm_web/www/README.md rename to wasm_web/demo/README.md diff --git a/wasm_web/www/package.json b/wasm_web/demo/package.json similarity index 100% rename from wasm_web/www/package.json rename to wasm_web/demo/package.json diff --git a/wasm_web/www/src/bootstrap.js b/wasm_web/demo/src/bootstrap.js similarity index 100% rename from wasm_web/www/src/bootstrap.js rename to wasm_web/demo/src/bootstrap.js diff --git a/wasm_web/www/src/index.html b/wasm_web/demo/src/index.html similarity index 100% rename from wasm_web/www/src/index.html rename to wasm_web/demo/src/index.html diff --git a/wasm_web/www/src/index.js b/wasm_web/demo/src/index.js similarity index 100% rename from wasm_web/www/src/index.js rename to wasm_web/demo/src/index.js diff --git a/wasm_web/www/webpack.config.js b/wasm_web/demo/webpack.config.js similarity index 100% rename from wasm_web/www/webpack.config.js rename to wasm_web/demo/webpack.config.js diff --git a/wasm_web/www/yarn.lock b/wasm_web/demo/yarn.lock similarity index 100% rename from wasm_web/www/yarn.lock rename to wasm_web/demo/yarn.lock