mirror of
https://github.com/leptos-rs/leptos.git
synced 2025-12-27 09:54:41 -05:00
* fix(CI): pre-install tailwind and sass * chore: retrigger CI * fix(CI): properly set `erased_mode` in examples * fix(CI): workflow logic install deps locally * chore(CI): organized tailwind and sass versions * fix: properly ignore nightly features on stable rustc * fix(CI): typo * fix: missing cfg attr * fix: properly gate nightly module in `reactive_graph`` * fix: complete `rustc_nightly` cfg gate * fix(CI): making even more space for CI workers * fix: missing one more rustc_nightly gated feature * fix: maximize the speed of cargo-all-features by limiting combinations to 2
176 lines
4.2 KiB
TOML
176 lines
4.2 KiB
TOML
[package]
|
|
name = "leptos"
|
|
version = { workspace = true }
|
|
authors = ["Greg Johnston"]
|
|
license = "MIT"
|
|
repository = "https://github.com/leptos-rs/leptos"
|
|
description = "Leptos is a full-stack, isomorphic Rust web framework leveraging fine-grained reactivity to build declarative user interfaces."
|
|
readme = "../README.md"
|
|
rust-version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
throw_error = { workspace = true }
|
|
any_spawner = { workspace = true, features = [
|
|
"wasm-bindgen",
|
|
"futures-executor",
|
|
] }
|
|
base64 = { version = "0.22.1", optional = true }
|
|
cfg-if = "1.0"
|
|
hydration_context = { workspace = true }
|
|
either_of = { workspace = true }
|
|
leptos_dom = { workspace = true }
|
|
leptos_hot_reload = { workspace = true }
|
|
leptos_macro = { workspace = true }
|
|
leptos_server = { workspace = true, features = ["tachys"] }
|
|
leptos_config = { workspace = true }
|
|
leptos-spin-macro = { version = "0.2.0", optional = true }
|
|
oco_ref = { workspace = true }
|
|
or_poisoned = { workspace = true }
|
|
paste = "1.0"
|
|
rand = { version = "0.8.5", optional = true }
|
|
reactive_graph = { workspace = true, features = ["serde"] }
|
|
rustc-hash = "2.0"
|
|
tachys = { workspace = true, features = [
|
|
"reactive_graph",
|
|
"reactive_stores",
|
|
"oco",
|
|
] }
|
|
thiserror = "2.0"
|
|
tracing = { version = "0.1.41", optional = true }
|
|
typed-builder = "0.20.0"
|
|
typed-builder-macro = "0.20.0"
|
|
serde = "1.0"
|
|
serde_json = { version = "1.0", optional = true }
|
|
server_fn = { workspace = true, features = ["form-redirects", "browser"] }
|
|
web-sys = { version = "0.3.72", features = [
|
|
"ShadowRoot",
|
|
"ShadowRootInit",
|
|
"ShadowRootMode",
|
|
] }
|
|
wasm-bindgen = { workspace = true }
|
|
serde_qs = "0.13.0"
|
|
slotmap = "1.0"
|
|
futures = "0.3.31"
|
|
send_wrapper = "0.6.0"
|
|
|
|
[features]
|
|
hydration = [
|
|
"reactive_graph/hydration",
|
|
"leptos_server/hydration",
|
|
"hydration_context/browser",
|
|
"leptos_dom/hydration",
|
|
]
|
|
csr = ["leptos_macro/csr", "reactive_graph/effects"]
|
|
hydrate = [
|
|
"leptos_macro/hydrate",
|
|
"hydration",
|
|
"tachys/hydrate",
|
|
"reactive_graph/effects",
|
|
]
|
|
default-tls = ["server_fn/default-tls"]
|
|
rustls = ["server_fn/rustls"]
|
|
ssr = [
|
|
"leptos_macro/ssr",
|
|
"leptos_server/ssr",
|
|
"server_fn/ssr",
|
|
"hydration",
|
|
"tachys/ssr",
|
|
]
|
|
nightly = ["leptos_macro/nightly", "reactive_graph/nightly", "tachys/nightly"]
|
|
rkyv = ["server_fn/rkyv", "leptos_server/rkyv"]
|
|
tracing = [
|
|
"dep:tracing",
|
|
"reactive_graph/tracing",
|
|
"tachys/tracing",
|
|
"leptos_macro/tracing",
|
|
"leptos_dom/tracing",
|
|
"leptos_server/tracing",
|
|
]
|
|
nonce = ["base64", "rand"]
|
|
spin = ["leptos-spin-macro"]
|
|
islands = ["leptos_macro/islands", "dep:serde_json"]
|
|
trace-component-props = [
|
|
"leptos_macro/trace-component-props",
|
|
"leptos_dom/trace-component-props",
|
|
]
|
|
delegation = ["tachys/delegation"]
|
|
|
|
[build-dependencies]
|
|
rustc_version = "0.4.1"
|
|
|
|
# Having an erasure feature rather than normal --cfg erase_components for the proc macro crate is a workaround for this rust issue:
|
|
# https://github.com/rust-lang/cargo/issues/4423
|
|
# TLDR proc macros will ignore RUSTFLAGS when --target is specified on the cargo command.
|
|
# This works around the issue by the non proc-macro crate which does see RUSTFLAGS enabling the replacement feature on the proc-macro crate, which wouldn't.
|
|
# This is automatic as long as the leptos crate is depended upon,
|
|
# downstream usage should never manually enable this feature.
|
|
[target.'cfg(erase_components)'.dependencies]
|
|
leptos_macro = { workspace = true, features = ["__internal_erase_components"] }
|
|
|
|
[package.metadata.cargo-all-features]
|
|
denylist = [
|
|
"nightly",
|
|
"tracing",
|
|
"template_macro",
|
|
"rustls",
|
|
"default-tls",
|
|
"wasm-bindgen",
|
|
"rkyv", # was causing clippy issues on nightly
|
|
"trace-component-props",
|
|
"spin",
|
|
"islands",
|
|
]
|
|
skip_feature_sets = [
|
|
[
|
|
"csr",
|
|
"ssr",
|
|
],
|
|
[
|
|
"csr",
|
|
"hydrate",
|
|
],
|
|
[
|
|
"ssr",
|
|
"hydrate",
|
|
],
|
|
[
|
|
"serde",
|
|
"serde-lite",
|
|
],
|
|
[
|
|
"serde-lite",
|
|
"miniserde",
|
|
],
|
|
[
|
|
"serde",
|
|
"miniserde",
|
|
],
|
|
[
|
|
"serde",
|
|
"rkyv",
|
|
],
|
|
[
|
|
"miniserde",
|
|
"rkyv",
|
|
],
|
|
[
|
|
"serde-lite",
|
|
"rkyv",
|
|
],
|
|
[
|
|
"default-tls",
|
|
"rustls",
|
|
],
|
|
]
|
|
max_combination_size = 2
|
|
|
|
[package.metadata.docs.rs]
|
|
rustdoc-args = ["--generate-link-to-definition"]
|
|
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = [
|
|
'cfg(leptos_debuginfo)',
|
|
'cfg(rustc_nightly)',
|
|
] }
|