content: [workspace]
  members = ["frontend", "shared/*", "src-tauri"]
  
  [workspace.package]
  version = "0.2.0"
  authors = ["Stephen Power"]
  edition = "2021"
  license = "GPL"
  description = "A cross-platform Youtube frontend. Built with Leptos and Tauri; Designed with DaisyUI and Tailwind."
  
  [workspace.lints.rust]
  unsafe_code = { level = "forbid", priority = 5 }
  unused = { level = "allow", priority = 5 }
  dead_code = { level = "allow", priority = 5 }
  
  [workspace.lints.clippy]
  all = { level = "warn", priority = 5 }
  # cargo = { level = "warn", priority = 5 }
  pedantic = { level = "warn", priority = 5 }
  nursery = { level = "warn", priority = 5 }
  # restriction = { level = "warn", priority = 5 }
  unwrap_used = { level = "forbid", priority = 5 }
  empty_structs_with_brackets = { level = "allow", priority = 5 }
  pub_use = { level = "allow", priority = 5 }
  missing_errors_doc = { level = "allow", priority = 5 }
  multiple_crate_versions = { level = "allow", priority = 5 }
  must_use_candidate = { level = "allow", priority = 5 }
  needless_pass_by_value = { level = "allow", priority = 5 }
  module_name_repetitions = { level = "allow", priority = 5 }
  future_not_send = { level = "allow", priority = 5 }
  redundant_closure_for_method_calls = { level = "allow", priority = 5 }
  unused_async = { level = "allow", priority = 5 } # Only here until IndexedDB refactor
  
  [profile.release]
  panic = "abort"
  codegen-units = 1
  lto = "fat"
  opt-level = "z"
  strip = true
  
  [profile.dev]
  opt-level = 0
  codegen-units = 256
  lto = "off"
  incremental = true
  debug = false # Enable if debugging is necessary.
  
  [workspace.target.x86_64-unknown-linux-gnu]
  linker = "clang"
  rustflags = ["-C", "link-arg=-fuse-ld=/usr/bin/mold"]
  
  [workspace.dependencies]
  chrono = "0.4.26"
  clone-macro = "0.1.0"
  config = { path = "shared/config" }
  console_error_panic_hook = "0.1.7"
  csv = "1.2.2"
  futures = "0.3.28"
  gloo = { version = "0.10.0", features = ["file", "futures"] }
  html-escape = "0.2.13"
  humantime = "2.1.0"
  invidious = { path = "shared/invidious" }
  isocountry = "0.3.2"
  leptos = { version = "0.6.11", features = ["csr"] }
  leptos_router = { version = "0.6.11", features = ["csr"] }
  locales = { path = "shared/locales" }
  num-format = "0.4.4"
  phosphor-leptos = "0.3.1"
  reqwasm = "0.5.0"
  ron = "0.8.0"
  rust-i18n = "3.0.0"
  rustytube-error = { path = "shared/error" }
  serde = { version = "1.0.188", features = ["derive"] }
  serde-xml-rs = "0.6.0"
  serde_json = "1.0.105"
  sponsorblock-rs = { path = "shared/sponsorblock" }
  tauri = { version = "1.4.1", default-features = false }
  tauri-sys = { git = "https://github.com/opensourcecheemsburgers/tauri-sys", features = ["all"] }
  tauri_utils = { path = "shared/tauri" }
  thiserror = "1.0.60"
  toml = "0.8.8"
  urlencoding = "2.1.3"
  utils = { path = "shared/utils" }
  wasm-bindgen = "0.2.92"
  wasm-bindgen-test = "0.3.37"
  
  [workspace.dependencies.web-sys]
  version = "0.3.64"
  features = [
    "Navigator",
    "HtmlAudioElement",
    "HtmlMediaElement",
    "HtmlVideoElement",
    "Performance",
    "Window",
    "TextTrack",
    "TextTrackMode",
    "TextTrackList",
    "MouseEvent",
    "PointerEvent",
    "Screen",
    "ScreenOrientation",
    "OrientationLockType",
  ]
  