[workspace]
resolver = "2"
members = ["./packages/*", "./plugins/*"]
exclude = ["**/node_modules"]

[package]
name = "retrom"
version = "0.0.15"
description = "Retrom is a centralized game library/collection management service with a focus on emulation."
edition.workspace = true
authors.workspace = true
license.workspace = true
readme.workspace = true
repository.workspace = true


[workspace.package]
edition = "2021"
authors = ["John Beresford <jberesford@volcaus.com>"]
license = "GPL-3.0"
readme = "./README.md"
repository = "https://github.com/JMBeresford/retrom"

[workspace.dependencies]
tauri = { version = "2.0.0-beta", features = ["tracing"] }
diesel = { version = "^2.2.0", features = [
  "serde_json",
  "postgres",
  "numeric",
] }
diesel_migrations = { version = "^2.2.0", features = ["postgres"] }
diesel-async = { version = "^0.5.0", features = ["postgres", "bb8"] }
bb8 = "0.8"
serde = { version = "1.0.197", features = ["derive"] }
serde_json = "1.0.115"
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = [
  "env-filter",
  "fmt",
  "json",
] }
tracing-futures = { version = "0.2.5", features = ["tokio", "futures"] }
tokio = { version = "1.37.0", features = ["full"] }
tokio-util = { version = "0.7.11", features = ["io", "compat"] }
dotenvy = "0.15.7"
retrom-db = { path = "./packages/db", version = "0.0.9" }
retrom-client = { path = "./packages/client", version = "0.0.14" }
retrom-service = { path = "./packages/service", version = "0.0.9" }
retrom-codegen = { path = "./packages/codegen", version = "0.0.9" }
retrom-plugin-installer = { path = "./plugins/retrom-plugin-installer", version = "0.0.9" }
retrom-plugin-launcher = { path = "./plugins/retrom-plugin-launcher", version = "0.0.10" }
futures = "0.3.30"
bytes = "1.6.0"
reqwest = { version = "0.12.3", features = [
  "json",
  "stream",
  "gzip",
  "brotli",
  "deflate",
] }
tonic = "0.11"
tonic-web = "0.11"
prost = "0.12"
prost-types = "0.12"
tonic-reflection = "0.11.0"
async-trait = "0.1"
serde_repr = "0.1.19"
retry = { version = "2.0.0" }
tokio-retry = { version = "0.3.0" }
tokio-stream = "0.1.15"
thiserror = "1.0"
