difftreelog
chore always use workspace dependencies
in: master
8 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -306,6 +306,16 @@
]
[[package]]
+name = "console_error_panic_hook"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen",
+]
+
+[[package]]
name = "const-oid"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -413,6 +423,17 @@
]
[[package]]
+name = "displaydoc"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
name = "dprint-core"
version = "0.67.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -553,6 +574,15 @@
checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
[[package]]
+name = "form_urlencoded"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
name = "getrandom"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -663,7 +693,6 @@
"random_color",
"range-map",
"smallvec",
- "tree-sitter-highlight",
"unicode-box-drawing",
]
@@ -687,12 +716,115 @@
]
[[package]]
+name = "icu_collections"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c"
+dependencies = [
+ "displaydoc",
+ "potential_utf",
+ "utf8_iter",
+ "yoke",
+ "zerofrom",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locale_core"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29"
+dependencies = [
+ "displaydoc",
+ "litemap",
+ "tinystr",
+ "writeable",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_normalizer"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4"
+dependencies = [
+ "icu_collections",
+ "icu_normalizer_data",
+ "icu_properties",
+ "icu_provider",
+ "smallvec",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_normalizer_data"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38"
+
+[[package]]
+name = "icu_properties"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de"
+dependencies = [
+ "icu_collections",
+ "icu_locale_core",
+ "icu_properties_data",
+ "icu_provider",
+ "zerotrie",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_properties_data"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14"
+
+[[package]]
+name = "icu_provider"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421"
+dependencies = [
+ "displaydoc",
+ "icu_locale_core",
+ "writeable",
+ "yoke",
+ "zerofrom",
+ "zerotrie",
+ "zerovec",
+]
+
+[[package]]
name = "id-arena"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
[[package]]
+name = "idna"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
+dependencies = [
+ "idna_adapter",
+ "smallvec",
+ "utf8_iter",
+]
+
+[[package]]
+name = "idna_adapter"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714"
+dependencies = [
+ "icu_normalizer",
+ "icu_properties",
+]
+
+[[package]]
name = "indexmap"
version = "2.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -800,7 +932,6 @@
name = "jrsonnet-evaluator"
version = "0.5.0-pre98"
dependencies = [
- "annotate-snippets",
"anyhow",
"drop_bomb",
"educe",
@@ -824,6 +955,7 @@
"strip-ansi-escapes",
"strsim",
"thiserror",
+ "wasm-bindgen",
]
[[package]]
@@ -853,8 +985,6 @@
[[package]]
name = "jrsonnet-gcmodule"
version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95f9ce64915cdb0cab5367940a7cc024394fcf4f2608531e49f6dad39e2082d7"
dependencies = [
"jrsonnet-gcmodule-derive",
]
@@ -862,8 +992,6 @@
[[package]]
name = "jrsonnet-gcmodule-derive"
version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64364cfb68be0968a940d69ccb651ec445cde47830da5b294d55d2e47eee8708"
dependencies = [
"proc-macro2",
"quote",
@@ -889,6 +1017,7 @@
"peg",
"static_assertions",
"thiserror",
+ "url",
]
[[package]]
@@ -974,10 +1103,28 @@
]
[[package]]
+name = "jrsonnet-web"
+version = "0.5.0-pre98"
+dependencies = [
+ "console_error_panic_hook",
+ "getrandom 0.3.4",
+ "hi-doc",
+ "jrsonnet-evaluator",
+ "jrsonnet-formatter",
+ "jrsonnet-gcmodule",
+ "jrsonnet-stdlib",
+ "jrsonnet-types",
+ "js-sys",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+]
+
+[[package]]
name = "js-sys"
-version = "0.3.95"
+version = "0.3.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca"
+checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
dependencies = [
"once_cell",
"wasm-bindgen",
@@ -1023,6 +1170,12 @@
checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
[[package]]
+name = "litemap"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
+
+[[package]]
name = "log"
version = "0.4.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1224,6 +1377,12 @@
checksum = "132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fca"
[[package]]
+name = "percent-encoding"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
+
+[[package]]
name = "plotters"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1252,6 +1411,15 @@
]
[[package]]
+name = "potential_utf"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564"
+dependencies = [
+ "zerovec",
+]
+
+[[package]]
name = "ppv-lite86"
version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1541,7 +1709,6 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
dependencies = [
- "indexmap",
"itoa",
"memchr",
"serde",
@@ -1600,6 +1767,12 @@
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
[[package]]
+name = "stable_deref_trait"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
+
+[[package]]
name = "stacker"
version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1625,12 +1798,6 @@
checksum = "d08889ec5408683408db66ad89e0e1f93dff55c73a4ccc71c427d5b277ee47e6"
[[package]]
-name = "streaming-iterator"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520"
-
-[[package]]
name = "strip-ansi-escapes"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1668,6 +1835,17 @@
]
[[package]]
+name = "synstructure"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
name = "tempfile"
version = "3.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1721,46 +1899,24 @@
]
[[package]]
-name = "tinytemplate"
-version = "1.2.1"
+name = "tinystr"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d"
dependencies = [
- "serde",
- "serde_json",
+ "displaydoc",
+ "zerovec",
]
[[package]]
-name = "tree-sitter"
-version = "0.26.8"
+name = "tinytemplate"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "887bd495d0582c5e3e0d8ece2233666169fa56a9644d172fc22ad179ab2d0538"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
dependencies = [
- "cc",
- "regex",
- "regex-syntax",
+ "serde",
"serde_json",
- "streaming-iterator",
- "tree-sitter-language",
-]
-
-[[package]]
-name = "tree-sitter-highlight"
-version = "0.26.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccde2b54a34b58313e69c02496a2a9ad38d59af79b196b5e1df063431752a7e0"
-dependencies = [
- "regex",
- "streaming-iterator",
- "thiserror",
- "tree-sitter",
]
-
-[[package]]
-name = "tree-sitter-language"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "009994f150cc0cd50ff54917d5bc8bffe8cad10ca10d81c34da2ec421ae61782"
[[package]]
name = "typenum"
@@ -1799,6 +1955,24 @@
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]]
+name = "url"
+version = "2.5.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+ "serde",
+]
+
+[[package]]
+name = "utf8_iter"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
+
+[[package]]
name = "utf8parse"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1849,9 +2023,9 @@
[[package]]
name = "wasm-bindgen"
-version = "0.2.118"
+version = "0.2.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89"
+checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
dependencies = [
"cfg-if",
"once_cell",
@@ -1861,10 +2035,23 @@
]
[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "once_cell",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.118"
+version = "0.2.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed"
+checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -1872,9 +2059,9 @@
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.118"
+version = "0.2.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904"
+checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
dependencies = [
"bumpalo",
"proc-macro2",
@@ -1885,9 +2072,9 @@
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.118"
+version = "0.2.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129"
+checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
dependencies = [
"unicode-ident",
]
@@ -1928,9 +2115,9 @@
[[package]]
name = "web-sys"
-version = "0.3.95"
+version = "0.3.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d"
+checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -2077,6 +2264,12 @@
]
[[package]]
+name = "writeable"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
+
+[[package]]
name = "xshell"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2112,6 +2305,29 @@
checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
[[package]]
+name = "yoke"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca"
+dependencies = [
+ "stable_deref_trait",
+ "yoke-derive",
+ "zerofrom",
+]
+
+[[package]]
+name = "yoke-derive"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "synstructure",
+]
+
+[[package]]
name = "zerocopy"
version = "0.8.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2132,6 +2348,60 @@
]
[[package]]
+name = "zerofrom"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df"
+dependencies = [
+ "zerofrom-derive",
+]
+
+[[package]]
+name = "zerofrom-derive"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "synstructure",
+]
+
+[[package]]
+name = "zerotrie"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf"
+dependencies = [
+ "displaydoc",
+ "yoke",
+ "zerofrom",
+]
+
+[[package]]
+name = "zerovec"
+version = "0.11.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239"
+dependencies = [
+ "yoke",
+ "zerofrom",
+ "zerovec-derive",
+]
+
+[[package]]
+name = "zerovec-derive"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
name = "zmij"
version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
Cargo.tomldiffbeforeafterboth1[workspace]2members = ["crates/*", "bindings/jsonnet", "cmds/*", "tests", "xtask"]3default-members = ["cmds/jrsonnet"]4resolver = "2"56[workspace.package]7authors = ["Yaroslav Bolyukin <iam@lach.pw>"]8edition = "2024"9license = "MIT"10repository = "https://github.com/CertainLach/jrsonnet"11version = "0.5.0-pre98"1213[workspace.dependencies]14jrsonnet-evaluator = { path = "./crates/jrsonnet-evaluator", version = "0.5.0-pre98" }15jrsonnet-macros = { path = "./crates/jrsonnet-macros", version = "0.5.0-pre98" }16jrsonnet-ir = { path = "./crates/jrsonnet-ir", version = "0.5.0-pre98" }17jrsonnet-ir-parser = { path = "./crates/jrsonnet-ir-parser", version = "0.5.0-pre98" }18jrsonnet-peg-parser = { path = "./crates/jrsonnet-peg-parser", version = "0.5.0-pre98" }19jrsonnet-rowan-parser = { path = "./crates/jrsonnet-rowan-parser", version = "0.5.0-pre98" }20jrsonnet-interner = { path = "./crates/jrsonnet-interner", version = "0.5.0-pre98" }21jrsonnet-stdlib = { path = "./crates/jrsonnet-stdlib", version = "0.5.0-pre98" }22jrsonnet-cli = { path = "./crates/jrsonnet-cli", version = "0.5.0-pre98" }23jrsonnet-types = { path = "./crates/jrsonnet-types", version = "0.5.0-pre98" }24jrsonnet-formatter = { path = "./crates/jrsonnet-formatter", version = "0.5.0-pre98" }25jrsonnet-gcmodule = { version = "0.4.5" }26# Diagnostics.27# hi-doc is my library, which handles text formatting very well, but isn't polished enough yet28# Previous implementation was based on annotate-snippets, which I don't like for many reasons.29#30# I'm against using miette, because I want to reuse data between interpreter and annotations, yet miette31# and other libraries want to handle spans etc by itself, which is okay for compiler diagnostics, but is32# bad for interpreter, where interpreter and parser are paired much closer.33hi-doc = "0.3.0"34annotate-snippets = "0.12.11"3536# CLI37clap = "4.5"38clap_complete = "4.5"3940# Parsing, manifestification is implemented manually everywhere41serde = "1.0.228"42serde_json = "1.0.149"43serde-saphyr = { version = "0.0.25", default-features = false, features = [44 "deserialize",45] }4647# Error handling48anyhow = "1.0.101"49thiserror = "2.0.18"5051# Code formatting52dprint-core = "0.67.4"5354# Stdlib hashing functions55md5 = "0.8.0"56sha1 = "0.11.0"57sha2 = "0.11.0"58sha3 = "0.11.0"59hex = "0.4.3"6061# Source code parsing.62# Jrsonnet has two parsers for jsonnet - one is for execution, and another is for better parsing diagnostics/lints/LSP.63# First (and fast one) is based on peg, second is based on rowan.64peg = "0.8.5"65logos = "0.16.1"66ungrammar = "1.16.1"67rowan = "0.16.1"6869mimallocator = "0.1.3"70indoc = "2.0"71tempfile = "3.24"72pathdiff = "0.2.3"73hashbrown = "0.17.0"74static_assertions = "1.1"75rustc-hash = "2.1"76num-bigint = "0.4.6"77strsim = "0.11.1"78proc-macro2 = "1.0"79quote = "1.0"80syn = "2.0"81drop_bomb = "0.1.5"82base64 = "0.22.1"83indexmap = "2.13.0"84itertools = "0.14.0"85xshell = "0.2.7"8687regex = "1.12"88lru = "0.17.0"8990syn-dissect-closure = "0.1.0"9192# Tests/benchmarks93insta = { version = "1.46", features = ["glob"] }94criterion = { version = "0.8" }9596[workspace.lints.rust]97unsafe_op_in_unsafe_fn = "deny"9899# TODO: add docs everywhere100# missing_doc = "warn"101102elided_lifetimes_in_paths = "allow"103explicit_outlives_requirements = "allow"104noop_method_call = "allow"105single_use_lifetimes = "allow"106variant_size_differences = "allow"107macro_expanded_macro_exports_accessed_by_absolute_paths = "allow"108109[workspace.lints.rustdoc]110all = "warn"111112[workspace.lints.clippy]113all = { level = "warn", priority = -1 }114nursery = { level = "warn", priority = -1 }115pedantic = { level = "warn", priority = -1 }116117ptr_arg = "allow"118# Too verbose119must_use_candidate = "allow"120# A lot of functions pass around errors thrown by code121missing_errors_doc = "allow"122# A lot of pointers have interior Rc123needless_pass_by_value = "allow"124# Its fine125wildcard_imports = "allow"126enum_glob_use = "allow"127module_name_repetitions = "allow"128# False positives129# https://github.com/rust-lang/rust-clippy/issues/6902130use_self = "allow"131# https://github.com/rust-lang/rust-clippy/issues/8539132iter_with_drain = "allow"133type_repetition_in_bounds = "allow"134# ci is being run with nightly, but library should work on stable135missing_const_for_fn = "allow"136# too many false-positives with .expect() calls137missing_panics_doc = "allow"138# false positive for IStr type. There is an configuration option for139# such cases, but it doesn't work:140# https://github.com/rust-lang/rust-clippy/issues/9801141mutable_key_type = "allow"142# false positives143redundant_pub_crate = "allow"144# Sometimes code is fancier without that145manual_let_else = "allow"146# Something is broken about that lint, can't be allowed for147# codegenerated-stdlib block148similar_names = "allow"149150#[profile.test]151#opt-level = 1152153[profile.release]154opt-level = 3155lto = "fat"156codegen-units = 1157debug = 0158panic = "abort"159strip = true160161[profile.releasedebug]162inherits = "release"163debug = 2164panic = "unwind"165strip = false1[workspace]2members = [3 "crates/*",4 "bindings/jrsonnet-web",5 "bindings/jsonnet",6 "cmds/*",7 "tests",8 "xtask",9]10default-members = ["cmds/jrsonnet", "cmds/jrsonnet-fmt", "bindings/jsonnet"]11resolver = "2"1213[workspace.package]14authors = ["Yaroslav Bolyukin <iam@lach.pw>"]15edition = "2024"16license = "MIT"17repository = "https://github.com/CertainLach/jrsonnet"18version = "0.5.0-pre98"1920[workspace.dependencies]21jrsonnet-evaluator = { path = "./crates/jrsonnet-evaluator", version = "0.5.0-pre98" }22jrsonnet-macros = { path = "./crates/jrsonnet-macros", version = "0.5.0-pre98" }23jrsonnet-ir = { path = "./crates/jrsonnet-ir", version = "0.5.0-pre98" }24jrsonnet-ir-parser = { path = "./crates/jrsonnet-ir-parser", version = "0.5.0-pre98" }25jrsonnet-peg-parser = { path = "./crates/jrsonnet-peg-parser", version = "0.5.0-pre98" }26jrsonnet-rowan-parser = { path = "./crates/jrsonnet-rowan-parser", version = "0.5.0-pre98" }27jrsonnet-interner = { path = "./crates/jrsonnet-interner", version = "0.5.0-pre98" }28jrsonnet-stdlib = { path = "./crates/jrsonnet-stdlib", version = "0.5.0-pre98" }29jrsonnet-cli = { path = "./crates/jrsonnet-cli", version = "0.5.0-pre98" }30jrsonnet-types = { path = "./crates/jrsonnet-types", version = "0.5.0-pre98" }31jrsonnet-formatter = { path = "./crates/jrsonnet-formatter", version = "0.5.0-pre98" }32jrsonnet-lexer = { path = "./crates/jrsonnet-lexer", version = "0.5.0-pre98" }33jrsonnet-gcmodule = { version = "0.4.5" }34# Diagnostics.35# hi-doc is my library, which handles text formatting very well, but isn't polished enough yet36# Previous implementation was based on annotate-snippets, which I don't like for many reasons.37#38# I'm against using miette, because I want to reuse data between interpreter and annotations, yet miette39# and other libraries want to handle spans etc by itself, which is okay for compiler diagnostics, but is40# bad for interpreter, where interpreter and parser are paired much closer.41hi-doc = { version = "0.3.0", default-features = false }4243# CLI44clap = "4.5"45clap_complete = "4.5"4647# Parsing, manifestification is implemented manually everywhere48serde = "1.0.228"49serde_json = "1.0.149"50serde-saphyr = { version = "0.0.25", default-features = false, features = [51 "deserialize",52] }5354# Error handling55anyhow = "1.0.101"56thiserror = "2.0.18"5758# Code formatting59dprint-core = "0.67.4"6061# Evaluator62stacker = "0.1.23"63smallvec = "1.15.1"64educe = { version = "0.6.0", default-features = false }65url = "2.5.8"66rustversion = "1.0.22"6768# Stdlib hashing functions69md5 = "0.8.0"70sha1 = "0.11.0"71sha2 = "0.11.0"72sha3 = "0.11.0"73hex = "0.4.3"7475# Source code parsing.76# Jrsonnet has two parsers for jsonnet - one is for execution, and another is for better parsing diagnostics/lints/LSP.77# First (and fast one) is based on peg, second is based on rowan.78peg = "0.8.5"79logos = "0.16.1"80ungrammar = "1.16.1"81rowan = "0.16.1"8283mimallocator = "0.1.3"84indoc = "2.0"85tempfile = "3.24"86pathdiff = "0.2.3"87hashbrown = "0.17.0"88static_assertions = "1.1"89rustc-hash = "2.1"90num-bigint = "0.4.6"91strsim = "0.11.1"92proc-macro2 = "1.0"93quote = "1.0"94syn = "2.0"95drop_bomb = "0.1.5"96base64 = "0.22.1"97indexmap = "2.13.0"98itertools = "0.14.0"99xshell = "0.2.7"100101regex = "1.12"102lru = "0.17.0"103104syn-dissect-closure = "0.1.0"105106# Tests/benchmarks107insta = { version = "1.46", features = ["glob"] }108criterion = { version = "0.8" }109strip-ansi-escapes = "0.2.1"110111# Web112wasm-bindgen = "=0.2.106"113wasm-bindgen-futures = "0.4.56"114js-sys = "0.3.83"115console_error_panic_hook = "0.1"116getrandom = "0.3.4"117118[workspace.lints.rust]119unsafe_op_in_unsafe_fn = "deny"120121# TODO: add docs everywhere122# missing_doc = "warn"123124elided_lifetimes_in_paths = "allow"125explicit_outlives_requirements = "allow"126noop_method_call = "allow"127single_use_lifetimes = "allow"128variant_size_differences = "allow"129macro_expanded_macro_exports_accessed_by_absolute_paths = "allow"130131[workspace.lints.rustdoc]132all = "warn"133134[workspace.lints.clippy]135all = { level = "warn", priority = -1 }136nursery = { level = "warn", priority = -1 }137pedantic = { level = "warn", priority = -1 }138139ptr_arg = "allow"140# Too verbose141must_use_candidate = "allow"142# A lot of functions pass around errors thrown by code143missing_errors_doc = "allow"144# A lot of pointers have interior Rc145needless_pass_by_value = "allow"146# Its fine147wildcard_imports = "allow"148enum_glob_use = "allow"149module_name_repetitions = "allow"150# False positives151# https://github.com/rust-lang/rust-clippy/issues/6902152use_self = "allow"153# https://github.com/rust-lang/rust-clippy/issues/8539154iter_with_drain = "allow"155type_repetition_in_bounds = "allow"156# ci is being run with nightly, but library should work on stable157missing_const_for_fn = "allow"158# too many false-positives with .expect() calls159missing_panics_doc = "allow"160# false positive for IStr type. There is an configuration option for161# such cases, but it doesn't work:162# https://github.com/rust-lang/rust-clippy/issues/9801163mutable_key_type = "allow"164# false positives165redundant_pub_crate = "allow"166# Sometimes code is fancier without that167manual_let_else = "allow"168# Something is broken about that lint, can't be allowed for169# codegenerated-stdlib block170similar_names = "allow"171172#[profile.test]173#opt-level = 1174175[patch.crates-io]176jrsonnet-gcmodule = { path = "/home/lach/build/gcmodule" }177178[profile.release]179opt-level = 3180lto = "fat"181codegen-units = 1182debug = 0183panic = "abort"184strip = true185186[profile.releasedebug]187inherits = "release"188debug = 2189panic = "unwind"190strip = falsecmds/jrsonnet/Cargo.tomldiffbeforeafterboth--- a/cmds/jrsonnet/Cargo.toml
+++ b/cmds/jrsonnet/Cargo.toml
@@ -6,6 +6,7 @@
license.workspace = true
repository.workspace = true
version.workspace = true
+default-run = "jrsonnet"
[lints]
workspace = true
crates/jrsonnet-evaluator/Cargo.tomldiffbeforeafterboth--- a/crates/jrsonnet-evaluator/Cargo.toml
+++ b/crates/jrsonnet-evaluator/Cargo.toml
@@ -13,9 +13,9 @@
workspace = true
[features]
-default = ["explaining-traces", "ir-parser"]
+default = ["explaining-traces", "ir-parser", "wasm-bindgen"]
# Rustc-like trace visualization
-explaining-traces = ["annotate-snippets", "hi-doc"]
+explaining-traces = ["hi-doc"]
# Allows library authors to throw custom errors
anyhow-error = ["anyhow"]
# Use hand-written recursive descent parser
@@ -39,6 +39,7 @@
"jrsonnet-peg-parser?/exp-null-coaelse",
"jrsonnet-ir-parser?/exp-null-coaelse",
]
+wasm-bindgen = ["dep:wasm-bindgen"]
[dependencies]
jrsonnet-interner.workspace = true
@@ -61,27 +62,26 @@
serde.workspace = true
anyhow = { workspace = true, optional = true }
-# Explaining traces
-annotate-snippets = { workspace = true, optional = true }
# Better explaining traces
hi-doc = { workspace = true, optional = true }
# Bigint
num-bigint = { workspace = true, features = ["serde"], optional = true }
-stacker = "0.1.23"
-educe = { version = "0.6.0", default-features = false, features = [
+stacker.workspace = true
+educe = { workspace = true, features = [
"Clone",
"Debug",
"Eq",
"Hash",
"PartialEq",
] }
-smallvec = "1.15.1"
+smallvec.workspace = true
drop_bomb.workspace = true
+wasm-bindgen = { workspace = true, optional = true }
[build-dependencies]
-rustversion = "1.0.22"
+rustversion.workspace = true
[dev-dependencies]
insta.workspace = true
-strip-ansi-escapes = "0.2.1"
+strip-ansi-escapes.workspace = true
crates/jrsonnet-formatter/Cargo.tomldiffbeforeafterboth--- a/crates/jrsonnet-formatter/Cargo.toml
+++ b/crates/jrsonnet-formatter/Cargo.toml
@@ -11,7 +11,7 @@
hi-doc.workspace = true
indoc.workspace = true
insta.workspace = true
-jrsonnet-lexer = { version = "0.5.0-pre97", path = "../jrsonnet-lexer" }
+jrsonnet-lexer.workspace = true
jrsonnet-rowan-parser.workspace = true
[lints]
crates/jrsonnet-ir-parser/Cargo.tomldiffbeforeafterboth--- a/crates/jrsonnet-ir-parser/Cargo.toml
+++ b/crates/jrsonnet-ir-parser/Cargo.toml
@@ -15,7 +15,7 @@
insta.workspace = true
jrsonnet-gcmodule.workspace = true
jrsonnet-ir.workspace = true
-jrsonnet-lexer = { version = "0.5.0-pre97", path = "../jrsonnet-lexer" }
+jrsonnet-lexer.workspace = true
[lints]
workspace = true
crates/jrsonnet-ir/Cargo.tomldiffbeforeafterboth--- a/crates/jrsonnet-ir/Cargo.toml
+++ b/crates/jrsonnet-ir/Cargo.toml
@@ -20,6 +20,7 @@
peg.workspace = true
thiserror.workspace = true
+url.workspace = true
[dev-dependencies]
insta.workspace = true
crates/jrsonnet-rowan-parser/Cargo.tomldiffbeforeafterboth--- a/crates/jrsonnet-rowan-parser/Cargo.toml
+++ b/crates/jrsonnet-rowan-parser/Cargo.toml
@@ -14,7 +14,7 @@
drop_bomb.workspace = true
hi-doc.workspace = true
indoc.workspace = true
-jrsonnet-lexer = { version = "0.5.0-pre97", path = "../jrsonnet-lexer" }
+jrsonnet-lexer.workspace = true
rowan.workspace = true
thiserror.workspace = true
@@ -22,4 +22,4 @@
indoc.workspace = true
insta.workspace = true
anyhow.workspace = true
-strip-ansi-escapes = "0.2.1"
+strip-ansi-escapes.workspace = true