solar-cli 0.2.0

Solar compiler CLI definitions, utils, and driver
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.95"
name = "solar-cli"
version = "0.2.0"
authors = ["DaniPopes <57450786+DaniPopes@users.noreply.github.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Solar compiler CLI definitions, utils, and driver"
homepage = "https://github.com/paradigmxyz/solar/tree/main/crates/cli"
readme = "README.md"
keywords = [
    "ethereum",
    "solidity",
    "solc",
    "crypto",
    "compiler",
]
categories = [
    "compilers",
    "cryptography",
    "cryptography::cryptocurrencies",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/paradigmxyz/solar"
resolver = "2"

[features]
asm = [
    "alloy-primitives/asm-keccak",
    "solar-config/asm",
]
default = [
    "mimalloc",
    "tracing",
]
jemalloc = [
    "dep:tikv-jemallocator",
    "solar-config/jemalloc",
]
lsp = [
    "dep:solar-lsp",
    "dep:tokio",
]
mimalloc = [
    "dep:mimalloc",
    "solar-config/mimalloc",
]
nightly = [
    "solar-config/nightly",
    "solar-interface/nightly",
    "solar-lsp?/nightly",
    "solar-sema/nightly",
]
tracing = [
    "dep:tracing-subscriber",
    "solar-config/tracing",
]
tracing-chrome = [
    "tracing",
    "dep:tracing-chrome",
    "solar-config/tracing-chrome",
]
tracing-off = [
    "tracing/release_max_level_off",
    "solar-config/tracing-off",
]
tracing-samply = [
    "tracing",
    "dep:tracing-samply",
    "solar-config/tracing-samply",
]
tracy = [
    "tracing",
    "dep:tracing-tracy",
    "solar-config/tracy",
]
tracy-allocator = [
    "tracing",
    "tracy",
    "solar-config/tracy-allocator",
]

[lib]
name = "solar_cli"
path = "src/lib.rs"

[dependencies.alloy-primitives]
version = "1.3"

[dependencies.cfg-if]
version = "1.0"

[dependencies.clap]
version = "4.4"
features = ["derive"]

[dependencies.indexmap]
version = "2.2"
features = ["serde"]

[dependencies.mimalloc]
version = "0.1"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.solar-codegen]
version = "=0.2.0"
default-features = false

[dependencies.solar-config]
version = "=0.2.0"
features = ["clap"]
default-features = false

[dependencies.solar-data-structures]
version = "=0.2.0"
default-features = false

[dependencies.solar-interface]
version = "=0.2.0"
features = ["json"]
default-features = false

[dependencies.solar-lsp]
version = "=0.2.0"
optional = true
default-features = false

[dependencies.solar-sema]
version = "=0.2.0"
default-features = false

[dependencies.tokio]
version = "1.47"
features = [
    "rt",
    "rt-multi-thread",
]
optional = true
default-features = false

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-chrome]
version = "0.7"
optional = true

[dependencies.tracing-samply]
version = "0.1.5"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "registry",
    "env-filter",
]
optional = true

[dependencies.tracing-tracy]
version = "0.11"
features = ["demangle"]
optional = true

[dev-dependencies.snapbox]
version = "1.2"
features = ["json"]

[target."cfg(unix)".dependencies.libc]
version = "0.2"

[target."cfg(unix)".dependencies.tikv-jemallocator]
version = "0.7"
optional = true

[lints.clippy]
dbg-macro = "warn"
manual-string-new = "warn"
redundant-clone = "warn"
test-attr-in-doctest = "allow"
uninlined-format-args = "warn"
use-self = "warn"

[lints.rust]
redundant-lifetimes = "warn"
rust-2018-idioms = "warn"
unnameable-types = "warn"
unreachable-pub = "warn"
unused-crate-dependencies = "warn"
unused-must-use = "warn"

[lints.rustdoc]
all = "warn"