[package]
name = "my-crate"
version = "0.1.0"
authors = ["Nshen <nshen121@gmail.com>"]
edition = "2018"

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
cfg-if = "1.0.0"
wasm-bindgen = "0.2.84"
#rand = { version = "0.7.3", features = ["wasm-bindgen"] }
#rand = { version = "0.8.4", features = ["wasm-bindgen", "getrandom"] }
getrandom = { version = "0.2", features = ["js"] }
base64 = "0.13.1"
hex = "0.4.3"
#magic-crypt = "3.1.12"
#x25519-dalek = "1.2.0"
rand = "0.8.5"
#noah-x25519-dalek = "4.0.0"
uuid = { version = "1.2.2", features = ["v4", "fast-rng", "macro-diagnostics"] }

# The `console_error_panic_hook` crate provides better debugging of panics by
# logging them with `console.error`. This is great for development, but requires
# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for
# code size when deploying.
console_error_panic_hook = { version = "0.1.6", optional = true }

# `wee_alloc` is a tiny allocator for wasm that is only ~1K in code size
# compared to the default allocator's ~10K. It is slower than the default
# allocator, however.
#
# Unfortunately, `wee_alloc` requires nightly Rust when targeting wasm for now.
wee_alloc = { version = "0.4.5", optional = true }
html-escape = "0.2.13"
#cosmian_crypto_core = "6.0.0"
sha3 = "0.10.6"
js-sys = "0.3.61"
#passwords = "3.1.13"
#web-sys = "0.3.22"
serde = { version = "1.0", features = ["derive"] }
serde-wasm-bindgen = "0.3"
aes-gcm = "0.10.1"

[dev-dependencies]
wasm-bindgen-test = "0.3.13"

[profile.release]
# Tell `rustc` to optimize for small code size.
opt-level = "s"
lto = true

[features]
default = ["console_error_panic_hook" ,"wee_alloc"]