[package]
name = "lsport"
version = "0.3.6"
edition = "2021"
rust-version = "1.88.0"
description = "A TUI for managing local and remote ports via SSH"
authors = ["lsport Contributors"]
license = "MIT"
repository = "https://github.com/subediparas5/lsport"
homepage = "https://github.com/subediparas5/lsport"
documentation = "https://github.com/subediparas5/lsport#readme"
readme = "README.md"
keywords = ["cli", "tui", "port", "process", "network"]
categories = ["command-line-utilities", "development-tools", "network-programming"]
exclude = [
    ".github/",
    ".pre-commit-config.yaml",
    "scripts/",
    "tests/",
    "*.md",
    "!README.md",
    "vendor/",
    ".cargo/",
]

[[bin]]
name = "lsport"
path = "src/main.rs"

[dependencies]
# TUI Framework
ratatui = "0.30"
crossterm = "0.28"

# System Information
sysinfo = "0.31"

# Port to PID mapping
listeners = "0.3"

# Error handling
anyhow = "1.0"

# Regex for filtering
regex = "1.10"

# SSH for remote monitoring
ssh2 = "0.9"

# Vendored OpenSSL for cross-compilation (used by ssh2)
openssl = { version = "0.10", features = ["vendored"] }

# CLI argument parsing
clap = { version = "4.4", features = ["derive"] }

# Home directory detection
dirs-next = "2.0"

[dev-dependencies]
# For testing (if needed in future)

[profile.dev]
opt-level = 0
debug = true

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
panic = "abort"

[profile.release-with-debug]
inherits = "release"
debug = true
strip = false

[lints.rust]
unsafe_code = "forbid"

[lints.clippy]
all = { level = "warn", priority = -1 }

# Debian package configuration (for cargo-deb)
[package.metadata.deb]
maintainer = "Parash Subedi <subediparas5@gmail.com>"
copyright = "2024-2026, Parash Subedi"
license-file = ["LICENSE", "0"]
extended-description = """
A fast, interactive TUI for managing local and remote ports via SSH.
Identify processes using ports and kill them with a keystroke.
Supports local and remote (SSH) monitoring."""
section = "utils"
priority = "optional"
assets = [
    ["target/release/lsport", "usr/bin/", "755"],
]
