[package] name = "boa_engine" keywords = ["javascript", "js", "compiler", "lexer", "parser"] categories = ["parser-implementations", "compilers"] readme = "../README.md" description.workspace = true version.workspace = true edition.workspace = true authors.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true [features] profiler = ["boa_profiler/profiler"] deser = ["boa_interner/serde", "boa_ast/serde"] intl = [ "dep:boa_icu_provider", "dep:icu_locid_transform", "dep:icu_locid", "dep:icu_datetime", "dep:icu_plurals", "dep:icu_provider", "dep:icu_calendar", "dep:icu_collator", "dep:icu_list", "dep:writeable", "dep:sys-locale", ] fuzz = ["boa_ast/arbitrary", "boa_interner/arbitrary"] # Enable Boa's VM instruction flowgraph generator. flowgraph = [] # Enable Boa's VM instruction tracing. trace = [] # Enable Boa's WHATWG console object implementation. console = [] [dependencies] boa_interner.workspace = true boa_gc = { workspace = true, features = [ "thinvec" ] } boa_profiler.workspace = true boa_macros.workspace = true boa_ast.workspace = true boa_parser.workspace = true serde = { version = "1.0.159", features = ["derive", "rc"] } serde_json = "1.0.95" rand = "0.8.5" num-traits = "0.2.15" regress = "0.5.0" rustc-hash = "1.1.0" num-bigint = { version = "0.4.3", features = ["serde"] } num-integer = "0.1.45" bitflags = "2.0.2" indexmap = "1.9.3" ryu-js = "0.2.2" chrono = { version = "0.4.24", default-features = false, features = ["clock", "std", "wasmbind"] } fast-float = "0.2.0" unicode-normalization = "0.1.22" once_cell = "1.17.1" tap = "1.0.1" sptr = "0.3.2" static_assertions = "1.1.0" thiserror = "1.0.40" dashmap = "5.4.0" num_enum = "0.5.11" pollster = "0.3.0" thin-vec = "0.2.12" # intl deps boa_icu_provider = { workspace = true, optional = true } icu_locid_transform = { version = "1.1.0", features = ["serde"], optional = true } icu_locid = { version = "1.1.0", features = ["serde"], optional = true } icu_datetime = { version = "1.1.0", features = ["serde", "experimental"], optional = true } icu_calendar = { version = "1.1.0", optional = true } icu_collator = { version = "1.1.0", features = ["serde"], optional = true } icu_plurals = { version = "1.1.0", features = ["serde"], optional = true } icu_provider = { version = "1.1.0", optional = true } icu_list = { version = "1.1.0", features = ["serde"], optional = true } writeable = { version = "0.5.1", optional = true } sys-locale = { version = "0.2.4", optional = true } [dev-dependencies] criterion = "0.4.0" float-cmp = "0.9.0" indoc = "2.0.1" textwrap = "0.16.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