diana 0.2.9

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.
Documentation
[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 <arctic_hen7@pm.me>"]
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"