Skip to content

Commit 486b4aa

Browse files
committed
refactor: cargo manifests
1 parent bbfd65a commit 486b4aa

File tree

5 files changed

+175
-126
lines changed

5 files changed

+175
-126
lines changed

Cargo.toml

Lines changed: 104 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,111 @@
1-
[package]
1+
[workspace]
2+
members = ["site", "tests_ffi", "pad/editor", "parser"]
3+
4+
[workspace.package]
25
categories = ["compilers", "algorithms", "multimedia", "parser-implementations"]
3-
description = "A stack-based array programming language"
4-
documentation = "https://docs.rs/uiua"
56
edition = "2021"
67
keywords = ["uiua", "array", "stack", "language", "apl"]
78
license = "MIT"
8-
name = "uiua"
99
readme = "readme.md"
1010
repository = "https://github.com/uiua-lang/uiua"
1111
rust-version = "1.82.0"
1212
version = "0.17.0-dev.2"
1313

14+
[workspace.lints.clippy]
15+
cargo = {level = "warn", priority = -1}
16+
dbg_macro = "warn"
17+
print_stdout = "warn"
18+
multiple_crate_versions = "allow"
19+
20+
[workspace.dependencies]
21+
base64 = "0.22.0"
22+
bytemuck = "1.17"
23+
colored = "2"
24+
dashmap = {version = "6", features = ["serde"]}
25+
ecow = {version = "0.2.3", features = ["serde"]}
26+
enum-iterator = "2.1.0"
27+
hound = "3.5.1"
28+
js-sys = "0.3.69"
29+
leptos = "0.6.11"
30+
leptos_router = {version = "0.6.11", features = ["csr"]}
31+
leptos_meta = {version = "0.6.11", features = ["csr"]}
32+
once_cell = "1"
33+
rand = {version = "0.8.5", features = ["small_rng"]}
34+
serde = {version = "1", features = ["derive"]}
35+
serde_json = "1.0.115"
36+
unicode-segmentation = "1.10"
37+
urlencoding = "2"
38+
# NOTE: if you change the wasm-bindgen version, remember to change it in nix/site.nix as well
39+
wasm-bindgen = "=0.2.93"
40+
41+
[workspace.dependencies.web-sys]
42+
version = "0.3.70"
43+
features = [
44+
"Clipboard",
45+
"ClipboardEvent",
46+
"CssStyleDeclaration",
47+
"DataTransfer",
48+
"DataTransfer",
49+
"DomRect",
50+
"EventInit",
51+
"File",
52+
"FileList",
53+
"FileReader",
54+
"HtmlAudioElement",
55+
"HtmlBrElement",
56+
"Navigator",
57+
"Node",
58+
"Performance",
59+
"Permissions",
60+
"ResizeObserver",
61+
"ResizeObserverEntry",
62+
"ScrollBehavior",
63+
"ScrollIntoViewOptions",
64+
"ScrollLogicalPosition",
65+
"Selection",
66+
"Storage",
67+
"StorageManager",
68+
]
69+
70+
71+
[package]
72+
description = "A stack-based array programming language"
73+
documentation = "https://docs.rs/uiua"
74+
name = "uiua"
75+
categories.workspace = true
76+
edition.workspace = true
77+
keywords.workspace = true
78+
license.workspace = true
79+
readme.workspace = true
80+
repository.workspace = true
81+
rust-version.workspace = true
82+
version.workspace = true
83+
84+
1485
[dependencies]
1586
# Uiua dependencies
1687
uiua_parser = {path = "parser", version = "0.17.0-dev.2"}
1788

1889
# Core dependencies
1990
bitflags = {version = "2", features = ["serde"]}
20-
bytemuck = {version = "1.17", features = ["must_cast", "derive", "extern_crate_alloc"]}
21-
colored = "2"
91+
bytemuck = {workspace = true, features = [
92+
"must_cast",
93+
"derive",
94+
"extern_crate_alloc",
95+
]}
96+
colored.workspace = true
2297
crossbeam-channel = "0.5.12"
23-
dashmap = {version = "6", features = ["serde"]}
24-
ecow = {version = "0.2.3", features = ["serde"]}
25-
enum-iterator = "2.1.0"
98+
dashmap.workspace = true
99+
ecow.workspace = true
100+
enum-iterator.workspace = true
26101
indexmap = {version = "2", features = ["serde"]}
27102
num_cpus = "1.16.0"
28-
once_cell = "1"
103+
once_cell.workspace = true
29104
open = {version = "5", optional = true}
30105
parking_lot = "0.12.1"
31106
paste = "1.0.14"
32107
pathdiff = "0.2.1"
33-
rand = {version = "0.8.5", features = ["small_rng"]}
108+
rand.workspace = true
34109
rawrrr = {version = "0.2.1", optional = true}
35110
rayon = "1.9.0"
36111
regex = "1.10.3"
@@ -39,15 +114,15 @@ rustls = {version = "0.23.2", optional = true, default-features = false, feature
39114
"tls12",
40115
"ring",
41116
]}
42-
serde = {version = "1", features = ["derive", "rc"]}
43-
serde_json = "1"
117+
serde = {workspace = true, features = ["rc"]}
118+
serde_json.workspace = true
44119
smallvec = {version = "1.9", features = ["serde", "union", "const_new"]}
45120
terminal_size = {version = "0.3.0", optional = true}
46121
thread_local = "1"
47122
threadpool = "1.8.1"
48123
time = {version = "0.3.36", features = ["local-offset"]}
49124
trash = {version = "5.2.2", optional = true}
50-
unicode-segmentation = "1.10"
125+
unicode-segmentation.workspace = true
51126
viuer = {version = "0.9", optional = true}
52127
webpki-roots = {version = "1.0.2", optional = true}
53128

