[package]
edition = "2024"
rust-version = "1.88.0"
name = "bitwarden-core"
version = "3.0.0"
authors = ["Bitwarden Inc"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Internal crate for the bitwarden crate. Do not use.
"""
homepage = "https://bitwarden.com"
readme = "DISCLAIMER.md"
keywords = ["bitwarden"]
license-file = "LICENSE"
repository = "https://github.com/bitwarden/sdk-internal"
resolver = "2"
[package.metadata.cargo-udeps.ignore]
normal = [
"getrandom2",
"getrandom3",
"getrandom4",
]
[features]
dangerous-crypto-debug = ["bitwarden-crypto/dangerous-crypto-debug"]
internal = ["dep:zxcvbn"]
no-memory-hardening = ["bitwarden-crypto/no-memory-hardening"]
secrets = []
test-fixtures = ["bitwarden-test"]
uniffi = [
"internal",
"bitwarden-crypto/uniffi",
"bitwarden-encoding/uniffi",
"dep:bitwarden-uniffi-error",
"dep:uniffi",
]
wasm = [
"bitwarden-crypto/wasm",
"bitwarden-encoding/wasm",
"bitwarden-error/wasm",
"bitwarden-state/wasm",
"getrandom2/js",
"getrandom3/wasm_js",
"getrandom4/wasm_js",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"dep:tsify",
]
[lib]
name = "bitwarden_core"
path = "src/lib.rs"
[[test]]
name = "register"
path = "tests/register.rs"
[dependencies.async-trait]
version = ">=0.1.80, <0.2"
[dependencies.bitwarden-api-api]
version = "=3.0.0"
[dependencies.bitwarden-api-base]
version = "=3.0.0"
[dependencies.bitwarden-api-identity]
version = "=3.0.0"
[dependencies.bitwarden-api-key-connector]
version = "=3.0.0"
[dependencies.bitwarden-core-macro]
version = "=3.0.0"
[dependencies.bitwarden-crypto]
version = "=3.0.0"
[dependencies.bitwarden-encoding]
version = "=3.0.0"
[dependencies.bitwarden-error]
version = "=3.0.0"
[dependencies.bitwarden-state]
version = "=3.0.0"
[dependencies.bitwarden-state-bridge-macro]
version = "=3.0.0"
[dependencies.bitwarden-test]
version = "=3.0.0"
optional = true
[dependencies.bitwarden-threading]
version = "=3.0.0"
[dependencies.bitwarden-uniffi-error]
version = "=3.0.0"
optional = true
[dependencies.bitwarden-uuid]
version = "=3.0.0"
[dependencies.chrono]
version = ">=0.4.26, <0.5"
features = [
"clock",
"serde",
"std",
"std",
]
default-features = false
[dependencies.getrandom2]
version = "0.2"
optional = true
package = "getrandom"
[dependencies.getrandom3]
version = "0.3"
optional = true
package = "getrandom"
[dependencies.getrandom4]
version = "0.4"
optional = true
package = "getrandom"
[dependencies.http]
version = ">=1.4.0, <2.0"
[dependencies.rand]
version = ">=0.10.0, <0.11"
[dependencies.reqwest]
version = "0.12.28"
features = [
"json",
"multipart",
"http2",
]
default-features = false
[dependencies.reqwest-middleware]
version = "0.4.2"
features = [
"json",
"multipart",
]
[dependencies.schemars]
version = ">=1.0.0, <2.0"
features = [
"uuid1",
"chrono04",
]
[dependencies.serde]
version = ">=1.0, <2.0"
features = ["derive"]
[dependencies.serde_bytes]
version = ">=0.11.17, <0.12.0"
[dependencies.serde_json]
version = ">=1.0.96, <2.0"
[dependencies.serde_qs]
version = ">=0.12.0, <0.16"
[dependencies.serde_repr]
version = ">=0.1.12, <0.2"
[dependencies.thiserror]
version = ">=1.0.40, <3"
[dependencies.tracing]
version = "0.1.41"
[dependencies.tsify]
version = ">=0.5.5, <0.6"
features = ["js"]
optional = true
default-features = false
[dependencies.uniffi]
version = "=0.31.0"
features = ["tokio"]
optional = true
[dependencies.uuid]
version = ">=1.3.3, <2.0"
features = [
"serde",
"v4",
"js",
]
[dependencies.wasm-bindgen]
version = "=0.2.114"
features = ["serde-serialize"]
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4.64"
optional = true
[dependencies.zeroize]
version = ">=1.7.0, <2.0"
features = [
"derive",
"aarch64",
]
[dependencies.zxcvbn]
version = ">=3.0.1, <4.0"
optional = true
[dev-dependencies.rand_chacha]
version = ">=0.10.0, <0.11"
[dev-dependencies.tokio]
version = "1.36.0"
features = [
"macros",
"rt",
]
[dev-dependencies.wiremock]
version = ">=0.6.0, <0.7"
[dev-dependencies.zeroize]
version = ">=1.7.0, <2.0"
features = [
"derive",
"aarch64",
]
[target.'cfg(not(target_arch="wasm32"))'.dependencies.reqwest]
version = "0.12.28"
features = [
"json",
"multipart",
"http2",
"rustls-tls-manual-roots",
]
default-features = false
[target.'cfg(not(target_arch="wasm32"))'.dependencies.rustls]
version = "0.23.19"
default-features = false
[target.'cfg(not(target_arch="wasm32"))'.dependencies.rustls-platform-verifier]
version = "0.6.0"
[lints.clippy]
disallowed-macros = "deny"
print_stderr = "warn"
print_stdout = "warn"
string_slice = "warn"
unused_async = "warn"
unwrap_used = "deny"
[lints.rust]
missing_docs = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ['cfg(feature, values("uniffi", "wasm"))']