Rust编写的JavaScript引擎,该项目是一个试验性质的项目。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

105 lines
2.8 KiB

[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 = []
# Enable Boa's additional ECMAScript features for web browsers.
annex-b = []
[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.6.0"
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.3.0", 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