[package] name = "forge-web" description = "forge binary: web UI, smart-HTTP, internal hook API and CLI" version.workspace = true edition.workspace = true license.workspace = true publish = false [[bin]] name = "forge" path = "src/main.rs" [dependencies] forge-core.workspace = true ipnet.workspace = true forge-git.workspace = true forge-ssh.workspace = true forge-ci.workspace = true topcoat = { workspace = true, default-features = false, features = ["router", "view", "runtime", "cookie", "asset", "serve", "sse", "discover", "compression", "multipart", "tower"] } tokio.workspace = true futures-util.workspace = true bytes.workspace = true http.workspace = true http-body-util.workspace = true async-compression.workspace = true serde.workspace = true serde_json.workspace = true form_urlencoded.workspace = true jiff.workspace = true base64.workspace = true subtle.workspace = true tracing.workspace = true tracing-subscriber = { workspace = true, features = ["env-filter"] } tokio-util = { workspace = true, features = ["io"] } http-body.workspace = true rpassword.workspace = true rand.workspace = true hex.workspace = true sha2.workspace = true time.workspace = true comrak = { workspace = true } emojis.workspace = true ammonia = { workspace = true } syntect = { workspace = true } reqwest = { workspace = true } hmac.workspace = true similar = { workspace = true } tower = { workspace = true } tower-http = { workspace = true } object_store.workspace = true multer.workspace = true ulid.workspace = true forge-runner = { workspace = true } lettre.workspace = true [build-dependencies] grass.workspace = true hex.workspace = true sha2.workspace = true [dev-dependencies] tempfile.workspace = true forge-runner = { workspace = true, features = ["test-host-executor"] } image = { workspace = true } scraper = { workspace = true } zip = { workspace = true }