ruby_wasm 2.9.4-x64-mingw-ucrt → 2.10.1-x64-mingw-ucrt

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d10dbe1dcbeac88ab4cb72c90ed2fc187fba09feec50c0308fcc12a26461ad4
4
- data.tar.gz: 1d1b96c49df12479d7c01f682a040202f3985bd37fe8b0f3b1407a224a81198f
3
+ metadata.gz: 5c58995a69484e33f80c69a3de74b971883e14190f3003be2f091b3c2793afef
4
+ data.tar.gz: 5f079c15f64758ea9e057f14271061e8c6971c827d4d02c83888c352b1d35348
5
5
  SHA512:
6
- metadata.gz: efdee0c6719e9de49a9aeca2770cb8c11403d6e30df6f8da24760863e3a496478afc200370ee00897aa179298f15ac66512ba60eb6e717f1140eafc737fcd30d
7
- data.tar.gz: 224a0aa1a6e787f62d868eb2b18f9d3a3e42a5b28e9589c43343cc0510dc0ed3d701c6cec383bf53e097a1d6d634c79c74c3e9d6e6800d1e9ac5d4bcdba241e6
6
+ metadata.gz: 5cefc54a5fc76318cf21692057b3598029de7f3d4ea7d4afa1f0e845677bb45ace8f11a382c61a532b7b110e4fdaebe50012add1e2a2568605818e530dfffe50
7
+ data.tar.gz: 8173a7240630082f397dcf484a926af0136befb709f375202f85a4d2a99752fefd2605c74324d45d68b2013520a12c929f478330881c72c66842d4d256a26078
data/README.md CHANGED
@@ -23,7 +23,7 @@ Create and save an `index.html` page with the following contents:
23
23
 
24
24
  ```html
25
25
  <html>
26
- <script src="https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.9.4/dist/browser.script.iife.js"></script>
26
+ <script src="https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.10.1/dist/browser.script.iife.js"></script>
27
27
  <script type="text/ruby">
28
28
  require "js"
29
29
 
data/docs/cheat_sheet.md CHANGED
@@ -26,10 +26,10 @@ const { vm } = await DefaultRubyVM(module);
26
26
  vm.eval(`puts "hello world"`);
27
27
  ```
28
28
 
29
- Then run the example code with `--experimental-wasi-unstable-preview1` flag to enable WASI support:
29
+ Then run the example code:
30
30
 
31
31
  ```console
32
- $ node --experimental-wasi-unstable-preview1 index.mjs
32
+ $ node index.mjs
33
33
  ```
34
34
 
35
35
  ## Browser
@@ -38,7 +38,7 @@ The easiest way to run Ruby on browser is to use `browser.script.iife.js` script
38
38
 
39
39
  ```html
40
40
  <html>
41
- <script src="https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.9.4/dist/browser.script.iife.js"></script>
41
+ <script src="https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.10.1/dist/browser.script.iife.js"></script>
42
42
  <script type="text/ruby">
43
43
  require "js"
44
44
  JS.global[:document].write "Hello, world!"
@@ -46,13 +46,24 @@ The easiest way to run Ruby on browser is to use `browser.script.iife.js` script
46
46
  </html>
47
47
  ```
48
48
 
49
+ Use `data-env` on the `browser.script.iife.js` script tag to pass environment variables when the Ruby VM starts:
50
+
51
+ ```html
52
+ <script
53
+ src="https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.9.3-2.9.4/dist/browser.script.iife.js"
54
+ data-env='{"RUBY_BOX":"1","RUBY_FIBER_MACHINE_STACK_SIZE":"1048576"}'
55
+ ></script>
56
+ ```
57
+
58
+ The `data-env` value must be a JSON object string whose values are strings.
59
+
49
60
  If you want to control Ruby VM from JavaScript, you can use `@ruby/wasm-wasi` package API:
50
61
 
51
62
  ```html
52
63
  <html>
53
64
  <script type="module">
54
- import { DefaultRubyVM } from "https://cdn.jsdelivr.net/npm/@ruby/wasm-wasi@2.9.4/dist/browser/+esm";
55
- const response = await fetch("https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.9.4/dist/ruby+stdlib.wasm");
65
+ import { DefaultRubyVM } from "https://cdn.jsdelivr.net/npm/@ruby/wasm-wasi@2.10.1/dist/browser/+esm";
66
+ const response = await fetch("https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.10.1/dist/ruby+stdlib.wasm");
56
67
  const module = await WebAssembly.compileStreaming(response);
57
68
  const { vm } = await DefaultRubyVM(module);
58
69
 
@@ -69,11 +80,11 @@ If you want to control Ruby VM from JavaScript, you can use `@ruby/wasm-wasi` pa
69
80
 
70
81
  ```html
