tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 500HTML 238Markdown 7TOML 31445 Sutichaykuna

⎇ a31a40b47e6b0856fe49f59de9110bc7f7102b03 Cargo.toml TOML · 115 siq'ikuna · 3.5 KB Ñawpa willay ch'uya

Prepare for v0.8.3 release (#846) a31a40b47 · Nico Burns ·

1[package]
2name = "taffy"
3version = "0.8.3"
4authors = [
5    "Alice Cecile <alice.i.cecile@gmail.com>",
6    "Johnathan Kelley <jkelleyrtp@gmail.com>",
7    "Nico Burns <nico@nicoburns.com>",
8]
9edition = "2021"
10rust-version = "1.65"
11include = ["src/**/*", "examples/**/*", "Cargo.toml", "README.md"]
12description = "A flexible UI layout library "
13repository = "https://github.com/DioxusLabs/taffy"
14keywords = ["cross-platform", "layout", "flexbox", "css-grid", "grid"]
15categories = ["gui"]
16license = "MIT"
17
18[dependencies]
19arrayvec = { version = "0.7", default-features = false }
20document-features = { version = "0.2.7", optional = true }
21serde = { version = "1.0", default-features = false, optional = true, features = [
22    "serde_derive",
23] }
24slotmap = { version = "1.0.6", default-features = false, optional = true }
25grid = { version = "0.17.0", default-features = false, optional = true }
26
27[package.metadata.docs.rs]
28# To test all the documentation related features, run:
29# RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc -Zunstable-options -Zrustdoc-scrape-examples --all-features --no-deps --open
30
31all-features = true
32# see https://doc.rust-lang.org/nightly/rustdoc/scraped-examples.html
33cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
34rustdoc-args = ["--cfg", "docsrs"]
35
36[features]
37default = [
38    "std",
39    "taffy_tree",
40    "flexbox",
41    "grid",
42    "block_layout",
43    "calc",
44    "content_size",
45    "detailed_layout_info",
46]
47#! ## Feature Flags
48#!
49#! ### Algorithms
50
51## Enables the Block layout algorithm. See [`compute_block_layout`](crate::compute_block_layout).
52block_layout = []
53## Enables the Flexbox layout algorithm. See [`compute_flexbox_layout`](crate::compute_flexbox_layout).
54flexbox = []
55## Enables the CSS Grid layout algorithm. See [`compute_grid_layout`](crate::compute_grid_layout).
56grid = ["alloc", "dep:grid"]
57## Enables calc() values for all layout algorithms
58calc = []
59## Causes all algorithms to compute and output a content size for each node
60content_size = []
61## Causes algorithms to stores detailed information of the nodes in TaffyTree, with only CSS Grid supporting this.
62detailed_layout_info = []
63## Use strict provenance APIs for pointer manipulation. Using this feature requires Rust 1.84 or higher.
64strict_provenance = []
65
66#! ### Taffy Tree
67
68## Enable the built-in Taffy node tree. See [`TaffyTree`](crate::TaffyTree).
69taffy_tree = ["dep:slotmap"]
70
71#! ### Other
72
73## Add [`serde`] derives to Style structs
74serde = ["dep:serde"]
75## Allow Taffy to depend on the [`Rust Standard Library`](std)
76std = ["grid?/std", "serde?/std", "slotmap?/std"]
77## Allow Taffy to depend on the alloc library
78alloc = ["serde?/alloc"]
79## Internal feature for debugging
80debug = ["std"]
81## Internal feature for profiling
82profile = ["std"]
83
84[dev-dependencies]
85serde_json = "1.0.93"
86taffy_test_helpers = { path = "tests/common"}
87
88# Enable default features for tests and examples
89taffy = { path = "." }
90
91[profile.release]
92lto = true
93panic = 'abort'
94
95[[bench]]
96name = "dummy_benchmark"
97path = "benches/dummy_benchmark.rs"
98harness = false
99
100[[example]]
101name = "basic"
102# This causes all the examples to be scraped for documentation, not just the basic example
103doc-scrape-examples = true
104
105[workspace]
106members = [
107    "scripts/gentest",
108    "scripts/format-fixtures",
109    "scripts/import-yoga-tests",
110    "benches",
111    "tests/common",
112]
113# The cosmic_text example is excluded from the workspace as including it breaks compilation
114# of all crates in the workspace with our MSRV compiler
115exclude = ["examples/cosmic_text"]