[package]
name = "flowy-codegen"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
log = "0.4.17"
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
flowy-ast.workspace = true
quote = "1.0"

cmd_lib = { version = "1.9.5", optional = true }
protoc-rust = { version = "2.28.0", optional = true }
#protobuf-codegen = { version = "3.7.1" }
walkdir = { version = "2", optional = true }
similar = { version = "1.3.0", optional = true }
syn = { version = "1.0.109", features = ["extra-traits", "parsing", "derive", "full"] }
fancy-regex = { version = "0.10.0", optional = true }
lazy_static = { version = "1.4.0", optional = true }
tera = { version = "1.17.1", optional = true }
itertools = { version = "0.10", optional = true }
phf = { version = "0.8.0", features = ["macros"], optional = true }
console = { version = "0.14.1", optional = true }
protoc-bin-vendored = { version = "3.1.0", optional = true }
toml = { version = "0.5.11", optional = true }


[features]
proto_gen = [
  "similar",
  "fancy-regex",
  "lazy_static",
  "tera",
  "itertools",
  "phf",
  "walkdir",
  "console",
  "toml",
  "cmd_lib",
  "protoc-rust",
  "walkdir",
  "protoc-bin-vendored",
]
dart_event = ["walkdir", "tera", ]
dart = ["proto_gen", "dart_event"]
ts_event = ["walkdir", "tera", ]
ts = ["proto_gen", "ts_event"]
