postrust-worker 1.1.0

Cloudflare Workers adapter for Postrust: the PostgREST-dialect REST API in a Worker, over Hyperdrive
Documentation
[package]
name = "postrust-worker"
# Deliberately NOT `version.workspace = true`. Its semver is over what a
# deployment sees -- configuration, bindings, endpoints -- not a Rust API, so
# it keeps a number of its own. See docs/stability.md.
version = "1.1.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "Cloudflare Workers adapter for Postrust: the PostgREST-dialect REST API in a Worker, over Hyperdrive"
homepage.workspace = true
readme = "README.md"
keywords = ["cloudflare", "workers", "hyperdrive", "postgres", "rest"]

[lib]
crate-type = ["cdylib"]

# The crate is empty for any other target.
[package.metadata.docs.rs]
targets = ["wasm32-unknown-unknown"]

# Smallest rather than fastest: the bundle is what a cold start downloads, and
# the free plan allows 3 MB compressed.
[package.metadata.wasm-pack.profile.release]
wasm-opt = ["-Oz"]

[features]
# Object keys in select order, as PostgREST returns them; the server's feature
# of the same name, and off for the same reason (see postrust-server).
compat-key-order = ["serde_json/preserve_order", "postrust-core/compat-key-order"]

# The configuration and the other decisions in `settings` are plain logic, built
# and unit-tested on every target.
[dependencies]
http.workspace = true
postrust-core.workspace = true

# Everything else is wasm32-only. A Worker's sockets, bindings and futures are
# JavaScript objects, none of them `Send`, so the generic pipeline cannot be
# instantiated over them natively -- and natively there is nothing to run them
# on. Built for any other target the crate is only `settings`, which keeps
# `cargo build --workspace` working.
[target.'cfg(target_arch = "wasm32")'.dependencies]
# `=`: 0.8.7 declares rust-version 1.91, above what was the workspace's 1.88
# when this was pinned. The 1.94 floor no longer needs it; lifting it is a
# change to the Worker, to be made and tested as one.
worker = { version = "=0.8.6", features = ["http", "tokio-postgres"] }
wasm-bindgen-futures = "0.4"
futures.workspace = true
console_error_panic_hook = "0.1"
js-sys = "0.3"

serde.workspace = true
serde_json.workspace = true
bytes.workspace = true
http-body = "1"
http-body-util.workspace = true

postrust-core = { workspace = true, features = ["pg-socket"] }
postrust-engine.workspace = true
postrust-auth.workspace = true