71
82
  <html>
72
- <script src="https://cdn.jsdelivr.net/npm/@ruby/wasm-wasi@2.9.4/dist/browser.umd.js"></script>
83
+ <script src="https://cdn.jsdelivr.net/npm/@ruby/wasm-wasi@2.10.1/dist/browser.umd.js"></script>
73
84
  <script>
74
85
  const main = async () => {
75
86
  const { DefaultRubyVM } = window["ruby-wasm-wasi"];
76
- const response = await fetch("https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.9.4/dist/ruby+stdlib.wasm");
87
+ const response = await fetch("https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.10.1/dist/ruby+stdlib.wasm");
77
88
  const module = await WebAssembly.compileStreaming(response);
78
89
  const { vm } = await DefaultRubyVM(module);
79
90
 
@@ -128,7 +139,7 @@ end
128
139
 
129
140
  ```html
130
141
  <html>
131
- <script src="https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.9.4/dist/browser.script.iife.js"></script>
142
+ <script src="https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.10.1/dist/browser.script.iife.js"></script>
132
143
  <script type="text/ruby" data-eval="async">
133
144
  require "js"
134
145
 
@@ -143,8 +154,8 @@ Or using `@ruby/wasm-wasi` package API `RubyVM#evalAsync`:
143
154
  ```html
144
155
  <html>
145
156
  <script type="module">
146
- import { DefaultRubyVM } from "https://cdn.jsdelivr.net/npm/@ruby/wasm-wasi@2.9.4/dist/browser/+esm";
147
- const response = await fetch("https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.9.4/dist/ruby+stdlib.wasm");
157
+ import { DefaultRubyVM } from "https://cdn.jsdelivr.net/npm/@ruby/wasm-wasi@2.10.1/dist/browser/+esm";
158
+ const response = await fetch("https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.10.1/dist/ruby+stdlib.wasm");
148
159
  const module = await WebAssembly.compileStreaming(response);
149
160
  const { vm } = await DefaultRubyVM(module);
150
161
 
Binary file
Binary file
Binary file
@@ -2,7 +2,7 @@ require_relative "./product"
2
2
 
3
3
  module RubyWasm
4
4
  class WasiVfsProduct < BuildProduct
5
- WASI_VFS_VERSION = "0.5.0"
5
+ WASI_VFS_VERSION = "0.6.2"
6
6
 
7
7
  def initialize(build_dir)
8
8
  @build_dir = build_dir
data/lib/ruby_wasm/cli.rb CHANGED
@@ -45,7 +45,6 @@ module RubyWasm
45
45
  # @type var options: cli_options
46
46
  options = {
47
47
  save_temps: false,
48
- optimize: false,
49
48
  remake: false,
50
49
  reconfigure: false,
51
50
  clean: false,
@@ -84,10 +83,6 @@ module RubyWasm
84
83
  "Build profile. full or minimal"
85
84
  ) { |profile| options[:profile] = profile }
86
85
 
87
- opts.on("--optimize", "Optimize the output") do
88
- options[:optimize] = true
89
- end
90
-
91
86
  opts.on("--remake", "Re-execute make for Ruby") do
92
87
  options[:remake] = true
93
88
  end
@@ -220,11 +215,13 @@ module RubyWasm
220
215
  {
221
216
  name: "local",
222
217
  src: {
218
+ name: "local",
223
219
  type: "local",
224
220
  path: src_name,
225
221
  patches: patches
226
222
  },
227
- all_default_exts: RubyWasm::Packager::ALL_DEFAULT_EXTS
223
+ all_default_exts: RubyWasm::Packager::ALL_DEFAULT_EXTS,
224
+ wasi_sdk_version: aliases.fetch("head").fetch(:wasi_sdk_version)
228
225
  }
229
226
  )
230
227
  end
@@ -68,7 +68,6 @@ class RubyWasm::Packager
68
68
  wasm_bytes = wasi_virt.compose(wasm_bytes)
69
69
  end
70
70
 
71
- wasm_bytes = RubyWasmExt.preinitialize(wasm_bytes) if options[:optimize]
72
71
  wasm_bytes
73
72
  end
74
73
 
@@ -1,3 +1,3 @@
1
1
  module RubyWasm
2
- VERSION = "2.9.4"
2
+ VERSION = "2.10.1"
3
3
  end
data/package-lock.json CHANGED
@@ -3586,7 +3586,7 @@
3586
3586
  },
3587
3587
  "packages/npm-packages/ruby-3.2-wasm-wasi": {
3588
3588
  "name": "@ruby/3.2-wasm-wasi",
3589
- "version": "2.9.4",
3589
+ "version": "2.10.1",
3590
3590
  "license": "MIT",
3591
3591
  "dependencies": {
3592
3592
  "@ruby/wasm-wasi": "^2.0.0"
@@ -3594,7 +3594,7 @@
3594
3594
  },
3595
3595
  "packages/npm-packages/ruby-3.3-wasm-wasi": {
3596
3596
  "name": "@ruby/3.3-wasm-wasi",
3597
- "version": "2.9.4",
3597
+ "version": "2.10.1",
3598
3598
  "license": "MIT",
3599
3599
  "dependencies": {
3600
3600
  "@ruby/wasm-wasi": "^2.0.0"
@@ -3602,7 +3602,7 @@
3602
3602
  },
3603
3603
  "packages/npm-packages/ruby-3.4-wasm-wasi": {
3604
3604
  "name": "@ruby/3.4-wasm-wasi",
3605
- "version": "2.9.4",
3605
+ "version": "2.10.1",
3606
3606
  "license": "MIT",
3607
3607
  "dependencies": {
3608
3608
  "@ruby/wasm-wasi": "^2.0.0"
@@ -3610,7 +3610,7 @@
3610
3610
  },
3611
3611
  "packages/npm-packages/ruby-4.0-wasm-wasi": {
3612
3612
  "name": "@ruby/4.0-wasm-wasi",
3613
- "version": "2.9.4",
3613
+ "version": "2.10.1",
3614
3614
  "license": "MIT",
3615
3615
  "dependencies": {
3616
3616
  "@ruby/wasm-wasi": "^2.0.0"
@@ -3618,12 +3618,12 @@
3618
3618
  },
3619
3619
  "packages/npm-packages/ruby-head-wasm-emscripten": {
3620
3620
  "name": "@ruby/head-wasm-emscripten",
3621
- "version": "2.9.4",
3621
+ "version": "2.10.1",
3622
3622
  "license": "MIT"
3623
3623
  },
3624
3624
  "packages/npm-packages/ruby-head-wasm-wasi": {
3625
3625
  "name": "@ruby/head-wasm-wasi",
3626
- "version": "2.9.4",
3626
+ "version": "2.10.1",
3627
3627
  "license": "MIT",
3628
3628
  "dependencies": {
3629
3629
  "@ruby/wasm-wasi": "^2.0.0"
@@ -3631,7 +3631,7 @@
3631
3631
  },
3632
3632
  "packages/npm-packages/ruby-head-wasm-wasip2": {
3633
3633
  "name": "@ruby/head-wasm-wasip2",
3634
- "version": "2.9.4",
3634
+ "version": "2.10.1",
3635
3635
  "license": "MIT",
3636
3636
  "dependencies": {
3637
3637
  "@bytecodealliance/preview2-shim": "^0.17.2",
@@ -3648,7 +3648,7 @@
3648
3648
  },
3649
3649
  "packages/npm-packages/ruby-wasm-wasi": {
3650
3650
  "name": "@ruby/wasm-wasi",
3651
- "version": "2.9.4",
3651
+ "version": "2.10.1",
3652
3652
  "license": "MIT",
3653
3653
  "dependencies": {
3654
3654
  "@bjorn3/browser_wasi_shim": "^0.4.2",
@@ -5,7 +5,6 @@ module RubyWasm
5
5
  save_temps: bool,
6
6
  output: String,
7
7
 
8
- optimize: bool,
9
8
  remake: bool,
10
9
  reconfigure: bool,
11
10
  clean: bool,
@@ -1,8 +1,6 @@
1
1
  module RubyWasmExt
2
2
  type bytes = String
3
3
 
4
- def self.preinitialize: (bytes module_bytes) -> bytes
5
-
6
4
  class WasiVfs
7
5
  def initialize: () -> void
8
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_wasm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.4
4
+ version: 2.10.1
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Yuta Saito
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-04-05 00:00:00.000000000 Z
11
+ date: 2026-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logger