├── .github
└── workflows
│ └── release-binary.yaml
├── .gitignore
├── CHANGELOG.md
├── Cargo.lock
├── Cargo.toml
├── LICENSE.md
├── README.md
├── example-project
├── .cargo
│ └── config.toml
├── .gitignore
├── Cargo.lock
├── Cargo.toml
├── examples
│ ├── example.rs
│ ├── snippets.rs
│ └── snippets
│ │ └── snippet.js
├── index.html
└── src
│ └── main.rs
├── rustfmt.toml
├── src
├── main.rs
├── server.rs
├── server
│ └── certificate.rs
└── wasm_bindgen.rs
└── static
└── index.html
/.github/workflows/release-binary.yaml:
--------------------------------------------------------------------------------
1 | name: Release
2 |
3 | permissions:
4 | contents: write
5 |
6 | on:
7 | push:
8 | tags:
9 | - v[0-9]+.*
10 |
11 | jobs:
12 | create-release:
13 | runs-on: ubuntu-latest
14 | steps:
15 | - uses: actions/checkout@v3
16 | - uses: taiki-e/create-gh-release-action@v1
17 | with:
18 | changelog: CHANGELOG.md
19 | token: ${{ secrets.GITHUB_TOKEN }}
20 |
21 | upload-assets:
22 | runs-on: ubuntu-latest
23 | steps:
24 | - uses: actions/checkout@v3
25 | - uses: taiki-e/upload-rust-binary-action@v1
26 | with:
27 | bin: wasm-server-runner
28 | archive: $bin-$target
29 | token: ${{ secrets.GITHUB_TOKEN }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 1.0.0
2 |
3 | - Improve the error message you get when `wasm-bindgen` versions mismatch.
4 | - remove `Bindgen::reference_types` in favor of runtime detection
5 | - fix `WASM_SERVER_RUNNER_ADDRESS` parsing: it now supports `[::1]` without a specified port
6 | - update dependencies
7 |
8 | ## 0.6.3
9 | - update dependencies
10 | - remove `Bindgen::weak_refs` in favor of runtime detection
11 |
12 | ## 0.6.2
13 | - update dependencies
14 |
15 | ## 0.6.1
16 | - hide winit's "Using exceptions for control flow" error
17 |
18 | ## 0.6.0
19 | - only load a custom `index.html` when the `WASM_SERVER_RUNNER_CUSTOM_INDEX_HTML` environment variable is set
20 | - fix a panic during log relaying
21 |
22 | ## 0.5.0
23 | - relay logging from website back to console
24 | - cache https certificates
25 | - load `index.html` from directory if present
26 | - accept `true`/`1`/`yes` for bool options
27 | - use proper compression negotiation
28 | - improve mobile support
29 |
30 | ## 0.4.0
31 | - add workaround to make audio triggered in wasm play with any user interaction
32 | - make sure body fills whole page
33 | - add ability to use a custom serve directory
34 | - enable `--weak-refs` and `--reference-types` in `wasm-bindgen`
35 |
36 | ## 0.3.0
37 | - support wasm-bindgen snippets
38 | - use brotli at level 5 for compression (for good speed/size tradeoff)
39 | - support https (also with self-signed certificate)
40 | - add COOP and COEP headers
41 | - add ability to generate non-module JS
42 |
43 | ## 0.2.4
44 | - keep polling the server for updates forever
45 |
46 | ## 0.2.2
47 | - allow listening address to be customized with environment variable
48 | - clarify that printed size is compressed
49 |
50 | ## 0.2.1
51 | - prevent right click on body
52 | - add some more logs
53 | - try to fix fullscreen for bevy apps
54 |
55 | ## 0.2.0
56 | - pick free port instead of hardcoding `1338`
57 | - poll updates to reload page
58 | - compress wasm file using gzip
59 |
60 | ## 0.1.0
61 |
62 | - initial release
63 |
--------------------------------------------------------------------------------
/Cargo.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Cargo.
2 | # It is not intended for manual editing.
3 | version = 4
4 |
5 | [[package]]
6 | name = "addr2line"
7 | version = "0.24.2"
8 | source = "registry+https://github.com/rust-lang/crates.io-index"
9 | checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
10 | dependencies = [
11 | "gimli 0.31.1",
12 | ]
13 |
14 | [[package]]
15 | name = "adler2"
16 | version = "2.0.0"
17 | source = "registry+https://github.com/rust-lang/crates.io-index"
18 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
19 |
20 | [[package]]
21 | name = "ahash"
22 | version = "0.8.11"
23 | source = "registry+https://github.com/rust-lang/crates.io-index"
24 | checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
25 | dependencies = [
26 | "cfg-if",
27 | "once_cell",
28 | "version_check",
29 | "zerocopy 0.7.35",
30 | ]
31 |
32 | [[package]]
33 | name = "aho-corasick"
34 | version = "1.1.3"
35 | source = "registry+https://github.com/rust-lang/crates.io-index"
36 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
37 | dependencies = [
38 | "memchr",
39 | ]
40 |
41 | [[package]]
42 | name = "alloc-no-stdlib"
43 | version = "2.0.4"
44 | source = "registry+https://github.com/rust-lang/crates.io-index"
45 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
46 |
47 | [[package]]
48 | name = "alloc-stdlib"
49 | version = "0.2.2"
50 | source = "registry+https://github.com/rust-lang/crates.io-index"
51 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
52 | dependencies = [
53 | "alloc-no-stdlib",
54 | ]
55 |
56 | [[package]]
57 | name = "anyhow"
58 | version = "1.0.97"
59 | source = "registry+https://github.com/rust-lang/crates.io-index"
60 | checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f"
61 |
62 | [[package]]
63 | name = "arc-swap"
64 | version = "1.7.1"
65 | source = "registry+https://github.com/rust-lang/crates.io-index"
66 | checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
67 |
68 | [[package]]
69 | name = "async-compression"
70 | version = "0.4.21"
71 | source = "registry+https://github.com/rust-lang/crates.io-index"
72 | checksum = "c0cf008e5e1a9e9e22a7d3c9a4992e21a350290069e36d8fb72304ed17e8f2d2"
73 | dependencies = [
74 | "brotli",
75 | "flate2",
76 | "futures-core",
77 | "memchr",
78 | "pin-project-lite",
79 | "tokio",
80 | "zstd",
81 | "zstd-safe",
82 | ]
83 |
84 | [[package]]
85 | name = "atomic-waker"
86 | version = "1.1.2"
87 | source = "registry+https://github.com/rust-lang/crates.io-index"
88 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
89 |
90 | [[package]]
91 | name = "autocfg"
92 | version = "1.4.0"
93 | source = "registry+https://github.com/rust-lang/crates.io-index"
94 | checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
95 |
96 | [[package]]
97 | name = "aws-lc-rs"
98 | version = "1.12.6"
99 | source = "registry+https://github.com/rust-lang/crates.io-index"
100 | checksum = "dabb68eb3a7aa08b46fddfd59a3d55c978243557a90ab804769f7e20e67d2b01"
101 | dependencies = [
102 | "aws-lc-sys",
103 | "zeroize",
104 | ]
105 |
106 | [[package]]
107 | name = "aws-lc-sys"
108 | version = "0.27.1"
109 | source = "registry+https://github.com/rust-lang/crates.io-index"
110 | checksum = "77926887776171ced7d662120a75998e444d3750c951abfe07f90da130514b1f"
111 | dependencies = [
112 | "bindgen",
113 | "cc",
114 | "cmake",
115 | "dunce",
116 | "fs_extra",
117 | ]
118 |
119 | [[package]]
120 | name = "axum"
121 | version = "0.8.1"
122 | source = "registry+https://github.com/rust-lang/crates.io-index"
123 | checksum = "6d6fd624c75e18b3b4c6b9caf42b1afe24437daaee904069137d8bab077be8b8"
124 | dependencies = [
125 | "axum-core",
126 | "base64",
127 | "bytes",
128 | "futures-util",
129 | "http",
130 | "http-body",
131 | "http-body-util",
132 | "hyper",
133 | "hyper-util",
134 | "itoa",
135 | "matchit",
136 | "memchr",
137 | "mime",
138 | "percent-encoding",
139 | "pin-project-lite",
140 | "rustversion",
141 | "serde",
142 | "sha1",
143 | "sync_wrapper",
144 | "tokio",
145 | "tokio-tungstenite",
146 | "tower",
147 | "tower-layer",
148 | "tower-service",
149 | ]
150 |
151 | [[package]]
152 | name = "axum-core"
153 | version = "0.5.0"
154 | source = "registry+https://github.com/rust-lang/crates.io-index"
155 | checksum = "df1362f362fd16024ae199c1970ce98f9661bf5ef94b9808fee734bc3698b733"
156 | dependencies = [
157 | "bytes",
158 | "futures-util",
159 | "http",
160 | "http-body",
161 | "http-body-util",
162 | "mime",
163 | "pin-project-lite",
164 | "rustversion",
165 | "sync_wrapper",
166 | "tower-layer",
167 | "tower-service",
168 | ]
169 |
170 | [[package]]
171 | name = "axum-server"
172 | version = "0.7.2"
173 | source = "registry+https://github.com/rust-lang/crates.io-index"
174 | checksum = "495c05f60d6df0093e8fb6e74aa5846a0ad06abaf96d76166283720bf740f8ab"
175 | dependencies = [
176 | "arc-swap",
177 | "bytes",
178 | "fs-err",
179 | "http",
180 | "http-body",
181 | "hyper",
182 | "hyper-util",
183 | "pin-project-lite",
184 | "rustls",
185 | "rustls-pemfile",
186 | "rustls-pki-types",
187 | "tokio",
188 | "tokio-rustls",
189 | "tower-service",
190 | ]
191 |
192 | [[package]]
193 | name = "axum-server-dual-protocol"
194 | version = "0.7.0"
195 | source = "registry+https://github.com/rust-lang/crates.io-index"
196 | checksum = "2164551db024e87f20316d164eab9f5ad342d8188b08051ceb15ca92a60ea7b7"
197 | dependencies = [
198 | "axum-server",
199 | "bytes",
200 | "http",
201 | "http-body-util",
202 | "pin-project",
203 | "rustls",
204 | "tokio",
205 | "tokio-rustls",
206 | "tokio-util",
207 | "tower-layer",
208 | "tower-service",
209 | ]
210 |
211 | [[package]]
212 | name = "backtrace"
213 | version = "0.3.74"
214 | source = "registry+https://github.com/rust-lang/crates.io-index"
215 | checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
216 | dependencies = [
217 | "addr2line",
218 | "cfg-if",
219 | "libc",
220 | "miniz_oxide",
221 | "object",
222 | "rustc-demangle",
223 | "windows-targets",
224 | ]
225 |
226 | [[package]]
227 | name = "base64"
228 | version = "0.22.1"
229 | source = "registry+https://github.com/rust-lang/crates.io-index"
230 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
231 |
232 | [[package]]
233 | name = "bindgen"
234 | version = "0.69.5"
235 | source = "registry+https://github.com/rust-lang/crates.io-index"
236 | checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
237 | dependencies = [
238 | "bitflags",
239 | "cexpr",
240 | "clang-sys",
241 | "itertools",
242 | "lazy_static",
243 | "lazycell",
244 | "log",
245 | "prettyplease",
246 | "proc-macro2",
247 | "quote",
248 | "regex",
249 | "rustc-hash",
250 | "shlex",
251 | "syn",
252 | "which",
253 | ]
254 |
255 | [[package]]
256 | name = "bitflags"
257 | version = "2.9.0"
258 | source = "registry+https://github.com/rust-lang/crates.io-index"
259 | checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
260 |
261 | [[package]]
262 | name = "block-buffer"
263 | version = "0.10.4"
264 | source = "registry+https://github.com/rust-lang/crates.io-index"
265 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
266 | dependencies = [
267 | "generic-array",
268 | ]
269 |
270 | [[package]]
271 | name = "brotli"
272 | version = "7.0.0"
273 | source = "registry+https://github.com/rust-lang/crates.io-index"
274 | checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
275 | dependencies = [
276 | "alloc-no-stdlib",
277 | "alloc-stdlib",
278 | "brotli-decompressor",
279 | ]
280 |
281 | [[package]]
282 | name = "brotli-decompressor"
283 | version = "4.0.2"
284 | source = "registry+https://github.com/rust-lang/crates.io-index"
285 | checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37"
286 | dependencies = [
287 | "alloc-no-stdlib",
288 | "alloc-stdlib",
289 | ]
290 |
291 | [[package]]
292 | name = "bytes"
293 | version = "1.10.1"
294 | source = "registry+https://github.com/rust-lang/crates.io-index"
295 | checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
296 |
297 | [[package]]
298 | name = "cc"
299 | version = "1.2.17"
300 | source = "registry+https://github.com/rust-lang/crates.io-index"
301 | checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a"
302 | dependencies = [
303 | "jobserver",
304 | "libc",
305 | "shlex",
306 | ]
307 |
308 | [[package]]
309 | name = "cexpr"
310 | version = "0.6.0"
311 | source = "registry+https://github.com/rust-lang/crates.io-index"
312 | checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
313 | dependencies = [
314 | "nom",
315 | ]
316 |
317 | [[package]]
318 | name = "cfg-if"
319 | version = "1.0.0"
320 | source = "registry+https://github.com/rust-lang/crates.io-index"
321 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
322 |
323 | [[package]]
324 | name = "clang-sys"
325 | version = "1.8.1"
326 | source = "registry+https://github.com/rust-lang/crates.io-index"
327 | checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
328 | dependencies = [
329 | "glob",
330 | "libc",
331 | "libloading",
332 | ]
333 |
334 | [[package]]
335 | name = "cmake"
336 | version = "0.1.54"
337 | source = "registry+https://github.com/rust-lang/crates.io-index"
338 | checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0"
339 | dependencies = [
340 | "cc",
341 | ]
342 |
343 | [[package]]
344 | name = "cpufeatures"
345 | version = "0.2.17"
346 | source = "registry+https://github.com/rust-lang/crates.io-index"
347 | checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
348 | dependencies = [
349 | "libc",
350 | ]
351 |
352 | [[package]]
353 | name = "crc32fast"
354 | version = "1.4.2"
355 | source = "registry+https://github.com/rust-lang/crates.io-index"
356 | checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
357 | dependencies = [
358 | "cfg-if",
359 | ]
360 |
361 | [[package]]
362 | name = "crossbeam-deque"
363 | version = "0.8.6"
364 | source = "registry+https://github.com/rust-lang/crates.io-index"
365 | checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
366 | dependencies = [
367 | "crossbeam-epoch",
368 | "crossbeam-utils",
369 | ]
370 |
371 | [[package]]
372 | name = "crossbeam-epoch"
373 | version = "0.9.18"
374 | source = "registry+https://github.com/rust-lang/crates.io-index"
375 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
376 | dependencies = [
377 | "crossbeam-utils",
378 | ]
379 |
380 | [[package]]
381 | name = "crossbeam-utils"
382 | version = "0.8.21"
383 | source = "registry+https://github.com/rust-lang/crates.io-index"
384 | checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
385 |
386 | [[package]]
387 | name = "crypto-common"
388 | version = "0.1.6"
389 | source = "registry+https://github.com/rust-lang/crates.io-index"
390 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
391 | dependencies = [
392 | "generic-array",
393 | "typenum",
394 | ]
395 |
396 | [[package]]
397 | name = "data-encoding"
398 | version = "2.8.0"
399 | source = "registry+https://github.com/rust-lang/crates.io-index"
400 | checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010"
401 |
402 | [[package]]
403 | name = "deranged"
404 | version = "0.4.1"
405 | source = "registry+https://github.com/rust-lang/crates.io-index"
406 | checksum = "28cfac68e08048ae1883171632c2aef3ebc555621ae56fbccce1cbf22dd7f058"
407 | dependencies = [
408 | "powerfmt",
409 | ]
410 |
411 | [[package]]
412 | name = "digest"
413 | version = "0.10.7"
414 | source = "registry+https://github.com/rust-lang/crates.io-index"
415 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
416 | dependencies = [
417 | "block-buffer",
418 | "crypto-common",
419 | ]
420 |
421 | [[package]]
422 | name = "directories"
423 | version = "6.0.0"
424 | source = "registry+https://github.com/rust-lang/crates.io-index"
425 | checksum = "16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d"
426 | dependencies = [
427 | "dirs-sys",
428 | ]
429 |
430 | [[package]]
431 | name = "dirs-sys"
432 | version = "0.5.0"
433 | source = "registry+https://github.com/rust-lang/crates.io-index"
434 | checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
435 | dependencies = [
436 | "libc",
437 | "option-ext",
438 | "redox_users",
439 | "windows-sys 0.59.0",
440 | ]
441 |
442 | [[package]]
443 | name = "dunce"
444 | version = "1.0.5"
445 | source = "registry+https://github.com/rust-lang/crates.io-index"
446 | checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
447 |
448 | [[package]]
449 | name = "either"
450 | version = "1.15.0"
451 | source = "registry+https://github.com/rust-lang/crates.io-index"
452 | checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
453 |
454 | [[package]]
455 | name = "equivalent"
456 | version = "1.0.2"
457 | source = "registry+https://github.com/rust-lang/crates.io-index"
458 | checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
459 |
460 | [[package]]
461 | name = "errno"
462 | version = "0.3.10"
463 | source = "registry+https://github.com/rust-lang/crates.io-index"
464 | checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
465 | dependencies = [
466 | "libc",
467 | "windows-sys 0.59.0",
468 | ]
469 |
470 | [[package]]
471 | name = "fallible-iterator"
472 | version = "0.2.0"
473 | source = "registry+https://github.com/rust-lang/crates.io-index"
474 | checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
475 |
476 | [[package]]
477 | name = "fastrand"
478 | version = "2.3.0"
479 | source = "registry+https://github.com/rust-lang/crates.io-index"
480 | checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
481 |
482 | [[package]]
483 | name = "flate2"
484 | version = "1.1.0"
485 | source = "registry+https://github.com/rust-lang/crates.io-index"
486 | checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc"
487 | dependencies = [
488 | "crc32fast",
489 | "miniz_oxide",
490 | ]
491 |
492 | [[package]]
493 | name = "fnv"
494 | version = "1.0.7"
495 | source = "registry+https://github.com/rust-lang/crates.io-index"
496 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
497 |
498 | [[package]]
499 | name = "fs-err"
500 | version = "3.1.0"
501 | source = "registry+https://github.com/rust-lang/crates.io-index"
502 | checksum = "1f89bda4c2a21204059a977ed3bfe746677dfd137b83c339e702b0ac91d482aa"
503 | dependencies = [
504 | "autocfg",
505 | "tokio",
506 | ]
507 |
508 | [[package]]
509 | name = "fs_extra"
510 | version = "1.3.0"
511 | source = "registry+https://github.com/rust-lang/crates.io-index"
512 | checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
513 |
514 | [[package]]
515 | name = "futures-channel"
516 | version = "0.3.31"
517 | source = "registry+https://github.com/rust-lang/crates.io-index"
518 | checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
519 | dependencies = [
520 | "futures-core",
521 | ]
522 |
523 | [[package]]
524 | name = "futures-core"
525 | version = "0.3.31"
526 | source = "registry+https://github.com/rust-lang/crates.io-index"
527 | checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
528 |
529 | [[package]]
530 | name = "futures-sink"
531 | version = "0.3.31"
532 | source = "registry+https://github.com/rust-lang/crates.io-index"
533 | checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
534 |
535 | [[package]]
536 | name = "futures-task"
537 | version = "0.3.31"
538 | source = "registry+https://github.com/rust-lang/crates.io-index"
539 | checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
540 |
541 | [[package]]
542 | name = "futures-util"
543 | version = "0.3.31"
544 | source = "registry+https://github.com/rust-lang/crates.io-index"
545 | checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
546 | dependencies = [
547 | "futures-core",
548 | "futures-sink",
549 | "futures-task",
550 | "pin-project-lite",
551 | "pin-utils",
552 | "slab",
553 | ]
554 |
555 | [[package]]
556 | name = "generic-array"
557 | version = "0.14.7"
558 | source = "registry+https://github.com/rust-lang/crates.io-index"
559 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
560 | dependencies = [
561 | "typenum",
562 | "version_check",
563 | ]
564 |
565 | [[package]]
566 | name = "getrandom"
567 | version = "0.2.15"
568 | source = "registry+https://github.com/rust-lang/crates.io-index"
569 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
570 | dependencies = [
571 | "cfg-if",
572 | "libc",
573 | "wasi 0.11.0+wasi-snapshot-preview1",
574 | ]
575 |
576 | [[package]]
577 | name = "getrandom"
578 | version = "0.3.2"
579 | source = "registry+https://github.com/rust-lang/crates.io-index"
580 | checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
581 | dependencies = [
582 | "cfg-if",
583 | "libc",
584 | "r-efi",
585 | "wasi 0.14.2+wasi-0.2.4",
586 | ]
587 |
588 | [[package]]
589 | name = "gimli"
590 | version = "0.26.2"
591 | source = "registry+https://github.com/rust-lang/crates.io-index"
592 | checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
593 | dependencies = [
594 | "fallible-iterator",
595 | "indexmap 1.9.3",
596 | "stable_deref_trait",
597 | ]
598 |
599 | [[package]]
600 | name = "gimli"
601 | version = "0.31.1"
602 | source = "registry+https://github.com/rust-lang/crates.io-index"
603 | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
604 |
605 | [[package]]
606 | name = "glob"
607 | version = "0.3.2"
608 | source = "registry+https://github.com/rust-lang/crates.io-index"
609 | checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
610 |
611 | [[package]]
612 | name = "h2"
613 | version = "0.4.8"
614 | source = "registry+https://github.com/rust-lang/crates.io-index"
615 | checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2"
616 | dependencies = [
617 | "atomic-waker",
618 | "bytes",
619 | "fnv",
620 | "futures-core",
621 | "futures-sink",
622 | "http",
623 | "indexmap 2.8.0",
624 | "slab",
625 | "tokio",
626 | "tokio-util",
627 | "tracing",
628 | ]
629 |
630 | [[package]]
631 | name = "hashbrown"
632 | version = "0.12.3"
633 | source = "registry+https://github.com/rust-lang/crates.io-index"
634 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
635 |
636 | [[package]]
637 | name = "hashbrown"
638 | version = "0.14.5"
639 | source = "registry+https://github.com/rust-lang/crates.io-index"
640 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
641 | dependencies = [
642 | "ahash",
643 | "serde",
644 | ]
645 |
646 | [[package]]
647 | name = "hashbrown"
648 | version = "0.15.2"
649 | source = "registry+https://github.com/rust-lang/crates.io-index"
650 | checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
651 |
652 | [[package]]
653 | name = "heck"
654 | version = "0.5.0"
655 | source = "registry+https://github.com/rust-lang/crates.io-index"
656 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
657 |
658 | [[package]]
659 | name = "home"
660 | version = "0.5.11"
661 | source = "registry+https://github.com/rust-lang/crates.io-index"
662 | checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf"
663 | dependencies = [
664 | "windows-sys 0.59.0",
665 | ]
666 |
667 | [[package]]
668 | name = "http"
669 | version = "1.3.1"
670 | source = "registry+https://github.com/rust-lang/crates.io-index"
671 | checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
672 | dependencies = [
673 | "bytes",
674 | "fnv",
675 | "itoa",
676 | ]
677 |
678 | [[package]]
679 | name = "http-body"
680 | version = "1.0.1"
681 | source = "registry+https://github.com/rust-lang/crates.io-index"
682 | checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
683 | dependencies = [
684 | "bytes",
685 | "http",
686 | ]
687 |
688 | [[package]]
689 | name = "http-body-util"
690 | version = "0.1.3"
691 | source = "registry+https://github.com/rust-lang/crates.io-index"
692 | checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
693 | dependencies = [
694 | "bytes",
695 | "futures-core",
696 | "http",
697 | "http-body",
698 | "pin-project-lite",
699 | ]
700 |
701 | [[package]]
702 | name = "http-range-header"
703 | version = "0.4.2"
704 | source = "registry+https://github.com/rust-lang/crates.io-index"
705 | checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c"
706 |
707 | [[package]]
708 | name = "httparse"
709 | version = "1.10.1"
710 | source = "registry+https://github.com/rust-lang/crates.io-index"
711 | checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
712 |
713 | [[package]]
714 | name = "httpdate"
715 | version = "1.0.3"
716 | source = "registry+https://github.com/rust-lang/crates.io-index"
717 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
718 |
719 | [[package]]
720 | name = "hyper"
721 | version = "1.6.0"
722 | source = "registry+https://github.com/rust-lang/crates.io-index"
723 | checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
724 | dependencies = [
725 | "bytes",
726 | "futures-channel",
727 | "futures-util",
728 | "h2",
729 | "http",
730 | "http-body",
731 | "httparse",
732 | "httpdate",
733 | "itoa",
734 | "pin-project-lite",
735 | "smallvec",
736 | "tokio",
737 | ]
738 |
739 | [[package]]
740 | name = "hyper-util"
741 | version = "0.1.10"
742 | source = "registry+https://github.com/rust-lang/crates.io-index"
743 | checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"
744 | dependencies = [
745 | "bytes",
746 | "futures-util",
747 | "http",
748 | "http-body",
749 | "hyper",
750 | "pin-project-lite",
751 | "tokio",
752 | "tower-service",
753 | ]
754 |
755 | [[package]]
756 | name = "id-arena"
757 | version = "2.2.1"
758 | source = "registry+https://github.com/rust-lang/crates.io-index"
759 | checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
760 | dependencies = [
761 | "rayon",
762 | ]
763 |
764 | [[package]]
765 | name = "indexmap"
766 | version = "1.9.3"
767 | source = "registry+https://github.com/rust-lang/crates.io-index"
768 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
769 | dependencies = [
770 | "autocfg",
771 | "hashbrown 0.12.3",
772 | ]
773 |
774 | [[package]]
775 | name = "indexmap"
776 | version = "2.8.0"
777 | source = "registry+https://github.com/rust-lang/crates.io-index"
778 | checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058"
779 | dependencies = [
780 | "equivalent",
781 | "hashbrown 0.15.2",
782 | "serde",
783 | ]
784 |
785 | [[package]]
786 | name = "itertools"
787 | version = "0.12.1"
788 | source = "registry+https://github.com/rust-lang/crates.io-index"
789 | checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
790 | dependencies = [
791 | "either",
792 | ]
793 |
794 | [[package]]
795 | name = "itoa"
796 | version = "1.0.15"
797 | source = "registry+https://github.com/rust-lang/crates.io-index"
798 | checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
799 |
800 | [[package]]
801 | name = "jobserver"
802 | version = "0.1.32"
803 | source = "registry+https://github.com/rust-lang/crates.io-index"
804 | checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
805 | dependencies = [
806 | "libc",
807 | ]
808 |
809 | [[package]]
810 | name = "lazy_static"
811 | version = "1.5.0"
812 | source = "registry+https://github.com/rust-lang/crates.io-index"
813 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
814 |
815 | [[package]]
816 | name = "lazycell"
817 | version = "1.3.0"
818 | source = "registry+https://github.com/rust-lang/crates.io-index"
819 | checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
820 |
821 | [[package]]
822 | name = "leb128"
823 | version = "0.2.5"
824 | source = "registry+https://github.com/rust-lang/crates.io-index"
825 | checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
826 |
827 | [[package]]
828 | name = "libc"
829 | version = "0.2.171"
830 | source = "registry+https://github.com/rust-lang/crates.io-index"
831 | checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
832 |
833 | [[package]]
834 | name = "libloading"
835 | version = "0.8.6"
836 | source = "registry+https://github.com/rust-lang/crates.io-index"
837 | checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
838 | dependencies = [
839 | "cfg-if",
840 | "windows-targets",
841 | ]
842 |
843 | [[package]]
844 | name = "libredox"
845 | version = "0.1.3"
846 | source = "registry+https://github.com/rust-lang/crates.io-index"
847 | checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
848 | dependencies = [
849 | "bitflags",
850 | "libc",
851 | ]
852 |
853 | [[package]]
854 | name = "linux-raw-sys"
855 | version = "0.4.15"
856 | source = "registry+https://github.com/rust-lang/crates.io-index"
857 | checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
858 |
859 | [[package]]
860 | name = "linux-raw-sys"
861 | version = "0.9.3"
862 | source = "registry+https://github.com/rust-lang/crates.io-index"
863 | checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413"
864 |
865 | [[package]]
866 | name = "log"
867 | version = "0.4.27"
868 | source = "registry+https://github.com/rust-lang/crates.io-index"
869 | checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
870 |
871 | [[package]]
872 | name = "matchers"
873 | version = "0.1.0"
874 | source = "registry+https://github.com/rust-lang/crates.io-index"
875 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
876 | dependencies = [
877 | "regex-automata 0.1.10",
878 | ]
879 |
880 | [[package]]
881 | name = "matchit"
882 | version = "0.8.4"
883 | source = "registry+https://github.com/rust-lang/crates.io-index"
884 | checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
885 |
886 | [[package]]
887 | name = "memchr"
888 | version = "2.7.4"
889 | source = "registry+https://github.com/rust-lang/crates.io-index"
890 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
891 |
892 | [[package]]
893 | name = "mime"
894 | version = "0.3.17"
895 | source = "registry+https://github.com/rust-lang/crates.io-index"
896 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
897 |
898 | [[package]]
899 | name = "mime_guess"
900 | version = "2.0.5"
901 | source = "registry+https://github.com/rust-lang/crates.io-index"
902 | checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
903 | dependencies = [
904 | "mime",
905 | "unicase",
906 | ]
907 |
908 | [[package]]
909 | name = "minimal-lexical"
910 | version = "0.2.1"
911 | source = "registry+https://github.com/rust-lang/crates.io-index"
912 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
913 |
914 | [[package]]
915 | name = "miniz_oxide"
916 | version = "0.8.5"
917 | source = "registry+https://github.com/rust-lang/crates.io-index"
918 | checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
919 | dependencies = [
920 | "adler2",
921 | ]
922 |
923 | [[package]]
924 | name = "mio"
925 | version = "1.0.3"
926 | source = "registry+https://github.com/rust-lang/crates.io-index"
927 | checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
928 | dependencies = [
929 | "libc",
930 | "wasi 0.11.0+wasi-snapshot-preview1",
931 | "windows-sys 0.52.0",
932 | ]
933 |
934 | [[package]]
935 | name = "nom"
936 | version = "7.1.3"
937 | source = "registry+https://github.com/rust-lang/crates.io-index"
938 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
939 | dependencies = [
940 | "memchr",
941 | "minimal-lexical",
942 | ]
943 |
944 | [[package]]
945 | name = "nu-ansi-term"
946 | version = "0.46.0"
947 | source = "registry+https://github.com/rust-lang/crates.io-index"
948 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
949 | dependencies = [
950 | "overload",
951 | "winapi",
952 | ]
953 |
954 | [[package]]
955 | name = "num-conv"
956 | version = "0.1.0"
957 | source = "registry+https://github.com/rust-lang/crates.io-index"
958 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
959 |
960 | [[package]]
961 | name = "object"
962 | version = "0.36.7"
963 | source = "registry+https://github.com/rust-lang/crates.io-index"
964 | checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
965 | dependencies = [
966 | "memchr",
967 | ]
968 |
969 | [[package]]
970 | name = "once_cell"
971 | version = "1.21.1"
972 | source = "registry+https://github.com/rust-lang/crates.io-index"
973 | checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc"
974 |
975 | [[package]]
976 | name = "option-ext"
977 | version = "0.2.0"
978 | source = "registry+https://github.com/rust-lang/crates.io-index"
979 | checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
980 |
981 | [[package]]
982 | name = "overload"
983 | version = "0.1.1"
984 | source = "registry+https://github.com/rust-lang/crates.io-index"
985 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
986 |
987 | [[package]]
988 | name = "percent-encoding"
989 | version = "2.3.1"
990 | source = "registry+https://github.com/rust-lang/crates.io-index"
991 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
992 |
993 | [[package]]
994 | name = "pin-project"
995 | version = "1.1.10"
996 | source = "registry+https://github.com/rust-lang/crates.io-index"
997 | checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a"
998 | dependencies = [
999 | "pin-project-internal",
1000 | ]
1001 |
1002 | [[package]]
1003 | name = "pin-project-internal"
1004 | version = "1.1.10"
1005 | source = "registry+https://github.com/rust-lang/crates.io-index"
1006 | checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
1007 | dependencies = [
1008 | "proc-macro2",
1009 | "quote",
1010 | "syn",
1011 | ]
1012 |
1013 | [[package]]
1014 | name = "pin-project-lite"
1015 | version = "0.2.16"
1016 | source = "registry+https://github.com/rust-lang/crates.io-index"
1017 | checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
1018 |
1019 | [[package]]
1020 | name = "pin-utils"
1021 | version = "0.1.0"
1022 | source = "registry+https://github.com/rust-lang/crates.io-index"
1023 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1024 |
1025 | [[package]]
1026 | name = "pkg-config"
1027 | version = "0.3.32"
1028 | source = "registry+https://github.com/rust-lang/crates.io-index"
1029 | checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
1030 |
1031 | [[package]]
1032 | name = "powerfmt"
1033 | version = "0.2.0"
1034 | source = "registry+https://github.com/rust-lang/crates.io-index"
1035 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
1036 |
1037 | [[package]]
1038 | name = "ppv-lite86"
1039 | version = "0.2.21"
1040 | source = "registry+https://github.com/rust-lang/crates.io-index"
1041 | checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
1042 | dependencies = [
1043 | "zerocopy 0.8.24",
1044 | ]
1045 |
1046 | [[package]]
1047 | name = "prettyplease"
1048 | version = "0.2.31"
1049 | source = "registry+https://github.com/rust-lang/crates.io-index"
1050 | checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb"
1051 | dependencies = [
1052 | "proc-macro2",
1053 | "syn",
1054 | ]
1055 |
1056 | [[package]]
1057 | name = "proc-macro2"
1058 | version = "1.0.94"
1059 | source = "registry+https://github.com/rust-lang/crates.io-index"
1060 | checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
1061 | dependencies = [
1062 | "unicode-ident",
1063 | ]
1064 |
1065 | [[package]]
1066 | name = "quote"
1067 | version = "1.0.40"
1068 | source = "registry+https://github.com/rust-lang/crates.io-index"
1069 | checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
1070 | dependencies = [
1071 | "proc-macro2",
1072 | ]
1073 |
1074 | [[package]]
1075 | name = "r-efi"
1076 | version = "5.2.0"
1077 | source = "registry+https://github.com/rust-lang/crates.io-index"
1078 | checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
1079 |
1080 | [[package]]
1081 | name = "rand"
1082 | version = "0.9.0"
1083 | source = "registry+https://github.com/rust-lang/crates.io-index"
1084 | checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
1085 | dependencies = [
1086 | "rand_chacha",
1087 | "rand_core",
1088 | "zerocopy 0.8.24",
1089 | ]
1090 |
1091 | [[package]]
1092 | name = "rand_chacha"
1093 | version = "0.9.0"
1094 | source = "registry+https://github.com/rust-lang/crates.io-index"
1095 | checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
1096 | dependencies = [
1097 | "ppv-lite86",
1098 | "rand_core",
1099 | ]
1100 |
1101 | [[package]]
1102 | name = "rand_core"
1103 | version = "0.9.3"
1104 | source = "registry+https://github.com/rust-lang/crates.io-index"
1105 | checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
1106 | dependencies = [
1107 | "getrandom 0.3.2",
1108 | ]
1109 |
1110 | [[package]]
1111 | name = "rayon"
1112 | version = "1.10.0"
1113 | source = "registry+https://github.com/rust-lang/crates.io-index"
1114 | checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
1115 | dependencies = [
1116 | "either",
1117 | "rayon-core",
1118 | ]
1119 |
1120 | [[package]]
1121 | name = "rayon-core"
1122 | version = "1.12.1"
1123 | source = "registry+https://github.com/rust-lang/crates.io-index"
1124 | checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
1125 | dependencies = [
1126 | "crossbeam-deque",
1127 | "crossbeam-utils",
1128 | ]
1129 |
1130 | [[package]]
1131 | name = "rcgen"
1132 | version = "0.13.2"
1133 | source = "registry+https://github.com/rust-lang/crates.io-index"
1134 | checksum = "75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2"
1135 | dependencies = [
1136 | "aws-lc-rs",
1137 | "rustls-pki-types",
1138 | "time",
1139 | "yasna",
1140 | ]
1141 |
1142 | [[package]]
1143 | name = "redox_users"
1144 | version = "0.5.0"
1145 | source = "registry+https://github.com/rust-lang/crates.io-index"
1146 | checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b"
1147 | dependencies = [
1148 | "getrandom 0.2.15",
1149 | "libredox",
1150 | "thiserror",
1151 | ]
1152 |
1153 | [[package]]
1154 | name = "regex"
1155 | version = "1.11.1"
1156 | source = "registry+https://github.com/rust-lang/crates.io-index"
1157 | checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
1158 | dependencies = [
1159 | "aho-corasick",
1160 | "memchr",
1161 | "regex-automata 0.4.9",
1162 | "regex-syntax 0.8.5",
1163 | ]
1164 |
1165 | [[package]]
1166 | name = "regex-automata"
1167 | version = "0.1.10"
1168 | source = "registry+https://github.com/rust-lang/crates.io-index"
1169 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
1170 | dependencies = [
1171 | "regex-syntax 0.6.29",
1172 | ]
1173 |
1174 | [[package]]
1175 | name = "regex-automata"
1176 | version = "0.4.9"
1177 | source = "registry+https://github.com/rust-lang/crates.io-index"
1178 | checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
1179 | dependencies = [
1180 | "aho-corasick",
1181 | "memchr",
1182 | "regex-syntax 0.8.5",
1183 | ]
1184 |
1185 | [[package]]
1186 | name = "regex-syntax"
1187 | version = "0.6.29"
1188 | source = "registry+https://github.com/rust-lang/crates.io-index"
1189 | checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
1190 |
1191 | [[package]]
1192 | name = "regex-syntax"
1193 | version = "0.8.5"
1194 | source = "registry+https://github.com/rust-lang/crates.io-index"
1195 | checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
1196 |
1197 | [[package]]
1198 | name = "ring"
1199 | version = "0.17.14"
1200 | source = "registry+https://github.com/rust-lang/crates.io-index"
1201 | checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
1202 | dependencies = [
1203 | "cc",
1204 | "cfg-if",
1205 | "getrandom 0.2.15",
1206 | "libc",
1207 | "untrusted",
1208 | "windows-sys 0.52.0",
1209 | ]
1210 |
1211 | [[package]]
1212 | name = "rustc-demangle"
1213 | version = "0.1.24"
1214 | source = "registry+https://github.com/rust-lang/crates.io-index"
1215 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
1216 |
1217 | [[package]]
1218 | name = "rustc-hash"
1219 | version = "1.1.0"
1220 | source = "registry+https://github.com/rust-lang/crates.io-index"
1221 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1222 |
1223 | [[package]]
1224 | name = "rustix"
1225 | version = "0.38.44"
1226 | source = "registry+https://github.com/rust-lang/crates.io-index"
1227 | checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
1228 | dependencies = [
1229 | "bitflags",
1230 | "errno",
1231 | "libc",
1232 | "linux-raw-sys 0.4.15",
1233 | "windows-sys 0.59.0",
1234 | ]
1235 |
1236 | [[package]]
1237 | name = "rustix"
1238 | version = "1.0.3"
1239 | source = "registry+https://github.com/rust-lang/crates.io-index"
1240 | checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
1241 | dependencies = [
1242 | "bitflags",
1243 | "errno",
1244 | "libc",
1245 | "linux-raw-sys 0.9.3",
1246 | "windows-sys 0.59.0",
1247 | ]
1248 |
1249 | [[package]]
1250 | name = "rustls"
1251 | version = "0.23.25"
1252 | source = "registry+https://github.com/rust-lang/crates.io-index"
1253 | checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c"
1254 | dependencies = [
1255 | "aws-lc-rs",
1256 | "once_cell",
1257 | "rustls-pki-types",
1258 | "rustls-webpki",
1259 | "subtle",
1260 | "zeroize",
1261 | ]
1262 |
1263 | [[package]]
1264 | name = "rustls-pemfile"
1265 | version = "2.2.0"
1266 | source = "registry+https://github.com/rust-lang/crates.io-index"
1267 | checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
1268 | dependencies = [
1269 | "rustls-pki-types",
1270 | ]
1271 |
1272 | [[package]]
1273 | name = "rustls-pki-types"
1274 | version = "1.11.0"
1275 | source = "registry+https://github.com/rust-lang/crates.io-index"
1276 | checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c"
1277 |
1278 | [[package]]
1279 | name = "rustls-webpki"
1280 | version = "0.103.0"
1281 | source = "registry+https://github.com/rust-lang/crates.io-index"
1282 | checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f"
1283 | dependencies = [
1284 | "aws-lc-rs",
1285 | "ring",
1286 | "rustls-pki-types",
1287 | "untrusted",
1288 | ]
1289 |
1290 | [[package]]
1291 | name = "rustversion"
1292 | version = "1.0.20"
1293 | source = "registry+https://github.com/rust-lang/crates.io-index"
1294 | checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
1295 |
1296 | [[package]]
1297 | name = "ryu"
1298 | version = "1.0.20"
1299 | source = "registry+https://github.com/rust-lang/crates.io-index"
1300 | checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
1301 |
1302 | [[package]]
1303 | name = "semver"
1304 | version = "1.0.26"
1305 | source = "registry+https://github.com/rust-lang/crates.io-index"
1306 | checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
1307 |
1308 | [[package]]
1309 | name = "serde"
1310 | version = "1.0.219"
1311 | source = "registry+https://github.com/rust-lang/crates.io-index"
1312 | checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
1313 | dependencies = [
1314 | "serde_derive",
1315 | ]
1316 |
1317 | [[package]]
1318 | name = "serde_derive"
1319 | version = "1.0.219"
1320 | source = "registry+https://github.com/rust-lang/crates.io-index"
1321 | checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
1322 | dependencies = [
1323 | "proc-macro2",
1324 | "quote",
1325 | "syn",
1326 | ]
1327 |
1328 | [[package]]
1329 | name = "serde_json"
1330 | version = "1.0.140"
1331 | source = "registry+https://github.com/rust-lang/crates.io-index"
1332 | checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
1333 | dependencies = [
1334 | "itoa",
1335 | "memchr",
1336 | "ryu",
1337 | "serde",
1338 | ]
1339 |
1340 | [[package]]
1341 | name = "sha1"
1342 | version = "0.10.6"
1343 | source = "registry+https://github.com/rust-lang/crates.io-index"
1344 | checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
1345 | dependencies = [
1346 | "cfg-if",
1347 | "cpufeatures",
1348 | "digest",
1349 | ]
1350 |
1351 | [[package]]
1352 | name = "sharded-slab"
1353 | version = "0.1.7"
1354 | source = "registry+https://github.com/rust-lang/crates.io-index"
1355 | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
1356 | dependencies = [
1357 | "lazy_static",
1358 | ]
1359 |
1360 | [[package]]
1361 | name = "shlex"
1362 | version = "1.3.0"
1363 | source = "registry+https://github.com/rust-lang/crates.io-index"
1364 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
1365 |
1366 | [[package]]
1367 | name = "slab"
1368 | version = "0.4.9"
1369 | source = "registry+https://github.com/rust-lang/crates.io-index"
1370 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
1371 | dependencies = [
1372 | "autocfg",
1373 | ]
1374 |
1375 | [[package]]
1376 | name = "smallvec"
1377 | version = "1.14.0"
1378 | source = "registry+https://github.com/rust-lang/crates.io-index"
1379 | checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd"
1380 |
1381 | [[package]]
1382 | name = "socket2"
1383 | version = "0.5.8"
1384 | source = "registry+https://github.com/rust-lang/crates.io-index"
1385 | checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
1386 | dependencies = [
1387 | "libc",
1388 | "windows-sys 0.52.0",
1389 | ]
1390 |
1391 | [[package]]
1392 | name = "stable_deref_trait"
1393 | version = "1.2.0"
1394 | source = "registry+https://github.com/rust-lang/crates.io-index"
1395 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
1396 |
1397 | [[package]]
1398 | name = "subtle"
1399 | version = "2.6.1"
1400 | source = "registry+https://github.com/rust-lang/crates.io-index"
1401 | checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
1402 |
1403 | [[package]]
1404 | name = "syn"
1405 | version = "2.0.100"
1406 | source = "registry+https://github.com/rust-lang/crates.io-index"
1407 | checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
1408 | dependencies = [
1409 | "proc-macro2",
1410 | "quote",
1411 | "unicode-ident",
1412 | ]
1413 |
1414 | [[package]]
1415 | name = "sync_wrapper"
1416 | version = "1.0.2"
1417 | source = "registry+https://github.com/rust-lang/crates.io-index"
1418 | checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
1419 |
1420 | [[package]]
1421 | name = "tempfile"
1422 | version = "3.19.1"
1423 | source = "registry+https://github.com/rust-lang/crates.io-index"
1424 | checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf"
1425 | dependencies = [
1426 | "fastrand",
1427 | "getrandom 0.3.2",
1428 | "once_cell",
1429 | "rustix 1.0.3",
1430 | "windows-sys 0.59.0",
1431 | ]
1432 |
1433 | [[package]]
1434 | name = "thiserror"
1435 | version = "2.0.12"
1436 | source = "registry+https://github.com/rust-lang/crates.io-index"
1437 | checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
1438 | dependencies = [
1439 | "thiserror-impl",
1440 | ]
1441 |
1442 | [[package]]
1443 | name = "thiserror-impl"
1444 | version = "2.0.12"
1445 | source = "registry+https://github.com/rust-lang/crates.io-index"
1446 | checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
1447 | dependencies = [
1448 | "proc-macro2",
1449 | "quote",
1450 | "syn",
1451 | ]
1452 |
1453 | [[package]]
1454 | name = "thread_local"
1455 | version = "1.1.8"
1456 | source = "registry+https://github.com/rust-lang/crates.io-index"
1457 | checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
1458 | dependencies = [
1459 | "cfg-if",
1460 | "once_cell",
1461 | ]
1462 |
1463 | [[package]]
1464 | name = "time"
1465 | version = "0.3.41"
1466 | source = "registry+https://github.com/rust-lang/crates.io-index"
1467 | checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
1468 | dependencies = [
1469 | "deranged",
1470 | "num-conv",
1471 | "powerfmt",
1472 | "serde",
1473 | "time-core",
1474 | ]
1475 |
1476 | [[package]]
1477 | name = "time-core"
1478 | version = "0.1.4"
1479 | source = "registry+https://github.com/rust-lang/crates.io-index"
1480 | checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
1481 |
1482 | [[package]]
1483 | name = "tokio"
1484 | version = "1.44.1"
1485 | source = "registry+https://github.com/rust-lang/crates.io-index"
1486 | checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a"
1487 | dependencies = [
1488 | "backtrace",
1489 | "bytes",
1490 | "libc",
1491 | "mio",
1492 | "pin-project-lite",
1493 | "socket2",
1494 | "tokio-macros",
1495 | "windows-sys 0.52.0",
1496 | ]
1497 |
1498 | [[package]]
1499 | name = "tokio-macros"
1500 | version = "2.5.0"
1501 | source = "registry+https://github.com/rust-lang/crates.io-index"
1502 | checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
1503 | dependencies = [
1504 | "proc-macro2",
1505 | "quote",
1506 | "syn",
1507 | ]
1508 |
1509 | [[package]]
1510 | name = "tokio-rustls"
1511 | version = "0.26.2"
1512 | source = "registry+https://github.com/rust-lang/crates.io-index"
1513 | checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
1514 | dependencies = [
1515 | "rustls",
1516 | "tokio",
1517 | ]
1518 |
1519 | [[package]]
1520 | name = "tokio-tungstenite"
1521 | version = "0.26.2"
1522 | source = "registry+https://github.com/rust-lang/crates.io-index"
1523 | checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084"
1524 | dependencies = [
1525 | "futures-util",
1526 | "log",
1527 | "tokio",
1528 | "tungstenite",
1529 | ]
1530 |
1531 | [[package]]
1532 | name = "tokio-util"
1533 | version = "0.7.14"
1534 | source = "registry+https://github.com/rust-lang/crates.io-index"
1535 | checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034"
1536 | dependencies = [
1537 | "bytes",
1538 | "futures-core",
1539 | "futures-sink",
1540 | "pin-project-lite",
1541 | "tokio",
1542 | ]
1543 |
1544 | [[package]]
1545 | name = "tower"
1546 | version = "0.5.2"
1547 | source = "registry+https://github.com/rust-lang/crates.io-index"
1548 | checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
1549 | dependencies = [
1550 | "futures-core",
1551 | "futures-util",
1552 | "pin-project-lite",
1553 | "sync_wrapper",
1554 | "tokio",
1555 | "tower-layer",
1556 | "tower-service",
1557 | ]
1558 |
1559 | [[package]]
1560 | name = "tower-http"
1561 | version = "0.6.2"
1562 | source = "registry+https://github.com/rust-lang/crates.io-index"
1563 | checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697"
1564 | dependencies = [
1565 | "async-compression",
1566 | "bitflags",
1567 | "bytes",
1568 | "futures-core",
1569 | "futures-util",
1570 | "http",
1571 | "http-body",
1572 | "http-body-util",
1573 | "http-range-header",
1574 | "httpdate",
1575 | "mime",
1576 | "mime_guess",
1577 | "percent-encoding",
1578 | "pin-project-lite",
1579 | "tokio",
1580 | "tokio-util",
1581 | "tower-layer",
1582 | "tower-service",
1583 | "tracing",
1584 | ]
1585 |
1586 | [[package]]
1587 | name = "tower-layer"
1588 | version = "0.3.3"
1589 | source = "registry+https://github.com/rust-lang/crates.io-index"
1590 | checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
1591 |
1592 | [[package]]
1593 | name = "tower-service"
1594 | version = "0.3.3"
1595 | source = "registry+https://github.com/rust-lang/crates.io-index"
1596 | checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
1597 |
1598 | [[package]]
1599 | name = "tracing"
1600 | version = "0.1.41"
1601 | source = "registry+https://github.com/rust-lang/crates.io-index"
1602 | checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
1603 | dependencies = [
1604 | "pin-project-lite",
1605 | "tracing-core",
1606 | ]
1607 |
1608 | [[package]]
1609 | name = "tracing-core"
1610 | version = "0.1.33"
1611 | source = "registry+https://github.com/rust-lang/crates.io-index"
1612 | checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
1613 | dependencies = [
1614 | "once_cell",
1615 | "valuable",
1616 | ]
1617 |
1618 | [[package]]
1619 | name = "tracing-log"
1620 | version = "0.2.0"
1621 | source = "registry+https://github.com/rust-lang/crates.io-index"
1622 | checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
1623 | dependencies = [
1624 | "log",
1625 | "once_cell",
1626 | "tracing-core",
1627 | ]
1628 |
1629 | [[package]]
1630 | name = "tracing-subscriber"
1631 | version = "0.3.19"
1632 | source = "registry+https://github.com/rust-lang/crates.io-index"
1633 | checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
1634 | dependencies = [
1635 | "matchers",
1636 | "nu-ansi-term",
1637 | "once_cell",
1638 | "regex",
1639 | "sharded-slab",
1640 | "smallvec",
1641 | "thread_local",
1642 | "tracing",
1643 | "tracing-core",
1644 | "tracing-log",
1645 | ]
1646 |
1647 | [[package]]
1648 | name = "tungstenite"
1649 | version = "0.26.2"
1650 | source = "registry+https://github.com/rust-lang/crates.io-index"
1651 | checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13"
1652 | dependencies = [
1653 | "bytes",
1654 | "data-encoding",
1655 | "http",
1656 | "httparse",
1657 | "log",
1658 | "rand",
1659 | "sha1",
1660 | "thiserror",
1661 | "utf-8",
1662 | ]
1663 |
1664 | [[package]]
1665 | name = "typenum"
1666 | version = "1.18.0"
1667 | source = "registry+https://github.com/rust-lang/crates.io-index"
1668 | checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
1669 |
1670 | [[package]]
1671 | name = "unicase"
1672 | version = "2.8.1"
1673 | source = "registry+https://github.com/rust-lang/crates.io-index"
1674 | checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539"
1675 |
1676 | [[package]]
1677 | name = "unicode-ident"
1678 | version = "1.0.18"
1679 | source = "registry+https://github.com/rust-lang/crates.io-index"
1680 | checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
1681 |
1682 | [[package]]
1683 | name = "untrusted"
1684 | version = "0.9.0"
1685 | source = "registry+https://github.com/rust-lang/crates.io-index"
1686 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
1687 |
1688 | [[package]]
1689 | name = "utf-8"
1690 | version = "0.7.6"
1691 | source = "registry+https://github.com/rust-lang/crates.io-index"
1692 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
1693 |
1694 | [[package]]
1695 | name = "valuable"
1696 | version = "0.1.1"
1697 | source = "registry+https://github.com/rust-lang/crates.io-index"
1698 | checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
1699 |
1700 | [[package]]
1701 | name = "version_check"
1702 | version = "0.9.5"
1703 | source = "registry+https://github.com/rust-lang/crates.io-index"
1704 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
1705 |
1706 | [[package]]
1707 | name = "walrus"
1708 | version = "0.23.3"
1709 | source = "registry+https://github.com/rust-lang/crates.io-index"
1710 | checksum = "6481311b98508f4bc2d0abbfa5d42172e7a54b4b24d8f15e28b0dc650be0c59f"
1711 | dependencies = [
1712 | "anyhow",
1713 | "gimli 0.26.2",
1714 | "id-arena",
1715 | "leb128",
1716 | "log",
1717 | "rayon",
1718 | "walrus-macro",
1719 | "wasm-encoder",
1720 | "wasmparser",
1721 | ]
1722 |
1723 | [[package]]
1724 | name = "walrus-macro"
1725 | version = "0.22.0"
1726 | source = "registry+https://github.com/rust-lang/crates.io-index"
1727 | checksum = "439ad39ff894c43c9649fa724cdde9a6fc50b855d517ef071a93e5df82fe51d3"
1728 | dependencies = [
1729 | "heck",
1730 | "proc-macro2",
1731 | "quote",
1732 | "syn",
1733 | ]
1734 |
1735 | [[package]]
1736 | name = "wasi"
1737 | version = "0.11.0+wasi-snapshot-preview1"
1738 | source = "registry+https://github.com/rust-lang/crates.io-index"
1739 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
1740 |
1741 | [[package]]
1742 | name = "wasi"
1743 | version = "0.14.2+wasi-0.2.4"
1744 | source = "registry+https://github.com/rust-lang/crates.io-index"
1745 | checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
1746 | dependencies = [
1747 | "wit-bindgen-rt",
1748 | ]
1749 |
1750 | [[package]]
1751 | name = "wasm-bindgen-cli-support"
1752 | version = "0.2.100"
1753 | source = "registry+https://github.com/rust-lang/crates.io-index"
1754 | checksum = "21e1a4a49abe9cd6f762fc65fac2ef5732afeeb66be369d2f71a85b165a533cf"
1755 | dependencies = [
1756 | "anyhow",
1757 | "base64",
1758 | "log",
1759 | "rustc-demangle",
1760 | "serde",
1761 | "serde_json",
1762 | "tempfile",
1763 | "walrus",
1764 | "wasm-bindgen-externref-xform",
1765 | "wasm-bindgen-multi-value-xform",
1766 | "wasm-bindgen-shared",
1767 | "wasm-bindgen-threads-xform",
1768 | "wasm-bindgen-wasm-conventions",
1769 | "wasm-bindgen-wasm-interpreter",
1770 | ]
1771 |
1772 | [[package]]
1773 | name = "wasm-bindgen-externref-xform"
1774 | version = "0.2.100"
1775 | source = "registry+https://github.com/rust-lang/crates.io-index"
1776 | checksum = "940542c5cdbe96c35f98b5da5c65fb9d18df55a0cb1d81fc5ca4acc4fda4d61c"
1777 | dependencies = [
1778 | "anyhow",
1779 | "walrus",
1780 | "wasm-bindgen-wasm-conventions",
1781 | ]
1782 |
1783 | [[package]]
1784 | name = "wasm-bindgen-multi-value-xform"
1785 | version = "0.2.100"
1786 | source = "registry+https://github.com/rust-lang/crates.io-index"
1787 | checksum = "64b5ad2e97adde0c3e4369c38e0dbaee329ad8f6cc2ee8e01d1d0b13bd8b14cf"
1788 | dependencies = [
1789 | "anyhow",
1790 | "walrus",
1791 | "wasm-bindgen-wasm-conventions",
1792 | ]
1793 |
1794 | [[package]]
1795 | name = "wasm-bindgen-shared"
1796 | version = "0.2.100"
1797 | source = "registry+https://github.com/rust-lang/crates.io-index"
1798 | checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
1799 | dependencies = [
1800 | "unicode-ident",
1801 | ]
1802 |
1803 | [[package]]
1804 | name = "wasm-bindgen-threads-xform"
1805 | version = "0.2.100"
1806 | source = "registry+https://github.com/rust-lang/crates.io-index"
1807 | checksum = "1cbdf2d55a50f7edc9dd9aecae7a3a40e9736fda851bd8816f98a86167c8c277"
1808 | dependencies = [
1809 | "anyhow",
1810 | "walrus",
1811 | "wasm-bindgen-wasm-conventions",
1812 | ]
1813 |
1814 | [[package]]
1815 | name = "wasm-bindgen-wasm-conventions"
1816 | version = "0.2.100"
1817 | source = "registry+https://github.com/rust-lang/crates.io-index"
1818 | checksum = "b1c24fcaa34d2d84407122cfb1d3f37c3586756cf462be18e049b49245a16c08"
1819 | dependencies = [
1820 | "anyhow",
1821 | "leb128",
1822 | "log",
1823 | "walrus",
1824 | "wasmparser",
1825 | ]
1826 |
1827 | [[package]]
1828 | name = "wasm-bindgen-wasm-interpreter"
1829 | version = "0.2.100"
1830 | source = "registry+https://github.com/rust-lang/crates.io-index"
1831 | checksum = "33f24921401faadd6944206f9d6837d07bbb5ff766ed51ad34528089f66550e0"
1832 | dependencies = [
1833 | "anyhow",
1834 | "log",
1835 | "walrus",
1836 | "wasm-bindgen-wasm-conventions",
1837 | ]
1838 |
1839 | [[package]]
1840 | name = "wasm-encoder"
1841 | version = "0.214.0"
1842 | source = "registry+https://github.com/rust-lang/crates.io-index"
1843 | checksum = "ff694f02a8d7a50b6922b197ae03883fbf18cdb2ae9fbee7b6148456f5f44041"
1844 | dependencies = [
1845 | "leb128",
1846 | ]
1847 |
1848 | [[package]]
1849 | name = "wasm-server-runner"
1850 | version = "1.0.0"
1851 | dependencies = [
1852 | "anyhow",
1853 | "axum",
1854 | "axum-server",
1855 | "axum-server-dual-protocol",
1856 | "directories",
1857 | "fastrand",
1858 | "http",
1859 | "rcgen",
1860 | "tokio",
1861 | "tower",
1862 | "tower-http",
1863 | "tracing",
1864 | "tracing-subscriber",
1865 | "wasm-bindgen-cli-support",
1866 | ]
1867 |
1868 | [[package]]
1869 | name = "wasmparser"
1870 | version = "0.214.0"
1871 | source = "registry+https://github.com/rust-lang/crates.io-index"
1872 | checksum = "5309c1090e3e84dad0d382f42064e9933fdaedb87e468cc239f0eabea73ddcb6"
1873 | dependencies = [
1874 | "ahash",
1875 | "bitflags",
1876 | "hashbrown 0.14.5",
1877 | "indexmap 2.8.0",
1878 | "semver",
1879 | "serde",
1880 | ]
1881 |
1882 | [[package]]
1883 | name = "which"
1884 | version = "4.4.2"
1885 | source = "registry+https://github.com/rust-lang/crates.io-index"
1886 | checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
1887 | dependencies = [
1888 | "either",
1889 | "home",
1890 | "once_cell",
1891 | "rustix 0.38.44",
1892 | ]
1893 |
1894 | [[package]]
1895 | name = "winapi"
1896 | version = "0.3.9"
1897 | source = "registry+https://github.com/rust-lang/crates.io-index"
1898 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1899 | dependencies = [
1900 | "winapi-i686-pc-windows-gnu",
1901 | "winapi-x86_64-pc-windows-gnu",
1902 | ]
1903 |
1904 | [[package]]
1905 | name = "winapi-i686-pc-windows-gnu"
1906 | version = "0.4.0"
1907 | source = "registry+https://github.com/rust-lang/crates.io-index"
1908 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1909 |
1910 | [[package]]
1911 | name = "winapi-x86_64-pc-windows-gnu"
1912 | version = "0.4.0"
1913 | source = "registry+https://github.com/rust-lang/crates.io-index"
1914 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1915 |
1916 | [[package]]
1917 | name = "windows-sys"
1918 | version = "0.52.0"
1919 | source = "registry+https://github.com/rust-lang/crates.io-index"
1920 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
1921 | dependencies = [
1922 | "windows-targets",
1923 | ]
1924 |
1925 | [[package]]
1926 | name = "windows-sys"
1927 | version = "0.59.0"
1928 | source = "registry+https://github.com/rust-lang/crates.io-index"
1929 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
1930 | dependencies = [
1931 | "windows-targets",
1932 | ]
1933 |
1934 | [[package]]
1935 | name = "windows-targets"
1936 | version = "0.52.6"
1937 | source = "registry+https://github.com/rust-lang/crates.io-index"
1938 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
1939 | dependencies = [
1940 | "windows_aarch64_gnullvm",
1941 | "windows_aarch64_msvc",
1942 | "windows_i686_gnu",
1943 | "windows_i686_gnullvm",
1944 | "windows_i686_msvc",
1945 | "windows_x86_64_gnu",
1946 | "windows_x86_64_gnullvm",
1947 | "windows_x86_64_msvc",
1948 | ]
1949 |
1950 | [[package]]
1951 | name = "windows_aarch64_gnullvm"
1952 | version = "0.52.6"
1953 | source = "registry+https://github.com/rust-lang/crates.io-index"
1954 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
1955 |
1956 | [[package]]
1957 | name = "windows_aarch64_msvc"
1958 | version = "0.52.6"
1959 | source = "registry+https://github.com/rust-lang/crates.io-index"
1960 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
1961 |
1962 | [[package]]
1963 | name = "windows_i686_gnu"
1964 | version = "0.52.6"
1965 | source = "registry+https://github.com/rust-lang/crates.io-index"
1966 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
1967 |
1968 | [[package]]
1969 | name = "windows_i686_gnullvm"
1970 | version = "0.52.6"
1971 | source = "registry+https://github.com/rust-lang/crates.io-index"
1972 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
1973 |
1974 | [[package]]
1975 | name = "windows_i686_msvc"
1976 | version = "0.52.6"
1977 | source = "registry+https://github.com/rust-lang/crates.io-index"
1978 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
1979 |
1980 | [[package]]
1981 | name = "windows_x86_64_gnu"
1982 | version = "0.52.6"
1983 | source = "registry+https://github.com/rust-lang/crates.io-index"
1984 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
1985 |
1986 | [[package]]
1987 | name = "windows_x86_64_gnullvm"
1988 | version = "0.52.6"
1989 | source = "registry+https://github.com/rust-lang/crates.io-index"
1990 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
1991 |
1992 | [[package]]
1993 | name = "windows_x86_64_msvc"
1994 | version = "0.52.6"
1995 | source = "registry+https://github.com/rust-lang/crates.io-index"
1996 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
1997 |
1998 | [[package]]
1999 | name = "wit-bindgen-rt"
2000 | version = "0.39.0"
2001 | source = "registry+https://github.com/rust-lang/crates.io-index"
2002 | checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
2003 | dependencies = [
2004 | "bitflags",
2005 | ]
2006 |
2007 | [[package]]
2008 | name = "yasna"
2009 | version = "0.5.2"
2010 | source = "registry+https://github.com/rust-lang/crates.io-index"
2011 | checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd"
2012 | dependencies = [
2013 | "time",
2014 | ]
2015 |
2016 | [[package]]
2017 | name = "zerocopy"
2018 | version = "0.7.35"
2019 | source = "registry+https://github.com/rust-lang/crates.io-index"
2020 | checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
2021 | dependencies = [
2022 | "zerocopy-derive 0.7.35",
2023 | ]
2024 |
2025 | [[package]]
2026 | name = "zerocopy"
2027 | version = "0.8.24"
2028 | source = "registry+https://github.com/rust-lang/crates.io-index"
2029 | checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
2030 | dependencies = [
2031 | "zerocopy-derive 0.8.24",
2032 | ]
2033 |
2034 | [[package]]
2035 | name = "zerocopy-derive"
2036 | version = "0.7.35"
2037 | source = "registry+https://github.com/rust-lang/crates.io-index"
2038 | checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
2039 | dependencies = [
2040 | "proc-macro2",
2041 | "quote",
2042 | "syn",
2043 | ]
2044 |
2045 | [[package]]
2046 | name = "zerocopy-derive"
2047 | version = "0.8.24"
2048 | source = "registry+https://github.com/rust-lang/crates.io-index"
2049 | checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
2050 | dependencies = [
2051 | "proc-macro2",
2052 | "quote",
2053 | "syn",
2054 | ]
2055 |
2056 | [[package]]
2057 | name = "zeroize"
2058 | version = "1.8.1"
2059 | source = "registry+https://github.com/rust-lang/crates.io-index"
2060 | checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
2061 |
2062 | [[package]]
2063 | name = "zstd"
2064 | version = "0.13.3"
2065 | source = "registry+https://github.com/rust-lang/crates.io-index"
2066 | checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a"
2067 | dependencies = [
2068 | "zstd-safe",
2069 | ]
2070 |
2071 | [[package]]
2072 | name = "zstd-safe"
2073 | version = "7.2.4"
2074 | source = "registry+https://github.com/rust-lang/crates.io-index"
2075 | checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d"
2076 | dependencies = [
2077 | "zstd-sys",
2078 | ]
2079 |
2080 | [[package]]
2081 | name = "zstd-sys"
2082 | version = "2.0.15+zstd.1.5.7"
2083 | source = "registry+https://github.com/rust-lang/crates.io-index"
2084 | checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237"
2085 | dependencies = [
2086 | "cc",
2087 | "pkg-config",
2088 | ]
2089 |
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "wasm-server-runner"
3 | version = "1.0.0"
4 | edition = "2021"
5 | readme = "README.md"
6 | repository = "https://github.com/jakobhellermann/wasm-server-runner/"
7 | license = "MIT"
8 | keywords = ["web", "wasm", "devtools"]
9 | categories = ["command-line-utilities", "development-tools", "development-tools::cargo-plugins", "wasm", "web-programming"]
10 | description = "cargo run for wasm programs"
11 |
12 | [dependencies]
13 | wasm-bindgen-cli-support = "0.2"
14 | anyhow = "1.0"
15 |
16 | tokio = { version = "1.11", default-features = false, features = ["rt-multi-thread"] }
17 | axum = { version = "0.8", default-features = false, features = ["http1", "ws"] }
18 | axum-server = { version = "0.7", features = ["tls-rustls"] }
19 | axum-server-dual-protocol = "0.7"
20 | tower-http = { version = "0.6", features = ["compression-full", "fs", "set-header", "trace"] }
21 | tower = "0.5"
22 | http = "1.0"
23 | rcgen = { version = "0.13", default-features = false, features = ["aws_lc_rs"] }
24 |
25 | tracing = { version = "0.1", default-features = false, features = ["release_max_level_debug"] }
26 | tracing-subscriber = { version = "0.3", features = ["env-filter"] }
27 |
28 | directories = "6"
29 | fastrand = "2.0"
30 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 |
4 | Choose a license template
5 |
6 |
7 | Copyright (c) 2021 Jakob Hellermann
8 |
9 | Permission is hereby granted, free of charge, to any person obtaining a copy
10 | of this software and associated documentation files (the "Software"), to deal
11 | in the Software without restriction, including without limitation the rights
12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | copies of the Software, and to permit persons to whom the Software is
14 | furnished to do so, subject to the following conditions:
15 |
16 | The above copyright notice and this permission notice shall be included in all
17 | copies or substantial portions of the Software.
18 |
19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 | SOFTWARE.
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # wasm-server-runner
2 |
3 | Allows you to run programs in the browser using web assembly using a simple `cargo run`.
4 |
5 | ## Usage
6 |
7 | ### Step 1.
8 |
9 | ```sh
10 | rustup target add wasm32-unknown-unknown
11 | cargo install wasm-server-runner
12 | ```
13 |
14 | ### Step 2.
15 |
16 | Add this to your `~/.cargo/config.toml` (**not** the `Cargo.toml` of your project!):
17 |
18 | ```toml
19 | [target.wasm32-unknown-unknown]
20 | runner = "wasm-server-runner"
21 | ```
22 |
23 | ### Step 3.
24 |
25 | Run programs in the browser using
26 | ```sh
27 | cargo run --target wasm32-unknown-unknown
28 | cargo run --target wasm32-unknown-unknown --example example
29 |
30 | wasm-server-runner path/to/file.wasm
31 | ```
32 |
33 | Example output:
34 | ```yaml
35 | INFO wasm_server_runner: wasm output is 49.79kb large
36 | INFO wasm_server_runner: starting webserver at http://127.0.0.1:1334
37 | ```
38 |
39 | The website will reload when the server is restarted and serve files relative to the current directory.
40 |
41 | ## Configuration options
42 |
43 | All configuration options can be specified via environment variables.
44 |
45 | WASM_SERVER_RUNNER_ADDRESS
47 |
48 | Default: `127.0.0.1`
49 | Control the address that the server listens on. Set to `0.0.0.0` to allow access from anywhere.
50 |
51 | WASM_SERVER_RUNNER_DIRECTORY
55 |
56 | Default: `.`
57 |
58 | Can be used to specify where relative path requests are loaded from.
59 |
60 | WASM_SERVER_RUNNER_CUSTOM_INDEX_HTML
64 |
65 | Default: _none_
66 |
67 | When set, will try to load the custom `index.html` from that path instead of [the
68 | default](static/index.html). Can be relative to the directory.
69 |
70 | *Note*: To support both module and non-module style the `index.html` needs to have specific string that will be replaced at runtime. The body should contain something like
71 | ```html
72 | {{ NO_MODULE }}
73 |
76 | ```
77 |
78 | WASM_SERVER_RUNNER_HTTPS
82 |
83 | Default: `false`
84 |
85 | Controls whether https is used.
86 |
87 | WASM_SERVER_RUNNER_NO_MODULE
91 |
92 | Default: `false`
93 |
94 | Controls whether the wasm-bindgen output uses `module`s or not.
95 |
hi
2 | -------------------------------------------------------------------------------- /example-project/src/main.rs: -------------------------------------------------------------------------------- 1 | use wasm_bindgen::prelude::*; 2 | 3 | #[wasm_bindgen] 4 | extern "C" { 5 | #[wasm_bindgen(js_namespace = console)] 6 | fn log(s: &str); 7 | } 8 | 9 | fn main() { 10 | log("hello from wasm"); 11 | } 12 | -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | imports_granularity = "Module" 2 | use_small_heuristics = "Max" 3 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use std::path::PathBuf; 2 | 3 | use anyhow::{anyhow, ensure}; 4 | use tracing::info; 5 | use tracing_subscriber::EnvFilter; 6 | 7 | use crate::server::Options; 8 | 9 | pub type Result