@@ -75,22 +150,32 @@ color_quant = {version = "1.1", optional = true}
75150
cosmic-text = {version = "0.12.1", optional = true}
76151
csv = {version = "1", optional = true}
77152
gif = {version = "0.13.1", optional = true}
78-
hound = {version = "3", optional = true}
79-
image = {version = "0.25", optional = true, default-features = false, features = ["bmp", "gif", "ico", "jpeg", "png", "qoi", "webp"]}
153+
hound = {workspace = true, optional = true}
154+
image = {version = "0.25", optional = true, default-features = false, features = [
155+
"bmp",
156+
"gif",
157+
"ico",
158+
"jpeg",
159+
"png",
160+
"qoi",
161+
"webp",
162+
]}
80163
json5 = {version = "0.4.1", optional = true}
81164
libffi = {version = "4", optional = true}
82165
libloading = {version = "0.8.3", optional = true}
83166
nokhwa = {version = "0.10.7", optional = true, features = ["input-native"]}
84-
num-complex = {version = ">=0.4.1", optional = true, default-features = false, features = ["bytemuck"]}
167+
num-complex = {version = ">=0.4.1", optional = true, default-features = false, features = [
168+
"bytemuck",
169+
]}
85170
png = {version = "0.17.16", optional = true}
86171
rustfft = {version = "6.2.0", optional = true}
87172
rustls-pemfile = {version = "2.1.2", optional = true}
88173
simple_excel_writer = {version = "0.2.0", optional = true}
89174
sys-locale = {version = "0.3.1", optional = true}
90175

91176
# Web-only dependencies
92-
js-sys = {version = "0.3", optional = true}
93-
wasm-bindgen = {version = "0.2.92", optional = true}
177+
js-sys = {workspace = true, optional = true}
178+
wasm-bindgen = {workspace = true, optional = true}
94179
web-sys = {version = "0.3.60", optional = true}
95180

96181
# Window dependencies
@@ -167,14 +252,6 @@ system = ["libffi?/system"]
167252
name = "uiua"
168253
required-features = ["binary"]
169254

170-
[workspace]
171-
members = ["site", "tests_ffi", "pad/editor", "parser"]
172-
173-
[workspace.lints.clippy]
174-
dbg_macro = "warn"
175-
print_stderr = "allow"
176-
print_stdout = "warn"
177-
178255
[lints]
179256
workspace = true
180257

pad/editor/Cargo.toml

Lines changed: 23 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
[package]
2+
description = "Uiua editor"
23
name = "uiua-editor"
34
version = "0.1.0"
4-
edition = "2021"
5+
categories.workspace = true
6+
edition.workspace = true
7+
keywords.workspace = true
8+
license.workspace = true
9+
readme.workspace = true
10+
repository.workspace = true
11+
rust-version.workspace = true
512

613
[lib]
714
crate-type = ["cdylib", "rlib"]
@@ -10,45 +17,21 @@ crate-type = ["cdylib", "rlib"]
1017
workspace = true
1118

1219
[dependencies]
13-
leptos = { version = "0.6.10", features = ["csr"] }
14-
js-sys = "0.3.69"
15-
web-sys = { version = "0.3.70", features = [
16-
"Window",
17-
"CustomElementRegistry",
18-
"CssStyleDeclaration",
19-
"DomRect",
20-
"Storage",
21-
"HtmlAudioElement",
22-
"HtmlBrElement",
23-
"Selection",
24-
"Node",
25-
"Clipboard",
26-
"ClipboardEvent",
27-
"DataTransfer",
28-
"Navigator",
29-
"Permissions",
30-
"ScrollIntoViewOptions",
31-
"ScrollBehavior",
32-
"ScrollLogicalPosition",
33-
"StorageManager",
34-
"FileReader",
35-
"EventInit",
36-
"DataTransfer",
37-
"File",
38-
"FileList",
39-
"ResizeObserver",
40-
"ResizeObserverEntry",
41-
"Performance",
42-
] }
43-
base64 = "0.22.0"
44-
leptos_router = {version = "0.6.11", features = ["csr"]}
45-
leptos-use = "0.12.0"
46-
uiua = {path = "../..", default-features = false, features = ["batteries", "web"]}
20+
base64.workspace = true
21+
hound.workspace = true
22+
js-sys.workspace = true
23+
leptos = {workspace = true, features = ["csr"]}
24+
leptos_router.workspace = true
25+
serde_json.workspace = true
26+
unicode-segmentation.workspace = true
27+
urlencoding.workspace = true
28+
wasm-bindgen.workspace = true
29+
web-sys = {workspace = true, features = ["CustomElementRegistry", "Window"]}
30+
uiua = {path = "../..", default-features = false, features = [
31+
"batteries",
32+
"web",
33+
]}
4734
image = "0.25"
48-
unicode-segmentation = "1.10"
49-
urlencoding = "2"
50-
wasm-bindgen = "0.2.93"
35+
leptos-use = "0.12.0"
5136
wasm-bindgen-futures = "0.4.43"
52-
hound = "3.5.1"
53-
serde_json = "1.0.115"
5437
futures = "0.3.30"

