[package]
name = "pixelsrc"
version = "0.2.0"
edition = "2021"
description = "Pixelsrc - GenAI-native pixel art format and compiler"
license = "MIT"
repository = "https://github.com/scbrown/pixelsrc"
homepage = "https://github.com/scbrown/pixelsrc"
keywords = ["pixel-art", "sprite", "gamedev", "genai", "wasm"]
categories = ["graphics", "game-development", "wasm"]
readme = "README.md"
[lib]
crate-type = ["cdylib", "rlib"]
[[bin]]
name = "pxl"
path = "src/main.rs"
[features]
default = ["lsp"]
lsp = ["tower-lsp", "tokio"]
wasm = ["wasm-bindgen", "console_error_panic_hook"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
image = "0.24"
clap = { version = "4.0", features = ["derive"] }
glob = "0.3"
wasm-bindgen = { version = "0.2", optional = true }
console_error_panic_hook = { version = "0.1", optional = true }
regex = "1.12.2"
notify = "6.1"
atty = "0.2"
lightningcss = { version = "1.0.0-alpha.68", default-features = false, features = ["serde"] }
notify-debouncer-mini = "0.4"
rayon = "1.10"
thiserror = "1.0"
tower-lsp = { version = "0.20", optional = true }
tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "io-std"], optional = true }
[dev-dependencies]
tempfile = "3"
wasm-bindgen-test = "0.3"
serial_test = "3.0"
sha2 = "0.10"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
[[bench]]
name = "critical_paths"
harness = false
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.3", features = ["wasm_js"] }
[profile.release]
lto = true
strip = true
codegen-units = 1
panic = "abort"
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[package.metadata.wasm-pack.profile.dev]
wasm-opt = false
[lints.rust]
unsafe_code = "forbid"
[lints.clippy]
all = { level = "warn", priority = -1 }
todo = "warn"
dbg_macro = "warn"
cloned_ref_to_slice_refs = "allow"
needless_range_loop = "allow"
should_implement_trait = "allow"
too_many_arguments = "allow"
ptr_arg = "allow"
doc_overindented_list_items = "allow"
match_overlapping_arm = "allow"
match_like_matches_macro = "allow"
vec_init_then_push = "allow"
useless_vec = "allow"
derivable_impls = "allow"
unnecessary_unwrap = "allow"
manual_range_contains = "allow"
field_reassign_with_default = "allow"