difftreelog
refactor(web) idiomatic js api
in: master
10 files changed
Cargo.lockdiffbeforeafterboth253 packageslockfile v4
Might be heavy and slow!
ahash
0.8.12crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75used byaho-corasick
1.1.4crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301depends onaliasable
0.1.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fdused byalloca
0.4.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4depends onused byallocator-api2
0.2.21crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923anes
0.1.6crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299used byannotate-snippets
0.12.15crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92570a3f9c98e7e84df84b71d0965ac99b1871fcd75a3773a3bd1bad13f64cf7used byannotated-string
0.3.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum298ed730801db3c02f2edba003c9420a0f57ea48d37fdc5601c536113668c059used byanstream
1.0.0crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28ddepends onused byanstyle
1.0.14crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000anstyle-parse
1.0.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130edepends onused byanstyle-query
1.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadcdepends onused byanstyle-wincon
3.0.11crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747dused byanyhow
1.0.102crates.io↘ 0↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842car_archive_writer
0.5.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340bdepends onused byarraydeque
0.5.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236used byautocfg
1.5.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8used bybase64
0.22.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6bitflags
2.11.1crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3block-buffer
0.12.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790bedepends onused bybstr
1.12.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cabdepends onused bybumpalo
3.20.2crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcbdepends oncast
0.3.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5cc
1.2.61crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6ddepends oncfg-if
1.0.4crates.io↘ 0↖ 12sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801ciborium
0.2.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0eused byciborium-io
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757ciborium-ll
0.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9depends onused byclap
4.6.1crates.io↘ 2↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51depends onclap_builder
4.6.0crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069fused byclap_complete
4.6.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3ff7a1dccbdd8b078c2bdebff47e404615151534d5043da397ec50286816f9cbdepends onused byclap_derive
4.6.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9used byclap_lex
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9used bycolorchoice
1.0.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570used byconsole
0.16.3crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87used byconsole_error_panic_hook
0.1.7crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbcdepends onused byconst-oid
0.10.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55cused bycountme
3.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636used bycpufeatures
0.3.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201depends oncriterion
0.8.2crates.io↘ 17↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3depends onused bycriterion-plot
0.8.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29eadepends onused bycrossbeam-deque
0.8.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51used bycrossbeam-epoch
0.9.18crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420edepends onused bycrossbeam-utils
0.8.21crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28crypto-common
0.2.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710depends onused bydigest
0.11.2crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153cdisplaydoc
0.2.5crates.io↘ 3↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0depends ondprint-core
0.67.4crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2c1d827947704a9495f705d6aeed270fa21a67f825f22902c28f38dc3af7a9aedepends ondrop_bomb
0.1.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1educe
0.6.0crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417either
1.15.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719encode_unicode
1.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0used byencoding_rs
0.8.35crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3depends onused byencoding_rs_io
0.1.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83depends onused byenum-ordinalize
4.3.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0depends onused byenum-ordinalize-derive
4.3.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631depends onused byequivalent
1.0.2crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0ferrno
0.3.14crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efebdepends onused byextension-trait
1.0.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdd65f1b59dd22d680c7a626cc4a000c1e03d241c51c3e034d2bc9f1e90734f9bdepends onused byfastrand
2.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6used byfind-msvc-tools
0.1.9crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582used byfnv
1.0.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1used byfoldhash
0.1.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2used byfoldhash
0.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdbused byform_urlencoded
1.2.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcfdepends onused bygetrandom
0.3.4crates.io↘ 6↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fdgetrandom
0.4.2crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555depends onused byglobset
0.4.18crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3used byhalf
2.7.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84bdepends onused byhashbrown
0.14.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1used byhashbrown
0.15.5crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1hashbrown
0.17.0crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51heck
0.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8used byheck
0.5.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55eahex
0.4.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70used byhi-doc
0.3.0crates.io↘ 9↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf70fb920ba34768415fb239d7d607486083bfc38ad35e3f1d558697f9f646f11depends onhi-doc-jumprope
1.2.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum236c25809a9c0a0249b3488feb57744e12aa64e4f3db851980eab303719c7bdddepends onused byhybrid-array
0.4.11crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d46837a0ed51fe95bd3b05de33cd64a1ee88fc797477ca48446872504507c5depends onicu_collections
2.2.0crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191cicu_locale_core
2.2.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29icu_normalizer
2.2.0crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4depends onused byicu_normalizer_data
2.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38used byicu_properties
2.2.0crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70dedepends onicu_properties_data
2.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14used byicu_provider
2.2.0crates.io↘ 7↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421depends onid-arena
2.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954used byidna
1.1.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4deused byidna_adapter
1.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714depends onused byindexmap
2.14.0crates.io↘ 4↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9indoc
2.0.7crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706depends oninsta
1.47.2crates.io↘ 6↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7b4a6248eb93a4401ed2f37dfe8ea592d3cf05b7cf4f8efa867b6895af7e094eis_terminal_polyfill
1.70.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695used byitertools
0.13.0crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186depends onitertools
0.14.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285depends onitoa
1.0.18crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682used byjrsonnet-cli
0.5.0-pre98workspace↘ 5↖ 2jrsonnet-deps
0.5.0-pre98workspace↘ 5↖ 0jrsonnet-evaluator
0.5.0-pre98workspace↘ 24↖ 7depends on- anyhow
1.0.102 - drop_bomb
0.1.5 - educe
0.6.0 - hi-doc
0.3.0 - insta
1.47.2 - jrsonnet-gcmodule
0.4.6 - jrsonnet-interner
0.5.0-pre98 - jrsonnet-ir
0.5.0-pre98 - jrsonnet-ir-parser
0.5.0-pre98 - jrsonnet-macros
0.5.0-pre98 - jrsonnet-peg-parser
0.5.0-pre98 - jrsonnet-types
0.5.0-pre98 - num-bigint
0.4.6 - pathdiff
0.2.3 - rustc-hash
2.1.2 - rustversion
1.0.22 - serde
1.0.228 - smallvec
1.15.1 - stacker
0.1.24 - static_assertions
1.1.0 - strip-ansi-escapes
0.2.1 - strsim
0.11.1 - thiserror
2.0.18 - wasm-bindgen
0.2.106
- anyhow
jrsonnet-fmt
0.5.0-pre98workspace↘ 6↖ 0jrsonnet-formatter
0.5.0-pre98workspace↘ 6↖ 2jrsonnet-gcmodule
0.4.6crates.io↘ 1↖ 12sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb04c12f50f954e1d8b3b5a7e99c448da97af2e1f7435a88f3c9b9f2a677015adepends onjrsonnet-gcmodule-derive
0.4.6crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum454a895e7c0b7ea3584966e8b346c6c80fdd33acb0224ad7e3fbd80cf8171601depends onused byjrsonnet-interner
0.5.0-pre98workspace↘ 3↖ 3jrsonnet-ir
0.5.0-pre98workspace↘ 7↖ 7depends onjrsonnet-ir-parser
0.5.0-pre98workspace↘ 4↖ 2jrsonnet-lexer
0.5.0-pre98workspace↘ 1↖ 3jrsonnet-macros
0.5.0-pre98workspace↘ 4↖ 2jrsonnet-peg-parser
0.5.0-pre98workspace↘ 4↖ 1jrsonnet-rowan-parser
0.5.0-pre98workspace↘ 9↖ 1jrsonnet-stdlib
0.5.0-pre98workspace↘ 16↖ 4depends onjrsonnet-types
0.5.0-pre98workspace↘ 2↖ 2js-sys
0.3.83crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8depends onkeccak
0.2.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9e24a010dd405bd7ed803e5253182815b41bf2e6a80cc3bfc066658e03a198aadepends onused byleb128fmt
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2used bylibc
0.2.186crates.io↘ 0↖ 9sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66libjsonnet
0.5.0-pre98workspace↘ 5↖ 0linux-raw-sys
0.12.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53used bylitemap
0.8.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0used bylog
0.4.29crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897logos
0.16.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumeb2c55a318a87600ea870ff8c2012148b44bf18b74fad48d0f835c38c7d07c5fdepends onused bylogos-codegen
0.16.1crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum58b3ffaa284e1350d017a57d04ada118c4583cf260c8fb01e0fe28a2e9cf8970used bylogos-derive
0.16.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52d3a9855747c17eaf4383823f135220716ab49bea5fbea7dd42cc9a92f8aa31depends onused bylru
0.17.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0e0b564323a0fb6d54b864f625ae139de9612e27edb944dda37c109f05aac531depends onused bymd5
0.8.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumae960838283323069879657ca3de837e9f7bbb4c7bf6ea7f1b290d5e9476d2e0used bymemchr
2.8.0crates.io↘ 0↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79mimalloc-sys
0.1.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4aa3cefb626f6ae3d0b2f71c5378c89d2b1d4d7bc246b0ca9a7ee61a4daad291depends onused bymimallocator
0.1.3crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2d44fe4ebf6b538fcf39d9975c2b90bb3232d1ba8e8bffeacd004f27b20c577adepends onnum-bigint
0.4.6crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9num-integer
0.1.46crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858fdepends onused bynum-traits
0.2.19crates.io↘ 1↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841depends onobject
0.37.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fedepends onused byonce_cell
1.21.4crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50once_cell_polyfill
1.70.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4feused byoorandom
11.1.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41eused byouroboros
0.18.5crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59used byouroboros_macro
0.18.5crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0used bypage_size
0.6.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40dadepends onused bypathdiff
0.2.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdf94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3peg
0.8.5crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9928cfca101b36ec5163e70049ee5368a8a1c3c6efc9ca9c5f9cc2f816152477depends onpeg-macros
0.8.5crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6298ab04c202fa5b5d52ba03269fb7b74550b150323038878fe6c372d8280f71used bypeg-runtime
0.8.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fcaused bypercent-encoding
2.3.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220used byplotters
0.3.7crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747used byplotters-backend
0.3.7crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdf42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172aplotters-svg
0.3.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670depends onused bypotential_utf
0.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564depends onused byppv-lite86
0.2.21crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9depends onused byprettyplease
0.2.37crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62bdepends onproc-macro2
1.0.106crates.io↘ 1↖ 25sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934depends onused by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - peg-macros
0.8.5 - prettyplease
0.2.37 - proc-macro2-diagnostics
0.10.1 - quote
1.0.45 - serde_derive
1.0.228 - syn
2.0.117 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust-macro
0.51.0 - xtask
0.1.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
proc-macro2-diagnostics
0.10.1crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaf066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8used bypsm
0.1.31crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum645dbe486e346d9b5de3ef16ede18c26e6c70ad97418f4874b8b1889d6e761eadepends onused byquote
1.0.45crates.io↘ 1↖ 24sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924depends onused by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - peg-macros
0.8.5 - proc-macro2-diagnostics
0.10.1 - serde_derive
1.0.228 - syn
2.0.117 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro
0.2.106 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust-macro
0.51.0 - xtask
0.1.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
r-efi
5.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0fused byr-efi
6.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bfused byrand
0.9.4crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76eadepends onrand_chacha
0.9.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cbdepends onused byrand_core
0.9.5crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83cdepends onused byrandom_color
1.1.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd635c5e80ae160390ac62ca027d2d06c94c1dc69e5c0a12f1e3a53664dc84966depends onused byrange-map
0.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum12a5a2d6c7039059af621472a4389be1215a816df61aa4d531cfe85264aee95fdepends onused byrayon
1.12.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926ddepends onused byrayon-core
1.13.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91used byregex
1.12.3crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276regex-automata
0.4.14crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8fregex-syntax
0.8.10crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0arowan
0.16.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum417a3a9f582e349834051b8a10c8d71ca88da4211e4093528e36b9845f6b5f21rustc-hash
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2used byrustc-hash
2.1.2crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dberustix
1.1.4crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190used byrustversion
1.0.22crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46dsame-file
1.0.6crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502depends onused bysaphyr-parser-bw
0.0.611crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum67dec0c833db75dc98957956b303fe447ffc5eb13f2325ef4c2350f7f3aa69e3used bysemver
1.0.28crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cdserde
1.0.228crates.io↘ 2↖ 16sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9edepends onserde_core
1.0.228crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67addepends onserde_derive
1.0.228crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79depends onserde_json
1.0.149crates.io↘ 5↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86serde-saphyr
0.0.25crates.io↘ 9↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75e214449d107a81daf1453eb46c9314457660509534883e82db6faca2034a8adepends onused bysha1
0.11.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214depends onused bysha2
0.11.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4depends onused bysha3
0.11.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbe176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1depends onused bysimilar
2.7.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daaused bysmallvec
1.15.1crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03stable_deref_trait
1.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596used bystacker
0.1.24crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum640c8cdd92b6b12f5bcb1803ca3bbf5ab96e5e6b6b96b9ab77dabe9e880b3190static_assertions
1.1.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543fstr_indices
0.4.4crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd08889ec5408683408db66ad89e0e1f93dff55c73a4ccc71c427d5b277ee47e6used bystrip-ansi-escapes
0.2.1crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2a8f8038e7e7969abb3f1b7c2a811225e9296da208539e0f79c5251d6cac0025depends onstrsim
0.11.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4fsyn
2.0.117crates.io↘ 3↖ 22sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99used by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - prettyplease
0.2.37 - proc-macro2-diagnostics
0.10.1 - serde_derive
1.0.228 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust
0.51.0 - wit-bindgen-rust-macro
0.51.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
syn-dissect-closure
0.1.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum343bae741672e4b94421cbe93f9794ba9a061434272f7e3a29ff43be26be3ac9depends onused bysynstructure
0.13.2crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2depends ontempfile
3.27.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bdtext-size
1.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233used bythiserror
2.0.18crates.io↘ 1↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4depends onthiserror-impl
2.0.18crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5depends onused bytinystr
0.8.3crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96ddepends onused bytinytemplate
1.2.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbe4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bcdepends onused bytypenum
1.20.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43deused byungrammar
1.16.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma3e5df347f0bf3ec1d670aad6ca5c6a1859cd9ea61d2113125794654ccced68fused byunicode-box-drawing
0.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2a1f97719cf40224391201fc11e7f5b0cc0ba21416367cfc914e2d45af4e42efused byunicode-ident
1.0.24crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75unicode-width
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254unicode-xid
0.2.6crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853used byurl
2.5.8crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eedutf8_iter
1.0.4crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6beutf8parse
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821version_check
0.9.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105avte
0.14.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum231fdcd7ef3037e8330d8e17e61011a2c244126acc0a982f4040ac3f9f0bc077depends onused bywalkdir
2.5.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4bdepends onused bywasip2
1.0.3+wasi-0.2.9crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6depends onused bywasip3
0.4.0+wasi-0.3.0-rc-2026-01-06crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5depends onused bywasm-bindgen
0.2.106crates.io↘ 5↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fddepends onwasm-bindgen-futures
0.4.56crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7cused bywasm-bindgen-macro
0.2.106crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3used bywasm-bindgen-macro-support
0.2.106crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40used bywasm-encoder
0.244.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319depends onwasm-metadata
0.244.0crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909wasmparser
0.244.0crates.io↘ 4↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028feweb-sys
0.3.83crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137acdepends onwinapi
0.3.9crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419used bywinapi-i686-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6used bywinapi-util
0.1.11crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22depends onused bywinapi-x86_64-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183fused bywindows-link
0.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5used bywindows-sys
0.61.2crates.io↘ 1↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fcdepends onwit-bindgen
0.51.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5depends onwit-bindgen
0.57.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536eused bywit-bindgen-core
0.51.0crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dcdepends onwit-bindgen-rust
0.51.0crates.io↘ 8↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21depends onused bywit-bindgen-rust-macro
0.51.0crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17adepends onused bywit-component
0.244.0crates.io↘ 11↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2depends onused bywit-parser
0.244.0crates.io↘ 10↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736depends onwriteable
0.6.3crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4xshell
0.2.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9e7290c623014758632efe00737145b6867b66292c42167f2ec381eb566a373ddepends onused byxshell-macros
0.2.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32ac00cd3f8ec9c1d33fb3e7958a82df6989c42d747bd326c822b1d625283547used byxtask
0.1.0workspace↘ 8↖ 0yansi
1.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049yoke
0.8.2crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumabe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9cayoke-derive
0.8.2crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumde844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858eused byzerocopy
0.8.48crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumeed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9depends onzerocopy-derive
0.8.48crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4depends onused byzerofrom
0.1.7crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4dfdepends onzerofrom-derive
0.1.7crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1used byzerotrie
0.2.4crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bfdepends onzerovec
0.11.6crates.io↘ 3↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239zerovec-derive
0.11.3crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555depends onused byzmij
1.0.21crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaaused by
253 packageslockfile v4
Might be heavy and slow!
ahash
0.8.12crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75used byaho-corasick
1.1.4crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301depends onaliasable
0.1.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fdused byalloca
0.4.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4depends onused byallocator-api2
0.2.21crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923anes
0.1.6crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299used byannotate-snippets
0.12.15crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92570a3f9c98e7e84df84b71d0965ac99b1871fcd75a3773a3bd1bad13f64cf7used byannotated-string
0.3.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum298ed730801db3c02f2edba003c9420a0f57ea48d37fdc5601c536113668c059used byanstream
1.0.0crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28ddepends onused byanstyle
1.0.14crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000anstyle-parse
1.0.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130edepends onused byanstyle-query
1.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadcdepends onused byanstyle-wincon
3.0.11crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747dused byanyhow
1.0.102crates.io↘ 0↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842car_archive_writer
0.5.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340bdepends onused byarraydeque
0.5.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236used byautocfg
1.5.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8used bybase64
0.22.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6bitflags
2.11.1crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3block-buffer
0.12.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790bedepends onused bybstr
1.12.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cabdepends onused bybumpalo
3.20.2crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcbdepends oncast
0.3.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5cc
1.2.61crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6ddepends oncfg-if
1.0.4crates.io↘ 0↖ 12sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801ciborium
0.2.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0eused byciborium-io
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757ciborium-ll
0.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9depends onused byclap
4.6.1crates.io↘ 2↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51depends onclap_builder
4.6.0crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069fused byclap_complete
4.6.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3ff7a1dccbdd8b078c2bdebff47e404615151534d5043da397ec50286816f9cbdepends onused byclap_derive
4.6.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9used byclap_lex
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9used bycolorchoice
1.0.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570used byconsole
0.16.3crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87used byconsole_error_panic_hook
0.1.7crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbcdepends onused byconst-oid
0.10.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55cused bycountme
3.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636used bycpufeatures
0.3.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201depends oncriterion
0.8.2crates.io↘ 17↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3depends onused bycriterion-plot
0.8.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29eadepends onused bycrossbeam-deque
0.8.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51used bycrossbeam-epoch
0.9.18crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420edepends onused bycrossbeam-utils
0.8.21crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28crypto-common
0.2.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710depends onused bydigest
0.11.2crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153cdisplaydoc
0.2.5crates.io↘ 3↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0depends ondprint-core
0.67.4crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2c1d827947704a9495f705d6aeed270fa21a67f825f22902c28f38dc3af7a9aedepends ondrop_bomb
0.1.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1educe
0.6.0crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417either
1.15.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719encode_unicode
1.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0used byencoding_rs
0.8.35crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3depends onused byencoding_rs_io
0.1.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83depends onused byenum-ordinalize
4.3.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0depends onused byenum-ordinalize-derive
4.3.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631depends onused byequivalent
1.0.2crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0ferrno
0.3.14crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efebdepends onused byextension-trait
1.0.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdd65f1b59dd22d680c7a626cc4a000c1e03d241c51c3e034d2bc9f1e90734f9bdepends onused byfastrand
2.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6used byfind-msvc-tools
0.1.9crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582used byfnv
1.0.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1used byfoldhash
0.1.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2used byfoldhash
0.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdbused byform_urlencoded
1.2.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcfdepends onused bygetrandom
0.3.4crates.io↘ 6↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fdgetrandom
0.4.2crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555depends onused byglobset
0.4.18crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3used byhalf
2.7.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84bdepends onused byhashbrown
0.14.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1used byhashbrown
0.15.5crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1hashbrown
0.17.0crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51heck
0.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8used byheck
0.5.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55eahex
0.4.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70used byhi-doc
0.3.0crates.io↘ 9↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf70fb920ba34768415fb239d7d607486083bfc38ad35e3f1d558697f9f646f11depends onhi-doc-jumprope
1.2.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum236c25809a9c0a0249b3488feb57744e12aa64e4f3db851980eab303719c7bdddepends onused byhybrid-array
0.4.11crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d46837a0ed51fe95bd3b05de33cd64a1ee88fc797477ca48446872504507c5depends onicu_collections
2.2.0crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191cicu_locale_core
2.2.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29icu_normalizer
2.2.0crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4depends onused byicu_normalizer_data
2.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38used byicu_properties
2.2.0crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70dedepends onicu_properties_data
2.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14used byicu_provider
2.2.0crates.io↘ 7↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421depends onid-arena
2.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954used byidna
1.1.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4deused byidna_adapter
1.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714depends onused byindexmap
2.14.0crates.io↘ 4↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9indoc
2.0.7crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706depends oninsta
1.47.2crates.io↘ 6↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7b4a6248eb93a4401ed2f37dfe8ea592d3cf05b7cf4f8efa867b6895af7e094eis_terminal_polyfill
1.70.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695used byitertools
0.13.0crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186depends onitertools
0.14.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285depends onitoa
1.0.18crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682used byjrsonnet-cli
0.5.0-pre98workspace↘ 5↖ 2jrsonnet-deps
0.5.0-pre98workspace↘ 5↖ 0jrsonnet-evaluator
0.5.0-pre98workspace↘ 24↖ 7depends on- anyhow
1.0.102 - drop_bomb
0.1.5 - educe
0.6.0 - hi-doc
0.3.0 - insta
1.47.2 - jrsonnet-gcmodule
0.4.6 - jrsonnet-interner
0.5.0-pre98 - jrsonnet-ir
0.5.0-pre98 - jrsonnet-ir-parser
0.5.0-pre98 - jrsonnet-macros
0.5.0-pre98 - jrsonnet-peg-parser
0.5.0-pre98 - jrsonnet-types
0.5.0-pre98 - num-bigint
0.4.6 - pathdiff
0.2.3 - rustc-hash
2.1.2 - rustversion
1.0.22 - serde
1.0.228 - smallvec
1.15.1 - stacker
0.1.24 - static_assertions
1.1.0 - strip-ansi-escapes
0.2.1 - strsim
0.11.1 - thiserror
2.0.18 - wasm-bindgen
0.2.106
- anyhow
jrsonnet-fmt
0.5.0-pre98workspace↘ 6↖ 0jrsonnet-formatter
0.5.0-pre98workspace↘ 6↖ 2jrsonnet-gcmodule
0.4.6crates.io↘ 1↖ 12sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb04c12f50f954e1d8b3b5a7e99c448da97af2e1f7435a88f3c9b9f2a677015adepends onjrsonnet-gcmodule-derive
0.4.6crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum454a895e7c0b7ea3584966e8b346c6c80fdd33acb0224ad7e3fbd80cf8171601depends onused byjrsonnet-interner
0.5.0-pre98workspace↘ 3↖ 3jrsonnet-ir
0.5.0-pre98workspace↘ 7↖ 7depends onjrsonnet-ir-parser
0.5.0-pre98workspace↘ 4↖ 2jrsonnet-lexer
0.5.0-pre98workspace↘ 1↖ 3jrsonnet-macros
0.5.0-pre98workspace↘ 4↖ 2jrsonnet-peg-parser
0.5.0-pre98workspace↘ 4↖ 1jrsonnet-rowan-parser
0.5.0-pre98workspace↘ 9↖ 1jrsonnet-stdlib
0.5.0-pre98workspace↘ 16↖ 4depends onjrsonnet-types
0.5.0-pre98workspace↘ 2↖ 2jrsonnet-web
0.5.0-pre98workspace↘ 13↖ 0js-sys
0.3.83crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8depends onkeccak
0.2.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9e24a010dd405bd7ed803e5253182815b41bf2e6a80cc3bfc066658e03a198aadepends onused byleb128fmt
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2used bylibc
0.2.186crates.io↘ 0↖ 9sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66libjsonnet
0.5.0-pre98workspace↘ 5↖ 0linux-raw-sys
0.12.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53used bylitemap
0.8.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0used bylog
0.4.29crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897logos
0.16.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumeb2c55a318a87600ea870ff8c2012148b44bf18b74fad48d0f835c38c7d07c5fdepends onused bylogos-codegen
0.16.1crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum58b3ffaa284e1350d017a57d04ada118c4583cf260c8fb01e0fe28a2e9cf8970used bylogos-derive
0.16.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52d3a9855747c17eaf4383823f135220716ab49bea5fbea7dd42cc9a92f8aa31depends onused bylru
0.17.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0e0b564323a0fb6d54b864f625ae139de9612e27edb944dda37c109f05aac531depends onused bymd5
0.8.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumae960838283323069879657ca3de837e9f7bbb4c7bf6ea7f1b290d5e9476d2e0used bymemchr
2.8.0crates.io↘ 0↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79mimalloc-sys
0.1.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4aa3cefb626f6ae3d0b2f71c5378c89d2b1d4d7bc246b0ca9a7ee61a4daad291depends onused bymimallocator
0.1.3crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2d44fe4ebf6b538fcf39d9975c2b90bb3232d1ba8e8bffeacd004f27b20c577adepends onnum-bigint
0.4.6crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9num-integer
0.1.46crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858fdepends onused bynum-traits
0.2.19crates.io↘ 1↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841depends onobject
0.37.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fedepends onused byonce_cell
1.21.4crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50once_cell_polyfill
1.70.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4feused byoorandom
11.1.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41eused byouroboros
0.18.5crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59used byouroboros_macro
0.18.5crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0used bypage_size
0.6.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40dadepends onused bypathdiff
0.2.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdf94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3peg
0.8.5crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9928cfca101b36ec5163e70049ee5368a8a1c3c6efc9ca9c5f9cc2f816152477depends onpeg-macros
0.8.5crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6298ab04c202fa5b5d52ba03269fb7b74550b150323038878fe6c372d8280f71used bypeg-runtime
0.8.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fcaused bypercent-encoding
2.3.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220used byplotters
0.3.7crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747used byplotters-backend
0.3.7crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdf42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172aplotters-svg
0.3.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670depends onused bypotential_utf
0.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564depends onused byppv-lite86
0.2.21crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9depends onused byprettyplease
0.2.37crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62bdepends onproc-macro2
1.0.106crates.io↘ 1↖ 25sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934depends onused by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - peg-macros
0.8.5 - prettyplease
0.2.37 - proc-macro2-diagnostics
0.10.1 - quote
1.0.45 - serde_derive
1.0.228 - syn
2.0.117 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust-macro
0.51.0 - xtask
0.1.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
proc-macro2-diagnostics
0.10.1crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaf066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8used bypsm
0.1.31crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum645dbe486e346d9b5de3ef16ede18c26e6c70ad97418f4874b8b1889d6e761eadepends onused byquote
1.0.45crates.io↘ 1↖ 24sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924depends onused by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - peg-macros
0.8.5 - proc-macro2-diagnostics
0.10.1 - serde_derive
1.0.228 - syn
2.0.117 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro
0.2.106 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust-macro
0.51.0 - xtask
0.1.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
r-efi
5.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0fused byr-efi
6.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bfused byrand
0.9.4crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76eadepends onrand_chacha
0.9.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cbdepends onused byrand_core
0.9.5crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83cdepends onused byrandom_color
1.1.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd635c5e80ae160390ac62ca027d2d06c94c1dc69e5c0a12f1e3a53664dc84966depends onused byrange-map
0.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum12a5a2d6c7039059af621472a4389be1215a816df61aa4d531cfe85264aee95fdepends onused byrayon
1.12.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926ddepends onused byrayon-core
1.13.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91used byregex
1.12.3crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276regex-automata
0.4.14crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8fregex-syntax
0.8.10crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0arowan
0.16.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum417a3a9f582e349834051b8a10c8d71ca88da4211e4093528e36b9845f6b5f21rustc-hash
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2used byrustc-hash
2.1.2crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dberustix
1.1.4crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190used byrustversion
1.0.22crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46dsame-file
1.0.6crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502depends onused bysaphyr-parser-bw
0.0.611crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum67dec0c833db75dc98957956b303fe447ffc5eb13f2325ef4c2350f7f3aa69e3used bysemver
1.0.28crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cdserde
1.0.228crates.io↘ 2↖ 16sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9edepends onserde_core
1.0.228crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67addepends onserde_derive
1.0.228crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79depends onserde_json
1.0.149crates.io↘ 5↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86serde-saphyr
0.0.25crates.io↘ 9↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75e214449d107a81daf1453eb46c9314457660509534883e82db6faca2034a8adepends onused bysha1
0.11.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214depends onused bysha2
0.11.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4depends onused bysha3
0.11.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbe176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1depends onused bysimilar
2.7.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daaused bysmallvec
1.15.1crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03stable_deref_trait
1.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596used bystacker
0.1.24crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum640c8cdd92b6b12f5bcb1803ca3bbf5ab96e5e6b6b96b9ab77dabe9e880b3190static_assertions
1.1.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543fstr_indices
0.4.4crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd08889ec5408683408db66ad89e0e1f93dff55c73a4ccc71c427d5b277ee47e6used bystrip-ansi-escapes
0.2.1crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2a8f8038e7e7969abb3f1b7c2a811225e9296da208539e0f79c5251d6cac0025depends onstrsim
0.11.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4fsyn
2.0.117crates.io↘ 3↖ 22sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99used by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - prettyplease
0.2.37 - proc-macro2-diagnostics
0.10.1 - serde_derive
1.0.228 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust
0.51.0 - wit-bindgen-rust-macro
0.51.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
syn-dissect-closure
0.1.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum343bae741672e4b94421cbe93f9794ba9a061434272f7e3a29ff43be26be3ac9depends onused bysynstructure
0.13.2crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2depends ontempfile
3.27.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bdtext-size
1.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233used bythiserror
2.0.18crates.io↘ 1↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4depends onthiserror-impl
2.0.18crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5depends onused bytinystr
0.8.3crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96ddepends onused bytinytemplate
1.2.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbe4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bcdepends onused bytypenum
1.20.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43deused byungrammar
1.16.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma3e5df347f0bf3ec1d670aad6ca5c6a1859cd9ea61d2113125794654ccced68fused byunicode-box-drawing
0.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2a1f97719cf40224391201fc11e7f5b0cc0ba21416367cfc914e2d45af4e42efused byunicode-ident
1.0.24crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75unicode-width
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254unicode-xid
0.2.6crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853used byurl
2.5.8crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eedutf8_iter
1.0.4crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6beutf8parse
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821version_check
0.9.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105avte
0.14.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum231fdcd7ef3037e8330d8e17e61011a2c244126acc0a982f4040ac3f9f0bc077depends onused bywalkdir
2.5.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4bdepends onused bywasip2
1.0.3+wasi-0.2.9crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6depends onused bywasip3
0.4.0+wasi-0.3.0-rc-2026-01-06crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5depends onused bywasm-bindgen
0.2.106crates.io↘ 5↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fddepends onwasm-bindgen-futures
0.4.56crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7cused bywasm-bindgen-macro
0.2.106crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3used bywasm-bindgen-macro-support
0.2.106crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40used bywasm-encoder
0.244.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319depends onwasm-metadata
0.244.0crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909wasmparser
0.244.0crates.io↘ 4↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028feweb-sys
0.3.83crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137acdepends onwinapi
0.3.9crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419used bywinapi-i686-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6used bywinapi-util
0.1.11crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22depends onused bywinapi-x86_64-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183fused bywindows-link
0.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5used bywindows-sys
0.61.2crates.io↘ 1↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fcdepends onwit-bindgen
0.51.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5depends onwit-bindgen
0.57.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536eused bywit-bindgen-core
0.51.0crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dcdepends onwit-bindgen-rust
0.51.0crates.io↘ 8↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21depends onused bywit-bindgen-rust-macro
0.51.0crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17adepends onused bywit-component
0.244.0crates.io↘ 11↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2depends onused bywit-parser
0.244.0crates.io↘ 10↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736depends onwriteable
0.6.3crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4xshell
0.2.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9e7290c623014758632efe00737145b6867b66292c42167f2ec381eb566a373ddepends onused byxshell-macros
0.2.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32ac00cd3f8ec9c1d33fb3e7958a82df6989c42d747bd326c822b1d625283547used byxtask
0.1.0workspace↘ 8↖ 0yansi
1.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049yoke
0.8.2crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumabe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9cayoke-derive
0.8.2crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumde844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858eused byzerocopy
0.8.48crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumeed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9depends onzerocopy-derive
0.8.48crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4depends onused byzerofrom
0.1.7crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4dfdepends onzerofrom-derive
0.1.7crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1used byzerotrie
0.2.4crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bfdepends onzerovec
0.11.6crates.io↘ 3↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239zerovec-derive
0.11.3crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555depends onused byzmij
1.0.21crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaaused by
README.adocdiffbeforeafterboth--- a/README.adoc
+++ b/README.adoc
@@ -88,6 +88,21 @@
Jrsonnet is written in rust itself, so just add it as dependency
+=== JavaScript/TypeScript (WASM)
+
+// image:https://img.shields.io/npm/v/jrsonnet[alt=npm, link=https://www.npmjs.com/package/jrsonnet]
+image:https://jsr.io/badges/@jrsonnet/jrsonnet[alt=JSR, link=https://jsr.io/@jrsonnet/jrsonnet]
+image:https://jsr.io/badges/@jrsonnet/jrsonnet/score[alt=JSR score, link=https://jsr.io/@jrsonnet/jrsonnet]
+
+WASM bindings are published to JSR as `@jrsonnet/jrsonnet`.
+
+[source,sh]
+----
+deno add jsr:@jrsonnet/jrsonnet
+----
+
+// npm package (`jrsonnet`) is not yet published.
+
=== Python
image:https://img.shields.io/pypi/v/rjsonnet[alt=crates.io, link=https://pypi.org/project/rjsonnet/]
@@ -100,6 +115,6 @@
=== Other
-WASM bingings are also available, Java bindings (Both JNI and WASM compiled to `.class`) are in progress
+Java bindings (Both JNI and WASM compiled to `.class`) are in progress
See link:./bindings/[bindings] for more information.
bindings/jrsonnet-web/Cargo.tomldiffbeforeafterboth--- a/bindings/jrsonnet-web/Cargo.toml
+++ b/bindings/jrsonnet-web/Cargo.toml
@@ -1,6 +1,8 @@
[package]
name = "jrsonnet-web"
-description = "WASM JS bindings for jrsonnet"
+description = "WebAssembly JavaScript bindings for jrsonnet"
+keywords = ["jsonnet", "wasm", "web"]
+categories = ["wasm"]
authors.workspace = true
edition.workspace = true
license.workspace = true
@@ -17,6 +19,7 @@
jrsonnet-stdlib.workspace = true
jrsonnet-types.workspace = true
js-sys.workspace = true
+rustc-hash.workspace = true
url.workspace = true
wasm-bindgen.workspace = true
wasm-bindgen-futures.workspace = true
bindings/jrsonnet-web/deno.jsondiffbeforeafterboth--- a/bindings/jrsonnet-web/deno.json
+++ b/bindings/jrsonnet-web/deno.json
@@ -1,7 +1,7 @@
{
"name": "@jrsonnet/jrsonnet",
"license": "MIT",
- "version": "0.0.1",
+ "version": "0.0.2",
"tasks": {
"wasmbuild": "deno run -A @deno/wasmbuild -p jrsonnet-web --skip-opt"
},
@@ -11,11 +11,15 @@
"@std/assert": "jsr:@std/assert@^1.0.19"
},
"exports": {
- ".": "./mod.ts"
+ ".": "./mod.ts",
+ "./fmt": "./fmt.ts"
},
"publish": {
"exclude": [
"!lib"
]
+ },
+ "fmt": {
+ "useTabs": true
}
}
bindings/jrsonnet-web/fmt.test.tsdiffbeforeafterboth--- a/bindings/jrsonnet-web/fmt.test.ts
+++ b/bindings/jrsonnet-web/fmt.test.ts
@@ -1,7 +1,7 @@
import { assertEquals } from "@std/assert";
-import { format, FormatOptions } from "./mod.ts";
+import { format, FormatOptions } from "./fmt.ts";
Deno.test("format", () => {
- const opts = new FormatOptions();
- assertEquals(format("{a:1+1}", opts), "{ a: 1 + 1 }\n");
+ const opts = new FormatOptions();
+ assertEquals(format("{a:1+1}", opts), "{ a: 1 + 1 }\n");
});
bindings/jrsonnet-web/fmt.tsdiffbeforeafterboth--- a/bindings/jrsonnet-web/fmt.ts
+++ b/bindings/jrsonnet-web/fmt.ts
@@ -0,0 +1 @@
+export { format, FormatOptions } from "./lib/jsonnet_web.js";
bindings/jrsonnet-web/mod.test.tsdiffbeforeafterboth--- a/bindings/jrsonnet-web/mod.test.ts
+++ b/bindings/jrsonnet-web/mod.test.ts
@@ -1,8 +1,139 @@
-import { assertEquals } from "@std/assert";
-import { WasmState } from "./mod.ts";
+import { assertEquals, assertRejects, assertThrows } from "@std/assert";
+import { type ImportResolver, JrsonnetError, State, ValKind } from "./mod.ts";
+
+Deno.test("evaluateSnippet returns numbers", () => {
+ const state = new State();
+ const v = state.evaluateSnippet("test.jsonnet", "1 + 2");
+ assertEquals(v.kind, ValKind.Num);
+ assertEquals(v.asNum(), 3);
+});
+
+Deno.test("evaluateSnippet returns booleans", () => {
+ const state = new State();
+ const v = state.evaluateSnippet("test.jsonnet", "true && !false");
+ assertEquals(v.kind, ValKind.Bool);
+ assertEquals(v.asBool(), true);
+});
+
+Deno.test("evaluateSnippet returns strings", () => {
+ const state = new State();
+ const v = state.evaluateSnippet("test.jsonnet", "'hello ' + 'world'");
+ assertEquals(v.kind, ValKind.Str);
+ assertEquals(v.asString(), "hello world");
+});
-Deno.test("basic", () => {
- const state = new WasmState();
+Deno.test("evaluateSnippet returns null", () => {
+ const state = new State();
+ const v = state.evaluateSnippet("test.jsonnet", "null");
+ assertEquals(v.kind, ValKind.Null);
+ assertEquals(v.asNum(), undefined);
+});
- assertEquals(state.evaluate_snippet("test.jsonnet", "1 + 2").as_num(), 3);
+Deno.test("Val.asArr exposes ArrValue", () => {
+ const state = new State();
+ const arr = state.evaluateSnippet("test.jsonnet", "[10, 20, 30]").asArr();
+ if (!arr) throw new Error("expected array");
+ assertEquals(arr.length, 3);
+ assertEquals(arr.at(1)?.asNum(), 20);
+ assertEquals(arr.at(99), undefined);
+});
+
+Deno.test("Val.asObj exposes ObjValue", () => {
+ const state = new State();
+ const obj = state.evaluateSnippet("test.jsonnet", "{a: 1, b: 'two'}").asObj();
+ if (!obj) throw new Error("expected object");
+ assertEquals(obj.keys().sort(), ["a", "b"]);
+ assertEquals(obj.get("a")?.asNum(), 1);
+ assertEquals(obj.get("b")?.asString(), "two");
+ assertEquals(obj.get("missing"), undefined);
+});
+
+Deno.test("evaluateSnippet manifests JSON", () => {
+ const state = new State();
+ const v = state.evaluateSnippet("test.jsonnet", "{a: 1, b: [2, 3]}");
+ assertEquals(v.manifestJson(0), '{"a":1,"b":[2,3]}');
+});
+
+Deno.test("evaluateSnippet propagates jsonnet errors", () => {
+ const state = new State();
+ assertThrows(() => state.evaluateSnippet("test.jsonnet", "error 'boom'"));
+});
+
+Deno.test("evaluateFile without resolver rejects", async () => {
+ const state = new State();
+ await assertRejects(() => state.evaluateFile("anything.jsonnet"));
+});
+
+Deno.test("resolver errors become JrsonnetError with cause", async () => {
+ const original = new Error("disk on fire");
+ const resolver: ImportResolver = {
+ resolveFrom(_from, path) {
+ return Promise.resolve(`memory:///${path}`);
+ },
+ loadFileContents(_resolved) {
+ throw original;
+ },
+ };
+ const state = new State(resolver);
+ const err = await assertRejects(
+ () => state.evaluateFile("anything.jsonnet"),
+ JrsonnetError,
+ "loadFileContents",
+ );
+ assertEquals(err.cause, original);
+ assertEquals(err.frames[0]?.desc, "loadFileContents");
+ // The wrapped error's own stack must not mention internal wasm frames.
+ assertEquals((err.stack ?? "").includes(".wasm"), false);
+});
+
+Deno.test("Val.applyTla calls function with named args", () => {
+ const state = new State();
+ const fn = state.evaluateSnippet(
+ "test.jsonnet",
+ "function(x, y) x + y",
+ );
+ const result = fn.applyTla({
+ x: state.evaluateSnippet("x.jsonnet", "10"),
+ y: state.evaluateSnippet("y.jsonnet", "32"),
+ });
+ assertEquals(result.asNum(), 42);
+});
+
+Deno.test("Val.applyTla borrows args without consuming them", () => {
+ const state = new State();
+ const fn = state.evaluateSnippet("test.jsonnet", "function(x) x * 2");
+ const x = state.evaluateSnippet("x.jsonnet", "21");
+ assertEquals(fn.applyTla({ x }).asNum(), 42);
+ assertEquals(x.asNum(), 21);
+ assertEquals(fn.applyTla({ x }).asNum(), 42);
+});
+
+Deno.test("Val.applyTla on non-function returns the value unchanged", () => {
+ const state = new State();
+ const v = state.evaluateSnippet("test.jsonnet", "123");
+ assertEquals(v.applyTla({}).asNum(), 123);
+});
+
+Deno.test("evaluateFileFrom resolves relative paths", async () => {
+ const files: Record<string, string> = {
+ "memory:///root/main.jsonnet": "import 'lib.jsonnet'",
+ "memory:///root/lib.jsonnet": "{ answer: 42 }",
+ };
+ const resolver: ImportResolver = {
+ resolveFrom(from, path) {
+ const base = from ?? "memory:///root/";
+ return Promise.resolve(new URL(path, base).toString());
+ },
+ loadFileContents(resolved) {
+ const code = files[resolved];
+ if (code === undefined) throw new Error(`missing ${resolved}`);
+ return Promise.resolve(new TextEncoder().encode(code));
+ },
+ };
+ const state = new State(resolver);
+ const v = await state.evaluateFileFrom(
+ "memory:///root/main.jsonnet",
+ "./lib.jsonnet",
+ );
+ assertEquals(v.asObj()?.get("answer")?.asNum(), 42);
});
bindings/jrsonnet-web/mod.tsdiffbeforeafterboth--- a/bindings/jrsonnet-web/mod.ts
+++ b/bindings/jrsonnet-web/mod.ts
@@ -1,60 +1,71 @@
import { assert } from "@std/assert";
import {
- format as formatRaw,
- type ImportResolver,
- WasmFormatOptions,
- WasmState,
- WasmVal,
+ ArrValue,
+ type ImportResolver,
+ ObjValue,
+ setErrorFactory,
+ State,
+ Val,
+ ValKind,
} from "./lib/jsonnet_web.js";
-export { type ImportResolver, WasmFormatOptions, WasmState, WasmVal };
+export interface JrsonnetFrame {
+ desc: string;
+ path?: string;
+ line?: number;
+ column?: number;
+}
-class FetchImportResolver implements ImportResolver {
- constructor(public base: string) {}
+export class JrsonnetError extends Error {
+ override name = "JrsonnetError" as const;
+ frames: JrsonnetFrame[];
- resolution = new Map<string, URL>();
- response = new Map<string, Response>();
+ constructor(message: string, frames: JrsonnetFrame[], cause?: unknown) {
+ super(message, cause !== undefined ? { cause } : undefined);
+ this.frames = frames;
+ }
+}
- async resolveFrom(from: string | undefined, path: string): Promise<string> {
- let resolved: URL;
- if (from) {
- resolved = new URL(path, from);
- } else {
- resolved = new URL(path, this.base);
- }
- const resolvingStr = resolved.toString();
- resolved = this.resolution.get(resolvingStr) ?? resolved;
+setErrorFactory(
+ (message: string, frames: JrsonnetFrame[], cause: unknown) =>
+ new JrsonnetError(message, frames, cause),
+);
+
+export { ArrValue, type ImportResolver, ObjValue, State, Val, ValKind };
- const resolvedStr = resolved.toString();
- if (!this.response.has(resolvedStr)) {
- console.log(resolved);
- const v = await fetch(resolved);
- this.response.set(resolvedStr, v);
- resolved = new URL(v.url);
- this.resolution.set(resolvingStr, resolved);
- }
- return resolved.toString();
- }
- loadFileContents(resolved: string): Promise<Uint8Array> {
- console.log(resolved);
- const v = this.response.get(resolved);
- assert(v, "should be resolved");
- return v.bytes();
- }
-}
+export class FetchImportResolver implements ImportResolver {
+ constructor(base: URL | string) {
+ this.#base = new URL(base);
+ }
-//
-// try {
-// console.log("eval file");
-// await state.evaluate_file("example.jsonnet");
-// console.log("eval file done");
-// } catch (e) {
-// console.log(e);
-// }
-//
-export function format(
- code: string,
- opts: WasmFormatOptions = new WasmFormatOptions(),
-): string {
- return formatRaw(code, opts);
+ #base: URL;
+ #resolution = new Map<string, string>();
+ #bytes = new Map<string, Uint8Array>();
+
+ async resolveFrom(from: string | undefined, path: string): Promise<string> {
+ const base = from !== undefined ? from : this.#base;
+ const requestStr = new URL(path, base).toString();
+
+ const cached = this.#resolution.get(requestStr);
+ if (cached !== undefined) return cached;
+
+ const resp = await fetch(requestStr);
+ if (!resp.ok) {
+ throw new Error(
+ `fetch ${requestStr}: HTTP ${resp.status} ${resp.statusText}`,
+ );
+ }
+ const canonical = resp.url;
+ if (!this.#bytes.has(canonical)) {
+ this.#bytes.set(canonical, await resp.bytes());
+ }
+ this.#resolution.set(requestStr, canonical);
+ return canonical;
+ }
+
+ loadFileContents(resolved: string): Promise<Uint8Array> {
+ const bytes = this.#bytes.get(resolved);
+ assert(bytes, `not loaded: ${resolved}`);
+ return Promise.resolve(bytes);
+ }
}
bindings/jrsonnet-web/scripts/build_npm.tsdiffbeforeafterboth--- a/bindings/jrsonnet-web/scripts/build_npm.ts
+++ b/bindings/jrsonnet-web/scripts/build_npm.ts
@@ -3,27 +3,27 @@
await emptyDir("./npm");
await build({
- entryPoints: ["./mod.ts"],
- outDir: "./npm",
- shims: {
- // see JS docs for overview and more options
- deno: true,
- },
- package: {
- // package.json properties
- name: "jrsonnet",
- version: Deno.args[0],
- description: "Jrsonnet.",
- license: "MIT",
- repository: {
- type: "git",
- url: "git+https://github.com/CertainLach/jrsonnet.git",
- },
- bugs: {
- url: "https://github.com/CertainLach/jrsonnet/issues",
- },
- },
- postBuild() {
- Deno.copyFileSync("../../LICENSE", "npm/LICENSE");
- },
+ entryPoints: ["./mod.ts"],
+ outDir: "./npm",
+ shims: {
+ // see JS docs for overview and more options
+ deno: true,
+ },
+ package: {
+ // package.json properties
+ name: "jrsonnet",
+ version: Deno.args[0],
+ description: "Jrsonnet.",
+ license: "MIT",
+ repository: {
+ type: "git",
+ url: "git+https://github.com/CertainLach/jrsonnet.git",
+ },
+ bugs: {
+ url: "https://github.com/CertainLach/jrsonnet/issues",
+ },
+ },
+ postBuild() {
+ Deno.copyFileSync("../../LICENSE", "npm/LICENSE");
+ },
});
bindings/jrsonnet-web/src/lib.rsdiffbeforeafterboth--- a/bindings/jrsonnet-web/src/lib.rs
+++ b/bindings/jrsonnet-web/src/lib.rs
@@ -1,19 +1,25 @@
-use std::result::Result;
+#![allow(clippy::future_not_send, reason = "we work with js promises anyway")]
+use std::{cell::RefCell, result::Result};
+
use jrsonnet_evaluator::{
- NumValue, Result as JrResult, SourcePath, SourceUrl, State, StateBuilder, Val,
+ IStr, NumValue, ObjValue, Result as JrResult, SourcePath, SourceUrl, State, StateBuilder, Val,
async_import::{ResolvedImportResolver, async_import},
error,
function::builtin::{NativeCallback, NativeCallbackHandler},
manifest::{JsonFormat, ManifestFormat, StringFormat, ToStringFormat, YamlStreamFormat},
- trace::{JsFormat, PathResolver, TraceFormat},
+ tla::{TlaArg, apply_tla},
+ trace::PathResolver,
+ val::ArrValue,
with_state,
};
use jrsonnet_formatter::FormatOptions;
use jrsonnet_gcmodule::Trace;
use jrsonnet_stdlib::{IniFormat, TomlFormat, XmlJsonmlFormat, YamlFormat};
use jrsonnet_types::ValType;
-use wasm_bindgen::prelude::*;
+use js_sys::Reflect::get;
+use rustc_hash::FxHashMap;
+use wasm_bindgen::{convert::RefFromWasmAbi, prelude::*};
#[wasm_bindgen]
#[derive(Clone, Copy)]
@@ -27,37 +33,60 @@
Func,
}
-#[wasm_bindgen(inline_js = r"
-export class JrsonnetError extends Error {
- constructor(message, frames) {
- super(message);
- this.name = 'JrsonnetError';
- this.frames = frames;
- }
+thread_local! {
+ static ERR_FACTORY: RefCell<Option<js_sys::Function>> = const { RefCell::new(None) };
}
-export function makeJrsonnetError(message, frames) {
- return new JrsonnetError(message, frames);
+#[wasm_bindgen(js_name = setErrorFactory)]
+pub fn set_error_factory(f: js_sys::Function) {
+ ERR_FACTORY.with(|c| *c.borrow_mut() = Some(f));
}
-")]
-extern "C" {
- #[wasm_bindgen(js_name = makeJrsonnetError)]
- fn make_jrsonnet_error(message: &str, frames: js_sys::Array) -> JsValue;
+fn make_jrsonnet_error(message: &str, frames: js_sys::Array, cause: &JsValue) -> JsValue {
+ ERR_FACTORY.with(|c| {
+ c.borrow().as_ref().map_or_else(
+ || js_sys::Error::new(message).into(),
+ |f| {
+ let args = js_sys::Array::new();
+ args.push(&JsValue::from_str(message));
+ args.push(&frames);
+ args.push(cause);
+ f.apply(&JsValue::NULL, &args)
+ .unwrap_or_else(|e| js_sys::Error::new(&format!("{e:?}")).into())
+ },
+ )
+ })
}
-#[wasm_bindgen(typescript_custom_section)]
-const TS_JRSONNET_ERROR: &'static str = r"
-export interface JrsonnetFrame {
- desc: string;
- path?: string;
- line?: number;
- column?: number;
+fn js_error_message(e: &JsValue) -> String {
+ e.dyn_ref::<js_sys::Error>().map_or_else(
+ || e.as_string().unwrap_or_else(|| format!("{e:?}")),
+ |err| String::from(err.message()),
+ )
}
-export class JrsonnetError extends Error {
- name: 'JrsonnetError';
- frames: JrsonnetFrame[];
+
+fn unwrap_val_ref(value: &JsValue) -> Result<<WasmVal as RefFromWasmAbi>::Anchor, JsValue> {
+ let ptr = get(value, &JsValue::from_str("__wbg_ptr"))
+ .ok()
+ .and_then(|v| v.as_f64())
+ .ok_or_else(|| JsValue::from_str("expected a Val instance"))? as u32;
+ if ptr == 0 {
+ return Err(JsValue::from_str("Val has been freed"));
+ }
+ Ok(unsafe { <WasmVal as RefFromWasmAbi>::ref_from_abi(ptr) })
}
-";
+fn js_resolver_error(prefix: &str, e: JsValue) -> JsValue {
+ let msg = format!("{prefix}: {}", js_error_message(&e));
+ let frames = js_sys::Array::new();
+ let frame = js_sys::Object::new();
+ let _ = js_sys::Reflect::set(
+ &frame,
+ &JsValue::from_str("desc"),
+ &JsValue::from_str(prefix),
+ );
+ frames.push(&frame);
+ make_jrsonnet_error(&msg, frames, &e)
+}
+
fn jrsonnet_js_error(e: &jrsonnet_evaluator::Error) -> JsValue {
let msg = e.error().to_string();
// let msg = format.format(e).unwrap_or_else(|_| e.to_string());
@@ -90,7 +119,7 @@
}
frames.push(&frame);
}
- make_jrsonnet_error(&msg, frames)
+ make_jrsonnet_error(&msg, frames, &JsValue::UNDEFINED)
}
impl From<ValType> for ValKind {
@@ -107,7 +136,7 @@
}
}
-#[wasm_bindgen]
+#[wasm_bindgen(js_name = Val)]
pub struct WasmVal {
val: Val,
state: Option<State>,
@@ -121,12 +150,6 @@
Self {
val,
state: Some(state),
- }
- }
- fn child(&self, val: Val) -> Self {
- Self {
- val,
- state: self.state.clone(),
}
}
fn run<R>(&self, f: impl FnOnce(&Val) -> R) -> R {
@@ -143,7 +166,7 @@
}
}
-#[wasm_bindgen]
+#[wasm_bindgen(js_class = Val)]
impl WasmVal {
pub fn null() -> Self {
Self::new(Val::Null)
@@ -167,7 +190,7 @@
pub fn func(
params: Vec<String>,
- #[wasm_bindgen(unchecked_param_type = "(...args: WasmVal[]) => WasmVal")]
+ #[wasm_bindgen(unchecked_param_type = "(...args: Val[]) => Val")]
callback: js_sys::Function,
) -> Self {
#[allow(deprecated)]
@@ -181,52 +204,76 @@
pub fn kind(&self) -> ValKind {
self.val.value_type().into()
}
+ #[wasm_bindgen(js_name = asBool)]
pub fn as_bool(&self) -> Option<bool> {
self.val.as_bool()
}
+ #[wasm_bindgen(js_name = asNum)]
pub fn as_num(&self) -> Option<f64> {
self.val.as_num()
}
+ #[wasm_bindgen(js_name = asString)]
pub fn as_string(&self) -> Option<String> {
self.val.as_str().map(|s| s.to_string())
- }
- pub fn arr_len(&self) -> Option<u32> {
- self.val.as_arr().map(|a| a.len())
}
- pub fn arr_at(&self, index: u32) -> Result<Option<WasmVal>, JsValue> {
- let Some(a) = self.val.as_arr() else {
- return Ok(None);
- };
- self.run(|_| a.get(index))
- .map(|opt| opt.map(|v| self.child(v)))
- .map_err(|e| jrsonnet_js_error(&e))
+ #[wasm_bindgen(js_name = asArr)]
+ pub fn as_arr(&self) -> Option<WasmArrValue> {
+ self.val.as_arr().map(|arr| WasmArrValue {
+ arr,
+ state: self.state.clone(),
+ })
}
- pub fn obj_keys(&self) -> Option<Vec<String>> {
- self.val
- .as_obj()
- .map(|o| o.fields().into_iter().map(|s| s.to_string()).collect())
+ #[wasm_bindgen(js_name = asObj)]
+ pub fn as_obj(&self) -> Option<WasmObjValue> {
+ self.val.as_obj().map(|obj| WasmObjValue {
+ obj,
+ state: self.state.clone(),
+ })
}
- pub fn obj_get(&self, key: String) -> Result<Option<WasmVal>, JsValue> {
- let Some(o) = self.val.as_obj() else {
- return Ok(None);
- };
- self.run(|_| o.get(key.into()))
- .map(|opt| opt.map(|v| self.child(v)))
+
+ #[wasm_bindgen(js_name = applyTla)]
+ pub fn apply_tla(
+ &self,
+ #[wasm_bindgen(unchecked_param_type = "Record<string, Val>")] args: &js_sys::Object,
+ ) -> Result<WasmVal, JsValue> {
+ let mut map: FxHashMap<IStr, TlaArg> = FxHashMap::default();
+ for entry in js_sys::Object::entries(args).iter() {
+ let pair: js_sys::Array = entry
+ .dyn_into()
+ .map_err(|_| JsValue::from_str("expected [key, value] entry"))?;
+ let key = pair
+ .get(0)
+ .as_string()
+ .ok_or_else(|| JsValue::from_str("TLA arg key must be a string"))?;
+ let value = unwrap_val_ref(&pair.get(1))?;
+ map.insert(key.into(), TlaArg::Val(value.val.clone()));
+ }
+ let val = self.val.clone();
+ self.run(|_| apply_tla(&map, val))
+ .map(|v| WasmVal {
+ val: v,
+ state: self.state.clone(),
+ })
.map_err(|e| jrsonnet_js_error(&e))
}
+ #[wasm_bindgen(js_name = manifestJson)]
pub fn manifest_json(&self, indent: u32) -> Result<String, JsValue> {
self.manifest_with(JsonFormat::cli(indent as usize))
}
+ #[wasm_bindgen(js_name = manifestToString)]
pub fn manifest_to_string(&self) -> Result<String, JsValue> {
self.manifest_with(ToStringFormat)
}
+ #[wasm_bindgen(js_name = manifestString)]
pub fn manifest_string(&self) -> Result<String, JsValue> {
self.manifest_with(StringFormat)
}
+ #[wasm_bindgen(js_name = manifestYaml)]
pub fn manifest_yaml(&self, indent: u32, quote_keys: bool) -> Result<String, JsValue> {
self.manifest_with(YamlFormat::std_to_yaml(indent != 0, quote_keys))
}
+ #[wasm_bindgen(js_name = manifestYamlStream)]
pub fn manifest_yaml_stream(
&self,
indent: u32,
@@ -238,17 +285,84 @@
c_document_end,
))
}
+ #[wasm_bindgen(js_name = manifestXmlJsonml)]
pub fn manifest_xml_jsonml(&self) -> Result<String, JsValue> {
self.manifest_with(XmlJsonmlFormat::std_to_xml())
}
+ #[wasm_bindgen(js_name = manifestToml)]
pub fn manifest_toml(&self, indent: u32) -> Result<String, JsValue> {
self.manifest_with(TomlFormat::std_to_toml(" ".repeat(indent as usize)))
}
+ #[wasm_bindgen(js_name = manifestIni)]
pub fn manifest_ini(&self) -> Result<String, JsValue> {
self.manifest_with(IniFormat::std())
}
}
+#[wasm_bindgen(js_name = ArrValue)]
+pub struct WasmArrValue {
+ arr: ArrValue,
+ state: Option<State>,
+}
+
+#[wasm_bindgen(js_class = ArrValue)]
+impl WasmArrValue {
+ #[wasm_bindgen(getter)]
+ pub fn length(&self) -> u32 {
+ self.arr.len()
+ }
+ pub fn at(&self, index: u32) -> Result<Option<WasmVal>, JsValue> {
+ let result = self.state.as_ref().map_or_else(
+ || self.arr.get(index),
+ |state| {
+ let _guard = state.try_enter();
+ self.arr.get(index)
+ },
+ );
+ result
+ .map(|opt: Option<Val>| {
+ opt.map(|v| WasmVal {
+ val: v,
+ state: self.state.clone(),
+ })
+ })
+ .map_err(|e| jrsonnet_js_error(&e))
+ }
+}
+
+#[wasm_bindgen(js_name = ObjValue)]
+pub struct WasmObjValue {
+ obj: ObjValue,
+ state: Option<State>,
+}
+
+#[wasm_bindgen(js_class = ObjValue)]
+impl WasmObjValue {
+ pub fn keys(&self) -> Vec<String> {
+ self.obj
+ .fields()
+ .into_iter()
+ .map(|s| s.to_string())
+ .collect()
+ }
+ pub fn get(&self, key: String) -> Result<Option<WasmVal>, JsValue> {
+ let result = if let Some(state) = &self.state {
+ let _guard = state.try_enter();
+ self.obj.get(key.into())
+ } else {
+ self.obj.get(key.into())
+ };
+ result
+ .map(|opt: Option<Val>| {
+ opt.map(|v| WasmVal {
+ val: v,
+ state: self.state.clone(),
+ })
+ })
+ .map_err(|e| jrsonnet_js_error(&e))
+ }
+}
+
#[derive(Trace)]
struct JsHandler {
#[trace(skip)]
@@ -292,15 +406,15 @@
}
}
-#[wasm_bindgen]
+#[wasm_bindgen(js_name = State)]
pub struct WasmState {
state: State,
- resolver: JsAsyncResolver,
+ resolver: Option<JsAsyncResolver>,
}
-#[wasm_bindgen]
+#[wasm_bindgen(js_class = State)]
impl WasmState {
#[wasm_bindgen(constructor)]
- pub fn new(resolver: ImportResolverJs) -> Self {
+ pub fn new(resolver: Option<ImportResolverJs>) -> Self {
console_error_panic_hook::set_once();
let mut state = StateBuilder::default();
state.import_resolver(ResolvedImportResolver::new());
@@ -309,11 +423,11 @@
let state = state.build();
Self {
state,
- resolver: JsAsyncResolver { js: resolver },
+ resolver: resolver.map(|js| JsAsyncResolver { js }),
}
}
- #[wasm_bindgen]
+ #[wasm_bindgen(js_name = evaluateSnippet)]
pub fn evaluate_snippet(&self, name: &str, snippet: &str) -> Result<WasmVal, JsValue> {
let _guard = self.state.enter();
self.state
@@ -322,8 +436,35 @@
.map_err(|e| jrsonnet_js_error(&e))
}
+ #[wasm_bindgen(js_name = evaluateFile)]
pub async fn evaluate_file(&self, path: String) -> Result<WasmVal, JsValue> {
- let path = async_import(self.state.clone(), self.resolver.clone(), &path.as_str()).await?;
+ self.evaluate_file_from_impl(None, path).await
+ }
+
+ #[wasm_bindgen(js_name = evaluateFileFrom)]
+ pub async fn evaluate_file_from(&self, from: String, path: String) -> Result<WasmVal, JsValue> {
+ self.evaluate_file_from_impl(Some(from), path).await
+ }
+}
+
+impl WasmState {
+ async fn evaluate_file_from_impl(
+ &self,
+ from: Option<String>,
+ path: String,
+ ) -> Result<WasmVal, JsValue> {
+ let resolver = self
+ .resolver
+ .clone()
+ .ok_or_else(|| JsValue::from_str("file evaluation requires an ImportResolver"))?;
+ let from = match from {
+ Some(s) => {
+ let url = url::Url::parse(&s).map_err(|e| JsValue::from_str(&e.to_string()))?;
+ SourcePath::new(SourceUrl::new(url))
+ }
+ None => SourcePath::default(),
+ };
+ let path = async_import(self.state.clone(), resolver, &from, &path.as_str()).await?;
let _guard = self.state.enter();
self.state
.import_resolved(path)
@@ -375,8 +516,13 @@
) -> Result<SourcePath, JsValue> {
let from_js = (!from.is_default()).then(|| from.to_string());
let path_str = path.as_path().as_ref().to_string_lossy().into_owned();
- let promise = self.js.resolve_from(from_js, &path_str)?;
- let resolved_js = wasm_bindgen_futures::JsFuture::from(promise).await?;
+ let promise = self
+ .js
+ .resolve_from(from_js, &path_str)
+ .map_err(|e| js_resolver_error("resolveFrom", e))?;
+ let resolved_js = wasm_bindgen_futures::JsFuture::from(promise)
+ .await
+ .map_err(|e| js_resolver_error("resolveFrom", e))?;
let resolved_str = resolved_js
.as_string()
.ok_or_else(|| JsValue::from_str("resolveFrom must return string"))?;
@@ -386,8 +532,13 @@
async fn load_file_contents(&self, resolved: &SourcePath) -> Result<Vec<u8>, JsValue> {
let resolved_str = resolved.to_string();
- let promise = self.js.load_file_contents(&resolved_str)?;
- let bytes_js = wasm_bindgen_futures::JsFuture::from(promise).await?;
+ let promise = self
+ .js
+ .load_file_contents(&resolved_str)
+ .map_err(|e| js_resolver_error("loadFileContents", e))?;
+ let bytes_js = wasm_bindgen_futures::JsFuture::from(promise)
+ .await
+ .map_err(|e| js_resolver_error("loadFileContents", e))?;
let arr = bytes_js
.dyn_into::<js_sys::Uint8Array>()
.map_err(|_| JsValue::from_str("loadFileContents must return Uint8Array"))?;
@@ -395,17 +546,27 @@
}
}
-#[wasm_bindgen]
-pub struct WasmFormatOptions {}
-#[wasm_bindgen]
+#[wasm_bindgen(js_name = FormatOptions)]
+pub struct WasmFormatOptions {
+ indent: u8,
+}
+#[wasm_bindgen(js_class = FormatOptions)]
impl WasmFormatOptions {
#[wasm_bindgen(constructor)]
pub fn new() -> Self {
- Self {}
+ Self { indent: 0 }
}
fn build(&self) -> FormatOptions {
- FormatOptions { indent: 0 }
+ FormatOptions {
+ indent: self.indent,
+ }
+ }
+}
+
+impl Default for WasmFormatOptions {
+ fn default() -> Self {
+ Self::new()
}
}