mirror of
https://github.com/diodeinc/pcb.git
synced 2026-09-14 20:17:19 +08:00
206 lines
7.4 KiB
TOML
206 lines
7.4 KiB
TOML
[workspace]
|
|
members = ["crates/*"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "0.4.50"
|
|
edition = "2024"
|
|
repository = "https://github.com/diodeinc/pcb"
|
|
homepage = "https://github.com/diodeinc/pcb"
|
|
authors = ["Diode Computers, Inc. <founders@diode.computer>"]
|
|
|
|
[workspace.dependencies]
|
|
glam = "0.33.6"
|
|
starlark = { git = "https://github.com/diodeinc/starlark-rust", rev = "c3d776bcd0bf074b00fc059d7700b82ab8dcc010", default-features = false }
|
|
starlark_map = { git = "https://github.com/diodeinc/starlark-rust", rev = "c3d776bcd0bf074b00fc059d7700b82ab8dcc010", default-features = false }
|
|
starlark_syntax = { git = "https://github.com/diodeinc/starlark-rust", rev = "c3d776bcd0bf074b00fc059d7700b82ab8dcc010", default-features = false }
|
|
allocative = { git = "https://github.com/diodeinc/starlark-rust", rev = "c3d776bcd0bf074b00fc059d7700b82ab8dcc010", default-features = false }
|
|
pagable = { git = "https://github.com/diodeinc/starlark-rust", rev = "c3d776bcd0bf074b00fc059d7700b82ab8dcc010", default-features = false }
|
|
|
|
ruff_python_formatter = { git = "https://github.com/astral-sh/ruff", tag = "0.16.5" }
|
|
ruff_formatter = { git = "https://github.com/astral-sh/ruff", tag = "0.16.5" }
|
|
|
|
mimalloc = "0.1"
|
|
|
|
similar = "3.2"
|
|
|
|
ipc2581 = { path = "crates/ipc2581", version = "0.3.3" }
|
|
pcb-intern = { path = "crates/pcb-intern", version = "0.1.0" }
|
|
gerberx2 = { path = "crates/gerberx2", version = "0.1.2" }
|
|
pcb-ir = { path = "crates/pcb-ir", version = "0.3.82" }
|
|
pcb-command-runner = { path = "crates/pcb-command-runner" }
|
|
pcb-eda = { path = "crates/pcb-eda" }
|
|
pcb-component-gen = { path = "crates/pcb-component-gen" }
|
|
pcb-layout = { path = "crates/pcb-layout" }
|
|
pcb-sch = { path = "crates/pcb-sch" }
|
|
pcb-canonical = { path = "crates/pcb-canonical" }
|
|
pcb-zen = { path = "crates/pcb-zen" }
|
|
pcb-zen-core = { path = "crates/pcb-zen-core" }
|
|
pcb-ui = { path = "crates/pcb-ui" }
|
|
pcb-kicad = { path = "crates/pcb-kicad" }
|
|
pcb-kicad-sch = { path = "crates/pcb-kicad-sch" }
|
|
pcb-sexpr = { path = "crates/pcb-sexpr", features = ["serde"] }
|
|
pcb-starlark-lsp = { path = "crates/pcb-starlark-lsp" }
|
|
pcb-fmt = { path = "crates/pcb-fmt" }
|
|
pcb-test-utils = { path = "crates/pcb-test-utils" }
|
|
pcb-sim = { path = "crates/pcb-sim" }
|
|
pcb-diode-api = { path = "crates/pcb-diode-api" }
|
|
pcb-diode-uri = { path = "crates/pcb-diode-uri" }
|
|
pcb-native-dialog = { path = "crates/pcb-native-dialog" }
|
|
pcb-ipc2581-tools = { path = "crates/pcb-ipc2581-tools", default-features = false }
|
|
pcb-docgen = { path = "crates/pcb-docgen" }
|
|
|
|
anyhow = "1.0"
|
|
anstream = "1.0"
|
|
atomicwrites = "0.4"
|
|
arboard = { version = "3.6", default-features = false }
|
|
ariadne = { version = "0.6", features = ["auto-color"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
clap = { version = "4.6.6", features = ["derive", "wrap_help"] }
|
|
colored = "3"
|
|
derive_more = { version = "2.1.1", features = ["full"] }
|
|
dirs = "6"
|
|
dupe = { git = "https://github.com/diodeinc/starlark-rust", rev = "c3d776bcd0bf074b00fc059d7700b82ab8dcc010" }
|
|
duct = "1.1.1"
|
|
env_logger = "0.11"
|
|
indicatif = "0.18"
|
|
inquire = "0.9"
|
|
itertools = "0.15"
|
|
heck = "0.5.0"
|
|
hex = "0.4"
|
|
httpmock = "0.8"
|
|
libm = { version = "0.2.16", default-features = false }
|
|
log = "0.4.34"
|
|
minijinja = "2.24"
|
|
notify = "8.2"
|
|
open = "5.4.2"
|
|
path-slash = "0.2.1"
|
|
termtree = "1"
|
|
regex = "1.12.4"
|
|
natord = "1.0.9"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
tempfile = "3.27.0"
|
|
thiserror = "2.0.20"
|
|
tiny_http = "0.12.0"
|
|
toml = "1"
|
|
toml_edit = "0.25"
|
|
uuid = { version = "1.26", features = ["v4", "v5", "js"] }
|
|
walkdir = "2.5"
|
|
deunicode = "1.6"
|
|
insta = { version = "1.48", features = ["yaml", "filters", "json"] }
|
|
assert_cmd = "2.2"
|
|
assert_fs = "1.1"
|
|
base64 = "0.23.1"
|
|
console_error_panic_hook = "0.1"
|
|
console_log = "1.0.0"
|
|
crossterm = "0.29"
|
|
ctrlc = { version = "3.5", features = ["termination"] }
|
|
ratatui = "0.30"
|
|
ratatui-image = { version = "11.0", default-features = false, features = ["crossterm"] }
|
|
|
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp"] }
|
|
csv = "1.4"
|
|
derivative = "2.2"
|
|
fixedbitset = "0.5"
|
|
# Enable the JS backend for boostvoronoi -> cpp_map -> rand 0.9, which uses
|
|
# getrandom 0.3. Moving this to 0.4 would leave that WASM dependency unconfigured.
|
|
getrandom = { version = "0.3.4", features = ["wasm_js"] }
|
|
globset = "0.4.20"
|
|
lsp-server = "0.10.0"
|
|
lsp-types = "0.97.0"
|
|
maplit = "1.0.2"
|
|
md-5 = "0.11"
|
|
os_pipe = "1.2.3"
|
|
paste = "1.0"
|
|
pathdiff = "0.2"
|
|
percent-encoding = "2.3"
|
|
petgraph = "0.8"
|
|
rayon = "1.12"
|
|
reqwest = { version = "0.13", default-features = false, features = ["blocking", "http2", "json", "multipart", "rustls", "system-proxy"] }
|
|
ureq = { version = "3.4", default-features = false, features = ["rustls"] }
|
|
rand = "0.10"
|
|
js-sys = "0.3"
|
|
serde-wasm-bindgen = "0.6"
|
|
serde-value = "0.7"
|
|
self-replace = "1.5"
|
|
serial_test = "4.0"
|
|
smallvec = "1.15"
|
|
strip-ansi-escapes = "0.2"
|
|
supports-hyperlinks = "3"
|
|
tar = { version = "0.4", default-features = false }
|
|
ruzstd = "0.9"
|
|
terminal_size = "0.4.4"
|
|
terminal_hyperlink = "0.1"
|
|
uppsala = "0.9.0"
|
|
termimad = "0.35.2"
|
|
# regex-fancy (pure Rust, and fancy-regex is already in the tree via pagable)
|
|
# rather than regex-onig, which compiles Oniguruma from C via onig_sys.
|
|
syntect = { version = "5", default-features = false, features = ["default-syntaxes", "default-themes", "regex-fancy"] }
|
|
textwrap = "0.16"
|
|
unicode-width = "0.2.2"
|
|
urlencoding = "2.1"
|
|
wasm-bindgen = "0.2.127"
|
|
zip = { version = "8", default-features = false, features = ["deflate"] }
|
|
fslock = "0.2"
|
|
rust_decimal = { version = "1.42", features = ["serde", "serde-with-str"] }
|
|
rust_decimal_macros = "1.40"
|
|
comfy-table = { version = "8", features = ["custom_styling"] }
|
|
url = "2.5"
|
|
ignore = "0.4.33"
|
|
i_overlay = "8.1"
|
|
boostvoronoi = "0.12.1"
|
|
sha2 = "0.11"
|
|
semver = { version = "1.0", features = ["serde"] }
|
|
kurbo = "0.13"
|
|
resvg = { version = "0.48", default-features = false }
|
|
zstd = "0.13"
|
|
jiff = "0.2"
|
|
# The Starlark fork requires exactly 1.8.2 for its hashing integration.
|
|
blake3 = "1.8"
|
|
rusqlite = { version = "0.40.2", features = ["bundled"] }
|
|
r2d2 = "0.8"
|
|
r2d2_sqlite = "0.35"
|
|
unicode-normalization = "0.1"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
|
|
tracing-chrome = "0.7"
|
|
|
|
# rectify: STEP tessellation (foxtrot), raster grids, and FFT numerics
|
|
triangulate = { git = "https://github.com/diodeinc/foxtrot.git", rev = "5e5aa2fb924e4e595b116e4867ad09be5f58e76a" }
|
|
ndarray = "0.17"
|
|
rustfft = "6.4"
|
|
num-complex = "0.4"
|
|
|
|
# The profile that release CI uses for published binaries.
|
|
# The geometry stack burns most of the test suite's wall clock in pcb-ir's
|
|
# solver loops and the polygon-boolean crates under them. Optimizing these
|
|
# packages in dev keeps everything else debuggable while the tests that
|
|
# exercise panel geometry run several times faster.
|
|
[profile.dev.package.pcb-ir]
|
|
opt-level = 2
|
|
[profile.dev.package.i_overlay]
|
|
opt-level = 2
|
|
[profile.dev.package.i_float]
|
|
opt-level = 2
|
|
[profile.dev.package.i_shape]
|
|
opt-level = 2
|
|
[profile.dev.package.i_tree]
|
|
opt-level = 2
|
|
[profile.dev.package.i_key_sort]
|
|
opt-level = 2
|
|
[profile.dev.package.ipc2581]
|
|
opt-level = 2
|
|
|
|
# Test binaries are short-lived and do not need the full debug information that
|
|
# made this workspace's integration-test artifacts hundreds of megabytes each.
|
|
[profile.test]
|
|
debug = 0
|
|
|
|
[profile.dist]
|
|
inherits = "release"
|
|
lto = "fat" # Maximum link-time optimization
|
|
codegen-units = 1 # Better optimization
|
|
strip = "symbols" # Strip symbols from published binaries
|
|
panic = "abort" # Published binaries should not carry unwinding machinery.
|