2023-08-28 14:58:24 -07:00
|
|
|
[package]
|
2023-08-29 12:35:45 -07:00
|
|
|
name = "kcl-lib"
|
2023-11-15 11:41:12 -06:00
|
|
|
description = "KittyCAD Language implementation and tools"
|
2024-10-25 20:06:32 -07:00
|
|
|
version = "0.2.23"
|
2023-08-28 14:58:24 -07:00
|
|
|
edition = "2021"
|
2023-08-29 12:35:45 -07:00
|
|
|
license = "MIT"
|
2023-10-31 18:24:19 -05:00
|
|
|
repository = "https://github.com/KittyCAD/modeling-app"
|
2023-11-09 11:01:52 -06:00
|
|
|
rust-version = "1.73"
|
2023-11-15 11:41:12 -06:00
|
|
|
authors = ["Jess Frazelle", "Adam Chalmers", "KittyCAD, Inc"]
|
|
|
|
|
keywords = ["kcl", "KittyCAD", "CAD"]
|
2023-08-28 14:58:24 -07:00
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
2024-11-07 10:30:05 -06:00
|
|
|
anyhow = { version = "1.0.93", features = ["backtrace"] }
|
2024-04-25 22:02:00 -07:00
|
|
|
async-recursion = "1.1.1"
|
2024-10-02 12:59:26 -07:00
|
|
|
async-trait = "0.1.83"
|
2024-05-01 09:47:32 -07:00
|
|
|
base64 = "0.22.1"
|
2024-04-16 10:54:52 -07:00
|
|
|
chrono = "0.4.38"
|
2024-10-09 09:43:53 -07:00
|
|
|
clap = { version = "4.5.20", default-features = false, optional = true, features = ["std", "derive"] }
|
2024-07-29 13:18:55 -07:00
|
|
|
convert_case = "0.6.0"
|
2024-09-06 10:07:51 -07:00
|
|
|
dashmap = "6.1.0"
|
2024-06-11 07:49:30 -05:00
|
|
|
databake = { version = "0.1.8", features = ["derive"] }
|
2024-09-27 15:44:44 -07:00
|
|
|
derive-docs = { version = "0.1.29", path = "../derive-docs" }
|
2024-04-09 18:05:36 -07:00
|
|
|
form_urlencoded = "1.2.1"
|
2024-10-07 13:49:15 -04:00
|
|
|
futures = { version = "0.3.31" }
|
2024-04-09 18:05:36 -07:00
|
|
|
git_rev = "0.1.0"
|
2024-05-13 16:26:42 -07:00
|
|
|
gltf-json = "1.4.1"
|
2024-08-23 07:50:30 -05:00
|
|
|
http = { workspace = true }
|
2024-10-16 23:35:55 -07:00
|
|
|
image = { version = "0.25.3", default-features = false, features = ["png"] }
|
2024-10-02 12:58:51 -07:00
|
|
|
indexmap = { version = "2.6.0", features = ["serde"] }
|
2024-08-24 17:47:09 -07:00
|
|
|
kittycad = { workspace = true }
|
2024-09-18 17:04:04 -05:00
|
|
|
kittycad-modeling-cmds = { workspace = true }
|
2024-06-23 22:02:53 -07:00
|
|
|
lazy_static = "1.5.0"
|
2024-08-21 12:12:56 -07:00
|
|
|
measurements = "0.11.0"
|
2024-07-01 11:31:43 -07:00
|
|
|
mime_guess = "2.0.5"
|
2024-06-04 17:27:47 -07:00
|
|
|
parse-display = "0.9.1"
|
2024-11-06 11:25:49 -05:00
|
|
|
pyo3 = { version = "0.22.6", optional = true }
|
2024-10-01 11:05:44 -07:00
|
|
|
reqwest = { version = "0.12", default-features = false, features = ["stream", "rustls-tls"] }
|
2024-02-15 13:56:31 -08:00
|
|
|
ropey = "1.6.1"
|
2024-11-07 11:23:41 -05:00
|
|
|
schemars = { version = "0.8.17", features = ["impl_json_schema", "indexmap2", "url", "uuid1", "preserve_order"] }
|
2024-10-29 23:12:44 -04:00
|
|
|
serde = { version = "1.0.214", features = ["derive"] }
|
2024-09-05 12:41:35 -07:00
|
|
|
serde_json = "1.0.128"
|
2024-03-12 23:57:43 -07:00
|
|
|
sha2 = "0.10.8"
|
2024-07-25 18:02:49 -04:00
|
|
|
tabled = { version = "0.15.0", optional = true }
|
2024-11-06 11:36:58 -05:00
|
|
|
thiserror = "2.0.0"
|
2024-07-31 22:18:29 -07:00
|
|
|
toml = "0.8.19"
|
2024-11-07 11:23:41 -05:00
|
|
|
ts-rs = { version = "10.0.0", features = ["uuid-impl", "url-impl", "chrono-impl", "indexmap-impl", "no-serde-warnings", "serde-json-impl"] }
|
2024-11-06 13:05:33 -05:00
|
|
|
url = { version = "2.5.3", features = ["serde"] }
|
2024-08-01 17:53:42 -07:00
|
|
|
urlencoding = "2.1.3"
|
2024-10-16 23:35:47 -07:00
|
|
|
uuid = { version = "1.11.0", features = ["v4", "js", "serde"] }
|
2024-11-06 11:22:21 -05:00
|
|
|
validator = { version = "0.19.0", features = ["derive"] }
|
2024-09-06 09:42:11 -05:00
|
|
|
winnow = "0.6.18"
|
2024-05-28 00:31:28 +00:00
|
|
|
zip = { version = "2.0.0", default-features = false }
|
2023-08-28 14:58:24 -07:00
|
|
|
|
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
2024-10-11 12:09:48 -07:00
|
|
|
js-sys = { version = "0.3.72" }
|
2024-09-02 11:45:58 -07:00
|
|
|
tokio = { version = "1.40.0", features = ["sync", "time"] }
|
2023-09-05 16:02:27 -07:00
|
|
|
tower-lsp = { version = "0.20.0", default-features = false, features = ["runtime-agnostic"] }
|
2024-02-11 11:10:52 -08:00
|
|
|
wasm-bindgen = "0.2.91"
|
2024-10-10 10:04:13 -07:00
|
|
|
wasm-bindgen-futures = "0.4.44"
|
2024-10-16 10:12:37 -07:00
|
|
|
web-sys = { version = "0.3.72", features = ["console"] }
|
2023-08-28 14:58:24 -07:00
|
|
|
|
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
2024-02-11 12:59:00 +11:00
|
|
|
approx = "0.5"
|
2024-09-20 10:21:11 -07:00
|
|
|
bson = { version = "2.13.0", features = ["uuid-1", "chrono"] }
|
2024-08-19 12:26:03 -07:00
|
|
|
tokio = { version = "1.39.3", features = ["full"] }
|
2024-09-16 11:31:55 -07:00
|
|
|
tokio-tungstenite = { version = "0.24.0", features = ["rustls-tls-native-roots"] }
|
2023-09-05 16:02:27 -07:00
|
|
|
tower-lsp = { version = "0.20.0", features = ["proposed"] }
|
2023-08-28 14:58:24 -07:00
|
|
|
|
2023-08-31 22:19:23 -07:00
|
|
|
[features]
|
2024-08-24 17:47:09 -07:00
|
|
|
default = ["engine"]
|
2023-09-18 20:38:40 -06:00
|
|
|
cli = ["dep:clap"]
|
2024-06-19 19:38:56 -07:00
|
|
|
# For the lsp server, when run with stdout for rpc we want to disable println.
|
|
|
|
|
# This is used for editor extensions that use the lsp server.
|
|
|
|
|
disable-println = []
|
2023-08-31 22:19:23 -07:00
|
|
|
engine = []
|
2024-06-19 17:32:08 -07:00
|
|
|
pyo3 = ["dep:pyo3"]
|
2024-06-27 15:43:49 -07:00
|
|
|
# Helper functions also used in benchmarks.
|
|
|
|
|
lsp-test-util = []
|
2024-07-25 18:02:49 -04:00
|
|
|
tabled = ["dep:tabled"]
|
|
|
|
|
|
2023-08-28 14:58:24 -07:00
|
|
|
[dev-dependencies]
|
2024-05-01 09:47:32 -07:00
|
|
|
base64 = "0.22.1"
|
2024-06-27 15:43:49 -07:00
|
|
|
criterion = { version = "0.5.1", features = ["async_tokio"] }
|
2023-09-27 08:39:16 -07:00
|
|
|
expectorate = "1.1.0"
|
2024-10-29 23:01:31 -04:00
|
|
|
handlebars = "6.2.0"
|
2024-04-04 09:50:34 -05:00
|
|
|
iai = "0.1"
|
2024-10-16 23:35:55 -07:00
|
|
|
image = { version = "0.25.3", default-features = false, features = ["png"] }
|
2024-11-06 11:25:24 -05:00
|
|
|
insta = { version = "1.41.1", features = ["json", "filters"] }
|
2024-05-17 09:09:23 -07:00
|
|
|
itertools = "0.13.0"
|
2024-09-16 11:34:22 -07:00
|
|
|
pretty_assertions = "1.4.1"
|
2024-09-02 11:45:58 -07:00
|
|
|
tokio = { version = "1.40.0", features = ["rt-multi-thread", "macros", "time"] }
|
2024-06-04 17:09:01 -05:00
|
|
|
twenty-twenty = "0.8.0"
|
2023-09-20 13:15:28 -05:00
|
|
|
|
|
|
|
|
[[bench]]
|
2024-04-04 09:50:34 -05:00
|
|
|
name = "compiler_benchmark_criterion"
|
|
|
|
|
harness = false
|
|
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
|
name = "compiler_benchmark_iai"
|
2023-09-20 13:15:28 -05:00
|
|
|
harness = false
|
2024-06-27 15:43:49 -07:00
|
|
|
|
2024-07-15 13:45:55 -04:00
|
|
|
[[bench]]
|
|
|
|
|
name = "digest_benchmark"
|
|
|
|
|
harness = false
|
|
|
|
|
|
2024-06-27 15:43:49 -07:00
|
|
|
[[bench]]
|
|
|
|
|
name = "lsp_semantic_tokens_benchmark_criterion"
|
|
|
|
|
harness = false
|
|
|
|
|
required-features = ["lsp-test-util"]
|
|
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
|
name = "lsp_semantic_tokens_benchmark_iai"
|
|
|
|
|
harness = false
|
|
|
|
|
required-features = ["lsp-test-util"]
|
2024-08-13 22:45:42 -07:00
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
|
name = "executor_benchmark_criterion"
|
|
|
|
|
harness = false
|
|
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
|
name = "executor_benchmark_iai"
|
|
|
|
|
harness = false
|