content: [package]
  build = "build.rs"
  name = "utpm"
  version = "0.2.0"
  edition = "2024"
  description = "UTPM is a package manager for local and remote Typst packages. Quickly create and manage projects and templates on your system, and publish them directly to Typst Universe."
  authors = ["Thomas Daniel Guy QUEMIN <thomas.quemin@tuta.io>"]
  repository = "https://github.com/typst-community/utpm"
  license = "MIT"
  keywords = ["typst", "packages"]
  categories = ["command-line-utilities"]
  exclude = ["/target", "/.github"]
  
  [dependencies]
  dirs = "6.0"
  serde = { version = "1.0", features = ["derive"] }
  toml = { version = "^0.8.22", features = ["display"] }
  inquire = { version = "0.7.5", optional = true }
  semver = { version = "1.0.26", features = ["serde"] }
  spdx = { version = "0.10.8", features = ["text"], optional = true }
  clap = { version = "4.5.39", features = ["derive"] }
  git2 = { version = "^0.20.2", optional = true }
  tracing = { version = "0.1.41", features = ["attributes"] }
  openssl = { version = "0.10", features = ["vendored"] } # Won't compiled everywhere without it
  tracing-subscriber = { version = "0.3.19", features = ["fmt", "std", "json"] }
  clap_complete = { version = "4.5.51", optional = true }
  shadow-rs = "1.1.1"
  typst-kit = "0.13.1"
  typst-syntax = { version = "0.13.1", optional = true }
  regex = { version = "1.11.1", optional = true }
  ignore = { version = "0.4.23", optional = true } 
  octocrab = { version = "0.44.1", optional = true }
  tokio = { version = "1.45.1", features = ["full"] }
  tokio-macros = "2.5.0"
  url = "2.5.4"
  once_cell = "1.21.3"
  thiserror = "2.0.12"
  anyhow = "1.0.98"
  serde_yaml = { version = "0.9.34", optional = true }
  serde_json = { version = "1.0.140", optional = true }
  serde-hjson = { version = "1.1.0", optional = true }
  fmt-derive = "0.1.2"
  ptree = "0.5.2"
  reqwest = { version = "0.12.22", optional = false, features = ["json"] }
  itertools = "0.14.0"
  toml_edit = "0.23.3"
  
  [build-dependencies]
  shadow-rs = "1.1.1"
  
  [[bin]]
  name = "utpm"
  path = "src/main.rs"
  build = "build.rs"
  
  [features]
  default_commands = ["workspace", "packages", "generate"]
  full_commands = ["workspace", "packages", "generate"]
  nightly = []
  add = ["install"]
  bulk_delete = ["unlink"]
  clone = ["dep:regex", "dep:git2", "dep:typst-syntax"]
  init = ["dep:spdx", "dep:inquire"]
  delete = []
  generate = ["dep:clap_complete"]
  install = ["link", "dep:git2"]
  link = []
  list = []
  path = []
  publish = ["dep:git2", "dep:octocrab", "dep:ignore", "dep:regex"]
  tree = []
  bump = []
  sync = ["dep:ignore", "dep:regex"]
  get = []
  unlink = ["dep:inquire", "dep:regex"]
  workspace = ["link", "init", "install", "add", "delete", "clone", "bump", "sync"]
  packages = ["tree", "list", "path", "unlink", "bulk_delete", "get"]
  
  
  #### Output format
  output_json  = ["dep:serde_json"]
  output_yaml  = ["dep:serde_yaml"]
  output_toml  = []
  output_text  = []
  output_hjson = ["dep:serde-hjson"]
  default_output = ["output_json", "output_text"]
  full_output = ["default_output", "output_toml", "output_hjson", "output_yaml"]
  
  #### Default/Full features
  default = ["default_commands", "default_output"]
  full = ["full_commands", "full_output"]
  
  
  # Reduce size
  [profile.release]
  strip = true
  opt-level = "z"
  lto = true
  codegen-units = 1
  panic = "abort"
  