-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
executable file
·126 lines (109 loc) · 3.18 KB
/
Cargo.toml
File metadata and controls
executable file
·126 lines (109 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[workspace]
resolver = "2"
members = [
"crates/dampen-core",
"crates/dampen-macros",
"crates/dampen-iced",
"crates/dampen-dev",
"crates/dampen-cli",
"crates/dampen-lsp",
"crates/dampen-visual-tests",
"examples/hello-world",
"examples/counter",
"examples/todo-app",
"examples/styling",
"examples/theming",
"examples/widget-showcase",
"examples/macro-shared-state",
"benchmarks",
"tests/hot-reload-integration",
"tests/integration",
"tests/contract",
]
[workspace.package]
version = "0.3.2"
edition = "2024"
rust-version = "1.88"
authors = ["Mattdef <mattdef@gmail.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/mattdef/dampen"
documentation = "https://docs.rs/dampen-cli"
readme = "README.md"
keywords = ["ui", "iced", "declarative", "gui", "framework"]
categories = ["gui", "development-tools"]
publish = true
[workspace.dependencies]
# Dampen crates
dampen-core = { path = "./crates/dampen-core", version = "0.3.2" }
dampen-macros = { path = "./crates/dampen-macros", version = "0.3.2" }
dampen-iced = { path = "./crates/dampen-iced", version = "0.3.2" }
dampen-dev = { path = "./crates/dampen-dev", version = "0.3.2" }
dampen-cli = { path = "./crates/dampen-cli", version = "0.3.2" }
# Core dependencies
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Async runtime
tokio = { version = "1.0", features = ["fs"] }
# Utilities
uuid = { version = "1.0", features = ["v4"] }
directories = "5.0"
# Parser
roxmltree = "0.21"
nom = "7.1"
csscolorparser = "0.6"
# Macros
syn = { version = "2.0", features = ["full", "extra-traits"] }
quote = "1.0"
proc-macro2 = "1.0"
# CLI
clap = { version = "4.0", features = ["derive"] }
# UI Backend
iced = { version = "0.14", features = ["tokio", "canvas", "image", "svg", "advanced"] }
# Error handling
thiserror = "1.0"
# Testing
proptest = "1.0"
insta = "1.0"
tempfile = "3.0"
# Benchmarking
criterion = { version = "0.5", features = ["html_reports"] }
[workspace.lints.rust]
unused = "warn"
unused_imports = "warn"
unused_variables = "warn"
dead_code = "warn"
unused_mut = "warn"
[workspace.lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
todo = "warn"
dbg_macro = "warn"
print_stdout = "warn"
print_stderr = "warn"
# Profile configurations for dual-mode architecture
# Note: Cargo does not support 'features = [...]' syntax in profile sections.
# Applications should set 'default = ["interpreted"]' in their [features] section
# and use '--features codegen --no-default-features' for production builds.
# See examples/counter/Cargo.toml for reference implementation.
[profile.dev]
# Development profile: Optimized for fast compilation and hot-reload
# Recommended: Use with --features interpreted (or set as package default)
opt-level = 0
debug = true
split-debuginfo = "unpacked"
debug-assertions = true
overflow-checks = true
incremental = true
codegen-units = 256
[profile.release]
# Release profile: Optimized for runtime performance with codegen
# Recommended: Use with --features codegen --no-default-features
opt-level = 3
debug = false
debug-assertions = false
overflow-checks = false
lto = "thin"
incremental = false
codegen-units = 16
strip = "debuginfo"