[package] name = "anni-repo" version = "0.4.2" description = "Operate on anni metadata repository." edition.workspace = true authors.workspace = true repository.workspace = true license.workspace = true [lib] crate-type = ["cdylib", "rlib"] [dependencies] toml_edit = "0.21.0" # TODO: remove usage of toml, use toml_edit directly toml.workspace = true serde.workspace = true serde_json = { workspace = true, optional = true } regex = "1" thiserror.workspace = true anni-common.workspace = true uuid = { workspace = true, features = ["serde"] } log.workspace = true once_cell.workspace = true pathdiff = "0.2.1" indexmap = "2.1.0" anni-artist = "0.1.1" # flac anni-flac = { version = "0.2.2", path = "../anni-flac", optional = true } alphanumeric-sort = { version = "1.4.4", optional = true } # Git related git2 = { version = "0.18.1", optional = true, default-features = false, features = [ "vendored-libgit2", ] } git2-ureq = { version = "0.3.0", optional = true, features = ["socks-proxy"] } # SQLite related rusqlite = { version = "0.30.0", optional = true, features = [ "uuid", "bundled", "serde_json", ] } serde_rusqlite = { version = "0.34.0", optional = true } # Search tantivy = { version = "0.21.1", optional = true } lindera-core = { version = "0.27.2", optional = true } lindera-dictionary = { version = "0.27.2", optional = true } lindera-tantivy = { version = "0.27.1", optional = true, features = [ "ipadic-compress", ] } # WASM dependencies # comment those dependencies when publishing to crates.io #[target.wasm32-unknown-unknown.dependencies] #getrandom = { version = "0.2", features = ["js"] } #js-sys = "0.3.56" #wasm-bindgen = { version = "0.2.79", features = ["serde-serialize"] } #serde-wasm-bindgen = "0.4.2" #sqlite-vfs = { git = "https://github.com/ProjectAnni/sqlite-vfs" } [features] default = ["json"] apply = ["flac", "alphanumeric-sort"] db = ["db-read", "db-write"] db-read = ["rusqlite", "serde_rusqlite"] db-write = ["rusqlite"] git = ["git2", "git2-ureq"] flac = ["anni-flac"] json = ["serde_json"] search = ["tantivy", "lindera-core", "lindera-dictionary", "lindera-tantivy"]