git.delta.rocks / jrsonnet / refs/commits / f78972ccc432

difftreelog

source

Cargo.toml5.3 KiBsourcehistory
1[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.5.0" }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.26", 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.18.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"110nix = { version = "0.31", features = ["process"] }111112# Web113wasm-bindgen = "=0.2.106"114wasm-bindgen-futures = "0.4.56"115js-sys = "0.3.83"116console_error_panic_hook = "0.1"117getrandom = "0.3.4"118119[workspace.lints.rust]120unsafe_op_in_unsafe_fn = "deny"121122# TODO: add docs everywhere123# missing_doc = "warn"124125elided_lifetimes_in_paths = "allow"126explicit_outlives_requirements = "allow"127noop_method_call = "allow"128single_use_lifetimes = "allow"129variant_size_differences = "allow"130macro_expanded_macro_exports_accessed_by_absolute_paths = "allow"131132[workspace.lints.rustdoc]133all = "warn"134135[workspace.lints.clippy]136all = { level = "warn", priority = -1 }137nursery = { level = "warn", priority = -1 }138pedantic = { level = "warn", priority = -1 }139140ptr_arg = "allow"141# Too verbose142must_use_candidate = "allow"143# A lot of functions pass around errors thrown by code144missing_errors_doc = "allow"145# A lot of pointers have interior Rc146needless_pass_by_value = "allow"147# Its fine148wildcard_imports = "allow"149enum_glob_use = "allow"150module_name_repetitions = "allow"151# False positives152# https://github.com/rust-lang/rust-clippy/issues/6902153use_self = "allow"154# https://github.com/rust-lang/rust-clippy/issues/8539155iter_with_drain = "allow"156type_repetition_in_bounds = "allow"157# ci is being run with nightly, but library should work on stable158missing_const_for_fn = "allow"159# too many false-positives with .expect() calls160missing_panics_doc = "allow"161# false positive for IStr type. There is an configuration option for162# such cases, but it doesn't work:163# https://github.com/rust-lang/rust-clippy/issues/9801164mutable_key_type = "allow"165# false positives166redundant_pub_crate = "allow"167# Sometimes code is fancier without that168manual_let_else = "allow"169# Something is broken about that lint, can't be allowed for170# codegenerated-stdlib block171similar_names = "allow"172173[profile.release]174opt-level = 3175lto = "fat"176codegen-units = 1177debug = 0178panic = "abort"179strip = true180181[profile.releasedebug]182inherits = "release"183debug = 2184panic = "unwind"185strip = false