[package]
edition = "2024"
rust-version = "1.88.0"
name = "superui_boa_engine"
version = "0.3.0"
authors = ["boa-dev"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fork of boa_engine (boa 0.21.1) with relaxed icu_normalizer pin for Bevy 0.19 / Parley / icu 2.1 compatibility. Upstream: https://github.com/boa-dev/boa"
readme = "README.md"
keywords = [
"javascript",
"js",
"compiler",
"lexer",
"parser",
]
categories = [
"parser-implementations",
"compilers",
]
license = "Unlicense OR MIT"
repository = "https://github.com/boa-dev/boa"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
[features]
annex-b = [
"boa_ast/annex-b",
"boa_parser/annex-b",
]
default = [
"float16",
"xsum",
]
deser = [
"boa_interner/serde",
"boa_ast/serde",
]
either = [
"dep:either",
"boa_gc/either",
]
embedded_lz4 = [
"boa_macros/embedded_lz4",
"lz4_flex",
]
experimental = ["temporal"]
float16 = ["dep:float16"]
flowgraph = []
fuzz = [
"boa_ast/arbitrary",
"boa_interner/arbitrary",
]
intl = []
intl_bundled = []
js = [
"dep:web-time",
"dep:getrandom",
"getrandom/wasm_js",
"time/wasm-bindgen",
]
jsvalue-enum = []
native-backtrace = []
temporal = [
"dep:temporal_rs",
"dep:iana-time-zone",
"dep:timezone_provider",
"timezone_provider/tzif",
]
trace = ["js"]
xsum = ["dep:xsum"]
[lib]
name = "boa_engine"
crate-type = [
"cdylib",
"lib",
]
path = "src/lib.rs"
bench = false
[[test]]
name = "gcd"
path = "tests/gcd.rs"
[[test]]
name = "imports"
path = "tests/imports.rs"
[[test]]
name = "macros"
path = "tests/macros.rs"
[[test]]
name = "module"
path = "tests/module.rs"
[[bench]]
name = "full"
path = "benches/full.rs"
harness = false
[dependencies.aligned-vec]
version = "0.6.4"
[dependencies.arrayvec]
version = "0.7.6"
[dependencies.bitflags]
version = "2.9.3"
[dependencies.boa_ast]
version = "~0.21.1"
[dependencies.boa_gc]
version = "~0.21.0"
features = [
"thin-vec",
"boa_string",
]
[dependencies.boa_interner]
version = "~0.21.1"
[dependencies.boa_macros]
version = "~0.21.1"
[dependencies.boa_parser]
version = "0.3.0"
package = "superui_boa_parser"
[dependencies.boa_string]
version = "~0.21.1"
[dependencies.bytemuck]
version = "1.24.0"
features = ["derive"]
default-features = false
[dependencies.cfg-if]
version = "1.0.1"
[dependencies.cow-utils]
version = "0.1.3"
[dependencies.dashmap]
version = "6.1.0"
[dependencies.dynify]
version = "0.1.2"
[dependencies.either]
version = "1.15.0"
optional = true
[dependencies.fast-float2]
version = "0.2.3"
[dependencies.fixed_decimal]
version = "0.7.0"
features = [
"ryu",
"experimental",
]
optional = true
[dependencies.float16]
version = "0.1"
optional = true
[dependencies.futures-channel]
version = "0.3.31"
[dependencies.futures-concurrency]
version = "7.6.3"
[dependencies.futures-lite]
version = "2.6.1"
[dependencies.hashbrown]
version = "0.16.0"
[dependencies.iana-time-zone]
version = "0.1.64"
optional = true
[dependencies.icu_normalizer]
version = ">=2.0.0, <3"
features = [
"compiled_data",
"utf16_iter",
]
default-features = false
[dependencies.indexmap]
version = "2.11.4"
features = ["std"]
default-features = false
[dependencies.intrusive-collections]
version = "0.9.7"
[dependencies.itertools]
version = "0.14.0"
default-features = false
[dependencies.lz4_flex]
version = "0.11.5"
optional = true
[dependencies.num-bigint]
version = "0.4.6"
features = ["serde"]
[dependencies.num-integer]
version = "0.1.46"
[dependencies.num-traits]
version = "0.2.19"
[dependencies.num_enum]
version = "0.7.4"
[dependencies.paste]
version = "1.0"
[dependencies.portable-atomic]
version = "1.11.0"
[dependencies.rand]
version = "0.9.2"
[dependencies.regress]
version = "0.10.4"
features = ["utf16"]
[dependencies.rustc-hash]
version = "2.1.1"
features = ["std"]
default-features = false
[dependencies.ryu-js]
version = "1.0.2"
[dependencies.serde]
version = "1.0.219"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0.145"
[dependencies.small_btree]
version = "~0.1.0"
[dependencies.static_assertions]
version = "1.1.0"
[dependencies.sys-locale]
version = "0.3.2"
optional = true
[dependencies.tag_ptr]
version = "~0.1.0"
[dependencies.tap]
version = "1.0.1"
[dependencies.temporal_rs]
version = "0.1.0"
optional = true
default-features = false
[dependencies.thin-vec]
version = "0.2.14"
[dependencies.thiserror]
version = "2.0.17"
default-features = false
[dependencies.time]
version = "0.3.44"
features = [
"local-offset",
"large-dates",
"parsing",
"formatting",
"macros",
]
default-features = false
[dependencies.timezone_provider]
version = "0.1.0"
optional = true
[dependencies.tinystr]
version = "~0.8.1"
optional = true
[dependencies.writeable]
version = "~0.6.1"
optional = true
[dependencies.xsum]
version = "0.1.5"
optional = true
[dependencies.yoke]
version = "0.8.0"
optional = true
[dependencies.zerofrom]
version = "~0.1.6"
optional = true
[dev-dependencies.criterion]
version = "0.5.1"
[dev-dependencies.float-cmp]
version = "0.10.0"
[dev-dependencies.indoc]
version = "2.0.6"
[dev-dependencies.test-case]
version = "3.3.1"
[dev-dependencies.textwrap]
version = "0.16.2"
[target.'cfg(all(target_family = "wasm", not(any(target_os = "emscripten", target_os = "wasi"))))'.dependencies.getrandom]
version = "0.3.4"
features = ["wasm_js"]
optional = true
default-features = false
[target.'cfg(all(target_family = "wasm", not(any(target_os = "emscripten", target_os = "wasi"))))'.dependencies.web-time]
version = "1.1.0"
optional = true
[target.x86_64-unknown-linux-gnu.dev-dependencies.jemallocator]
version = "0.5.4"
[lints.clippy]
dbg_macro = "warn"
print_stderr = "warn"
print_stdout = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.complexity]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.clippy.style]
level = "warn"
priority = -1
[lints.clippy.suspicious]
level = "warn"
priority = -1
[lints.rust]
macro_use_extern_crate = "warn"
meta_variable_misuse = "warn"
missing_abi = "warn"
missing_copy_implementations = "warn"
missing_debug_implementations = "warn"
missing_docs = "warn"
non_ascii_idents = "warn"
noop_method_call = "warn"
single_use_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_crate_dependencies = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_qualifications = "warn"
variant_size_differences = "warn"
warnings = "warn"
[lints.rust.future_incompatible]
level = "warn"
priority = -1
[lints.rust.let_underscore]
level = "warn"
priority = -1
[lints.rust.nonstandard_style]
level = "warn"
priority = -1
[lints.rust.rust_2018_compatibility]
level = "warn"
priority = -1
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1
[lints.rust.rust_2021_compatibility]
level = "warn"
priority = -1
[lints.rust.unused]
level = "warn"
priority = -1
[lints.rustdoc]
bare_urls = "warn"
broken_intra_doc_links = "warn"
invalid_codeblock_attributes = "warn"
invalid_rust_codeblocks = "warn"
missing_crate_level_docs = "warn"
private_doc_tests = "warn"
private_intra_doc_links = "warn"