parser/Cargo.toml

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
[package]
2-
categories = ["parser-implementations"]
32
description = "Uiua parser implementation"
43
documentation = "https://docs.rs/uiua_parser"
5-
edition = "2021"
6-
keywords = ["uiua", "array", "stack", "language", "apl"]
7-
license = "MIT"
84
name = "uiua_parser"
9-
repository = "https://github.com/uiua-lang/uiua"
10-
rust-version = "1.82.0"
11-
version = "0.17.0-dev.2"
5+
categories.workspace = true
6+
edition.workspace = true
7+
keywords.workspace = true
8+
license.workspace = true
9+
readme.workspace = true
10+
repository.workspace = true
11+
rust-version.workspace = true
12+
version.workspace = true
1213

1314
[lints]
1415
workspace = true
1516

1617
[dependencies]
17-
bytemuck = {version = "1.17", features = ["must_cast", "derive", "extern_crate_alloc"]}
18-
colored = "2"
19-
dashmap = {version = "6", features = ["serde"]}
20-
ecow = {version = "0.2.3", features = ["serde"]}
21-
enum-iterator = "2.1.0"
22-
once_cell = "1"
23-
serde = {version = "1", features = ["derive", "rc"]}
18+
bytemuck = {workspace = true, features = [
19+
"must_cast",
20+
"derive",
21+
"extern_crate_alloc",
22+
]}
23+
colored.workspace = true
24+
dashmap.workspace = true
25+
ecow.workspace = true
26+
enum-iterator.workspace = true
27+
once_cell.workspace = true
28+
serde = {workspace = true, features = ["rc"]}
29+
unicode-segmentation.workspace = true
2430
serde_tuple = "0.5.0"
25-
unicode-segmentation = "1.10"

site/Cargo.toml

Lines changed: 20 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,35 @@
11
[package]
2-
edition = "2021"
2+
description = "Uiua website"
33
name = "site"
44
version = "0.1.0"
5+
categories.workspace = true
6+
edition.workspace = true
7+
keywords.workspace = true
8+
license.workspace = true
9+
readme.workspace = true
10+
repository.workspace = true
11+
rust-version.workspace = true
512

613
[lints]
714
workspace = true
815

916
[dependencies]
10-
base64 = "0.22.0"
17+
base64.workspace = true
18+
enum-iterator.workspace = true
19+
js-sys.workspace = true
20+
leptos.workspace = true
21+
leptos_meta.workspace = true
22+
leptos_router.workspace = true
23+
rand.workspace = true
24+
serde.workspace = true
25+
serde_json.workspace = true
26+
urlencoding.workspace = true
27+
wasm-bindgen.workspace = true
28+
web-sys = {workspace = true, features = ["HtmlElement"]}
1129
comrak = "0.39.0"
1230
console_error_panic_hook = "0.1.7"
13-
enum-iterator = "2.0.0"
14-
js-sys = "0.3"
15-
leptos = "0.6.11"
16-
leptos_meta = {version = "0.6.11", features = ["csr"]}
17-
leptos_router = {version = "0.6.11", features = ["csr"]}
18-
rand = {version = "0.8.5", features = ["small_rng"]}
19-
serde = {version = "1", features = ["derive"]}
20-
serde_json = "1"
2131
uiua = {path = "..", default-features = false, features = ["batteries", "web"]}
2232
uiua-editor = {path = "../pad/editor"}
23-
urlencoding = "2"
24-
# NOTE: if you change the wasm-bindgen version, remember to change it in nix/site.nix as well
25-
wasm-bindgen = "=0.2.93"
26-
27-
[dependencies.web-sys]
28-
features = [
29-
"CssStyleDeclaration",
30-
"DomRect",
31-
"Storage",
32-
"HtmlAudioElement",
33-
"HtmlBrElement",
34-
"HtmlElement",
35-
"Selection",
36-
"Node",
37-
"Clipboard",
38-
"ClipboardEvent",
39-
"DataTransfer",
40-
"Navigator",
41-
"Permissions",
42-
"ScrollIntoViewOptions",
43-
"ScrollBehavior",
44-
"ScrollLogicalPosition",
45-
"StorageManager",
46-
"FileReader",
47-
"EventInit",
48-
"DataTransfer",
49-
"File",
50-
"FileList",
51-
"ResizeObserver",
52-
"ResizeObserverEntry",
53-
"Performance",
54-
]
55-
version = "0.3.70"
5633

5734
[features]
5835
audio = [] # Dummy for rust-analyzer

0 commit comments

Comments
 (0)