[package]
name = "ayaan"
version = "1.47.0"
edition = "2021"
license = "MIT"
description = "AyaanScript+ runtime and ASPKG package manager. A small scripting language with classes, inheritance, FFI, and a built-in webserver."
authors = ["Ayaan"]
repository = "https://github.com/ayaan511/AyaanScriptPlus"
keywords = ["script", "language", "interpreter", "oop", "ayaan"]
categories = ["command-line-utilities"]

[[bin]]
name = "ayaan"
path = "ayaan.rs"

[[bin]]
name = "aspkg"
path = "aspkg.rs"

# Fast-install release profile.
# opt-level = 1 cuts compile + LLVM time roughly in half vs opt-level = 3,
# at the cost of ~15-25% slower runtime — totally fine for an interpreter
# whose hot loop is already dominated by HashMap lookups, not codegen.
# 256 codegen units parallelizes the backend across all CPU cores.
# strip = "debuginfo" produces a much smaller binary that links faster
# and gets scanned by AV in a fraction of the time on Windows.
[profile.release]
opt-level = 1
codegen-units = 256
lto = false
strip = "debuginfo"
incremental = false
debug = false
panic = "unwind"

[dependencies]
# reqwest with rustls (pure Rust TLS) instead of the default native-tls,
# which pulls openssl-sys (heavy C dependency, slow to compile).
reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "rustls-tls"] }
rand = "0.8"
fasteval = "0.2"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
libloading = "0.8"
console = "0.15"
rustyline = "13"
regex = "1"
md5 = "0.7"
sha2 = "0.10"
base64 = "0.21"
chrono = "0.4"
rusqlite = { version = "0.31", features = ["bundled"] }
notify = "6"
tungstenite = "0.21"
minifb = "0.27"
glow = "0.13"
glutin = "0.31"
glutin-winit = "0.4"
winit = "0.29"
raw-window-handle = "0.5"
png = "0.17"
