[package] name = "diana" description = "Diana is an out-of-the-box GraphQL system with full support for use as a serverless function, as well as commonly-used features like subscriptions and authentication." version = "0.2.9" authors = ["arctic_hen7 "] edition = "2018" license = "MIT" repository = "https://github.com/arctic-hen7/diana" homepage = "https://arctic-hen7.github.io/diana" keywords = ["graphql", "serverless", "authentication"] categories = ["web-programming", "web-programming::http-server", "web-programming::websocket"] include = [ "src/*", "Cargo.toml", "LICENSE", "README.md" ] [dependencies] serde = "1.0.103" serde_json = "1.0.44" serde_derive = "1.0.103" tokio = { version = "1.0.1", features = ["full"] } async-graphql = "2.8.2" reqwest = { version = "0.10.10", default-features = false, features = ["rustls-tls", "json"] } async-stream = "0.3.1" tokio-stream = "0.1.5" error-chain = "0.12.4" jsonwebtoken = "7.2.0" chrono = "0.4.19" [dev-dependencies] dotenv = "0.15.0" [lib] name = "diana" path = "src/lib.rs" # We pull in the integrations as workspace members, they're published as separate packages # Users shouldn't have to add code they don't want/need [workspace] members = [ "integrations/serverful/actix-web", "integrations/serverless/aws-lambda" ] # This is all optimisation for the release binaries, mainly targeted at the serverless example # Netlify unfortunately doesn't like 20MB executables # These drive up release compilation time significantly, but decrease binary size hugely # Also decreases binary speed, but that's okay for Netlify because otherwise we'd be writing in JS (which would be atrocious) # Unfortunately, we can't apply the `lto = true` optimisation because then Netlify doesn't recognise the bianry as a function [profile.release] opt-level = "z" codegen-units = 1 panic = "abort"