From 604fd9f6fd813ff03e38066067a5522fb7ae7d0d Mon Sep 17 00:00:00 2001 From: Suzume Nomura Date: Fri, 25 Jul 2025 23:29:31 +0900 Subject: [PATCH 1/4] modify Makefile not to depend on wasm-pack, change the demo directory path --- wasm_web/.package.json | 28 ++++++++++++++++++++++++ wasm_web/Makefile | 14 +++++++----- wasm_web/{www => demo}/.gitignore | 0 wasm_web/{www => demo}/LICENSE-APACHE | 0 wasm_web/{www => demo}/LICENSE-MIT | 0 wasm_web/{www => demo}/README.md | 0 wasm_web/{www => demo}/package.json | 0 wasm_web/{www => demo}/src/bootstrap.js | 0 wasm_web/{www => demo}/src/index.html | 0 wasm_web/{www => demo}/src/index.js | 0 wasm_web/{www => demo}/webpack.config.js | 0 wasm_web/{www => demo}/yarn.lock | 0 12 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 wasm_web/.package.json rename wasm_web/{www => demo}/.gitignore (100%) rename wasm_web/{www => demo}/LICENSE-APACHE (100%) rename wasm_web/{www => demo}/LICENSE-MIT (100%) rename wasm_web/{www => demo}/README.md (100%) rename wasm_web/{www => demo}/package.json (100%) rename wasm_web/{www => demo}/src/bootstrap.js (100%) rename wasm_web/{www => demo}/src/index.html (100%) rename wasm_web/{www => demo}/src/index.js (100%) rename wasm_web/{www => demo}/webpack.config.js (100%) rename wasm_web/{www => demo}/yarn.lock (100%) diff --git a/wasm_web/.package.json b/wasm_web/.package.json new file mode 100644 index 0000000..e5d8aaa --- /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.4", + "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" + ] +} \ No newline at end of file diff --git a/wasm_web/Makefile b/wasm_web/Makefile index 9ff50b2..80d0a4d 100644 --- a/wasm_web/Makefile +++ b/wasm_web/Makefile @@ -1,13 +1,15 @@ -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); \ + 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 From 84357a3b372036d3943c75adee100ebca24ab35d Mon Sep 17 00:00:00 2001 From: Suzume Nomura Date: Fri, 25 Jul 2025 23:34:44 +0900 Subject: [PATCH 2/4] update CI without wasm-pack, bump version 0.2.5 --- .github/workflows/npm-cd.yaml | 6 ++---- .github/workflows/npm-ci.yaml | 2 +- Cargo.lock | 2 +- tiny_prng/Cargo.toml | 2 +- wasm_web/.package.json | 4 ++-- wasm_web/Cargo.toml | 4 ++-- 6 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.github/workflows/npm-cd.yaml b/.github/workflows/npm-cd.yaml index 3981634..525bfb8 100644 --- a/.github/workflows/npm-cd.yaml +++ b/.github/workflows/npm-cd.yaml @@ -22,14 +22,12 @@ 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: 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..b485a4b 100644 --- a/.github/workflows/npm-ci.yaml +++ b/.github/workflows/npm-ci.yaml @@ -20,4 +20,4 @@ jobs: - name: Install wasm-pack run: sh -c "curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh" - 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..8422870 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", 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 index e5d8aaa..4dff08f 100644 --- a/wasm_web/.package.json +++ b/wasm_web/.package.json @@ -5,7 +5,7 @@ "Suzume Nomura " ], "description": "PRNG in the browser stack", - "version": "0.2.4", + "version": "0.2.5", "license": "MIT OR Apache-2.0", "files": [ "tiny_prng_wasm_bg.wasm", @@ -25,4 +25,4 @@ "random-number-generator", "wasm" ] -} \ No newline at end of file +} 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"] From 19492304bc510c1f8d5ccbf6becf868b51dac1de Mon Sep 17 00:00:00 2001 From: Suzume Nomura Date: Fri, 25 Jul 2025 23:41:54 +0900 Subject: [PATCH 3/4] fix CI/CD workflow --- .github/workflows/npm-cd.yaml | 4 ++++ .github/workflows/npm-ci.yaml | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/npm-cd.yaml b/.github/workflows/npm-cd.yaml index 525bfb8..90d4e4e 100644 --- a/.github/workflows/npm-cd.yaml +++ b/.github/workflows/npm-cd.yaml @@ -22,6 +22,10 @@ jobs: run: rustup update nightly - name: set nightly Rust default run: rustup default nightly + - 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 diff --git a/.github/workflows/npm-ci.yaml b/.github/workflows/npm-ci.yaml index b485a4b..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 && make clean && make build \ No newline at end of file From 3449a928cb52af6a9a9c649ad80274f3736a4914 Mon Sep 17 00:00:00 2001 From: Suzume Nomura Date: Fri, 25 Jul 2025 23:48:04 +0900 Subject: [PATCH 4/4] fix Makefile --- Cargo.lock | 2 +- wasm_web/Makefile | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8422870..7f54a8b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -127,7 +127,7 @@ dependencies = [ [[package]] name = "tiny_prng" -version = "0.2.4" +version = "0.2.5" [[package]] name = "unicode-ident" diff --git a/wasm_web/Makefile b/wasm_web/Makefile index 80d0a4d..1dc4b32 100644 --- a/wasm_web/Makefile +++ b/wasm_web/Makefile @@ -6,7 +6,8 @@ build: 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); \ - cp -rv .package.json pkg/package.json && cp -rv pkg/ $(inp); + [ -d $(inp) ] || mkdir -vp $(inp) \ + && cp -rv .package.json pkg/package.json && cp -rv pkg/ $(inp); serve: cd $(demodir) && yarn install && yarn start test: