[package]
name = "boa_engine"
version = "0.15.0"
edition = "2021"
rust-version = "1.60"
authors = ["boa-dev"]
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
repository = "https://github.com/boa-dev/boa"
keywords = ["javascript", "js", "compiler", "lexer", "parser"]
categories = ["parser-implementations", "compilers"]
license = "Unlicense/MIT"
readme = "../README.md"

[features]
profiler = ["boa_profiler/profiler"]
deser = ["boa_interner/serde"]
intl = [
    "dep:icu_locale_canonicalizer",
    "dep:icu_locid",
    "dep:icu_datetime",
    "dep:icu_plurals",
    "dep:icu_provider",
    "dep:icu_testdata",
    "dep:sys-locale"
]

# Enable Boa's WHATWG console object implementation.
console = []

[dependencies]
boa_unicode = { path = "../boa_unicode", version = "0.15.0" }
boa_interner = { path = "../boa_interner", version = "0.15.0" }
boa_gc = { path = "../boa_gc", version = "0.15.0" }
gc = "0.4.1"
boa_profiler = { path = "../boa_profiler", version = "0.15.0" }
serde = { version = "1.0.139", features = ["derive", "rc"] }
serde_json = "1.0.82"
rand = "0.8.5"
num-traits = "0.2.15"
regress = "0.4.1"
rustc-hash = "1.1.0"
num-bigint = { version = "0.4.3", features = ["serde"] }
num-integer = "0.1.45"
bitflags = "1.3.2"
indexmap = "1.9.1"
ryu-js = "0.2.2"
chrono = "0.4.19"
fast-float = "0.2.0"
unicode-normalization = "0.1.21"
dyn-clone = "1.0.7"
once_cell = "1.13.0"
tap = "1.0.1"
icu_locale_canonicalizer = { version = "0.6.0", features = ["serde"], optional = true }
icu_locid = { version = "0.6.0", features = ["serde"], optional = true }
icu_datetime = { version = "0.6.0", features = ["serde"], optional = true }
icu_plurals = { version = "0.6.0", features = ["serde"], optional = true }
icu_provider = { version = "0.6.0", optional = true }
icu_testdata = { version = "0.6.0", optional = true }
sys-locale = { version = "0.2.1", optional = true }

[dev-dependencies]
criterion = "0.3.5"
float-cmp = "0.9.0"

[target.x86_64-unknown-linux-gnu.dev-dependencies]
jemallocator = "0.5.0"

[lib]
crate-type = ["cdylib", "lib"]
name = "boa_engine"
bench = false

[[bench]]
name = "full"
harness = false
