mirror of https://github.com/boa-dev/boa.git
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.
235 lines
7.2 KiB
235 lines
7.2 KiB
[workspace] |
|
resolver = "2" |
|
members = [ |
|
# CORE |
|
"core/*", |
|
# FFI |
|
"ffi/*", |
|
# TESTS |
|
"tests/*", |
|
# TOOLS |
|
"tools/*", |
|
# OTHERS |
|
"examples", |
|
"cli", |
|
# TOOLS |
|
"tools/*", |
|
] |
|
|
|
exclude = [ |
|
"tests/fuzz", # Does weird things on Windows tests |
|
"tests/src", # Just a hack to have fuzz inside tests |
|
] |
|
|
|
[workspace.package] |
|
edition = "2021" |
|
version = "0.20.0" |
|
rust-version = "1.82.0" |
|
authors = ["boa-dev"] |
|
repository = "https://github.com/boa-dev/boa" |
|
license = "Unlicense OR MIT" |
|
description = "Boa is a Javascript lexer, parser and compiler written in Rust. Currently, it has support for some of the language." |
|
|
|
[workspace.dependencies] |
|
|
|
# Repo Crates |
|
boa_ast = { version = "~0.20.0", path = "core/ast" } |
|
boa_engine = { version = "~0.20.0", path = "core/engine" } |
|
boa_gc = { version = "~0.20.0", path = "core/gc" } |
|
boa_icu_provider = { version = "~0.20.0", path = "core/icu_provider" } |
|
boa_interner = { version = "~0.20.0", path = "core/interner" } |
|
boa_interop = { version = "~0.20.0", path = "core/interop" } |
|
boa_macros = { version = "~0.20.0", path = "core/macros" } |
|
boa_parser = { version = "~0.20.0", path = "core/parser" } |
|
boa_profiler = { version = "~0.20.0", path = "core/profiler" } |
|
boa_runtime = { version = "~0.20.0", path = "core/runtime" } |
|
boa_string = { version = "~0.20.0", path = "core/string" } |
|
|
|
# Shared deps |
|
arbitrary = "1" |
|
bitflags = "2.5.0" |
|
clap = "4.5.21" |
|
colored = "2.1.0" |
|
fast-float2 = "0.2.3" |
|
hashbrown = "0.15.2" |
|
indexmap = { version = "2.7.0", default-features = false } |
|
indoc = "2.0.5" |
|
jemallocator = "0.5.4" |
|
num-bigint = "0.4.6" |
|
num-traits = "0.2.19" |
|
once_cell = { version = "1.20.2", default-features = false } |
|
phf = { version = "0.11.2", default-features = false } |
|
pollster = "0.4.0" |
|
regex = "1.11.1" |
|
regress = { version = "0.10.1", features = ["utf16"] } |
|
rustc-hash = { version = "2.1.0", default-features = false } |
|
serde_json = "1.0.133" |
|
serde = "1.0.215" |
|
static_assertions = "1.1.0" |
|
textwrap = "0.16.0" |
|
thin-vec = "0.2.13" |
|
time = { version = "0.3.37", default-features = false, features = ["local-offset", "large-dates", "wasm-bindgen", "parsing", "formatting", "macros"] } |
|
tinystr = "0.7.5" |
|
log = "0.4.22" |
|
simple_logger = "5.0.0" |
|
cargo_metadata = "0.19.0" |
|
trybuild = "1.0.101" |
|
rayon = "1.10.0" |
|
toml = "0.8.19" |
|
color-eyre = "0.6.3" |
|
comfy-table = "7.1.3" |
|
serde_repr = "0.1.19" |
|
bus = "2.4.1" |
|
wasm-bindgen = { version = "0.2.97", default-features = false } |
|
getrandom = { version = "0.2.15", default-features = false } |
|
console_error_panic_hook = "0.1.7" |
|
wasm-bindgen-test = "0.3.47" |
|
smol = "2.0.2" |
|
futures-util = "0.3.31" |
|
isahc = "1.7.2" |
|
rustyline = { version = "15.0.0", default-features = false } |
|
dhat = "0.3.3" |
|
quote = "1.0.37" |
|
syn = { version = "2.0.90", default-features = false } |
|
proc-macro2 = "1.0" |
|
synstructure = "0.13" |
|
measureme = "12.0.0" |
|
sptr = "0.3.2" |
|
paste = "1.0" |
|
rand = "0.8.5" |
|
num-integer = "0.1.46" |
|
ryu-js = "1.0.1" |
|
tap = "1.0.1" |
|
thiserror = { version = "2.0.3", default-features = false } |
|
dashmap = "6.1.0" |
|
num_enum = "0.7.3" |
|
itertools = { version = "0.13.0", default-features = false } |
|
portable-atomic = "1.10.0" |
|
bytemuck = { version = "1.19.0", default-features = false } |
|
arrayvec = "0.7.6" |
|
intrusive-collections = "0.9.7" |
|
cfg-if = "1.0.0" |
|
either = "1.13.0" |
|
sys-locale = "0.3.2" |
|
temporal_rs = "0.0.4" |
|
web-time = "1.1.0" |
|
criterion = "0.5.1" |
|
float-cmp = "0.10.0" |
|
futures-lite = "2.5.0" |
|
test-case = "3.3.1" |
|
winapi = { version = "0.3.9", default-features = false } |
|
url = "2.5.4" |
|
|
|
# ICU4X |
|
|
|
icu_provider = { version = "~1.5.0", default-features = false } |
|
icu_locid = { version = "~1.5.0", default-features = false } |
|
icu_locid_transform = { version = "~1.5.0", default-features = false } |
|
icu_datetime = { version = "~1.5.1", default-features = false } |
|
icu_calendar = { version = "~1.5.1", default-features = false } |
|
icu_collator = { version = "~1.5.0", default-features = false } |
|
icu_plurals = { version = "~1.5.0", default-features = false } |
|
icu_list = { version = "~1.5.0", default-features = false } |
|
icu_casemap = { version = "~1.5.0", default-features = false } |
|
icu_segmenter = { version = "~1.5.0", default-features = false } |
|
icu_datagen = { version = "~1.5.0", default-features = false } |
|
icu_provider_adapters = { version = "~1.5.0", default-features = false } |
|
icu_provider_blob = { version = "~1.5.0", default-features = false } |
|
icu_properties = { version = "~1.5.0", default-features = true } |
|
icu_normalizer = { version = "~1.5.0", default-features = false } |
|
icu_decimal = { version = "~1.5.0", default-features = false } |
|
writeable = "~0.5.5" |
|
yoke = "~0.7.5" |
|
zerofrom = "~0.1.5" |
|
fixed_decimal = "~0.5.6" |
|
|
|
[workspace.metadata.workspaces] |
|
allow_branch = "main" |
|
|
|
# The ci profile, designed to reduce size of target directory |
|
[profile.ci] |
|
inherits = "dev" |
|
debug = false |
|
incremental = false |
|
|
|
# The release profile, used for `cargo build --release`. |
|
[profile.release] |
|
# Enables "fat" LTO, for faster release builds |
|
lto = "fat" |
|
# Makes sure that all code is compiled together, for LTO |
|
codegen-units = 1 |
|
# Strips debug information and symbols from the binary, reducing its size |
|
strip = "symbols" |
|
|
|
[profile.release-dbg] |
|
inherits = "release" |
|
debug = true |
|
strip = "none" |
|
|
|
# The test profile, used for `cargo test`. |
|
[profile.test] |
|
# Enables thin local LTO and some optimizations. |
|
opt-level = 1 |
|
|
|
# The benchmark profile, used for `cargo bench`. |
|
[profile.bench] |
|
# Enables "fat" LTO, for faster benchmark builds |
|
lto = "fat" |
|
# Makes sure that all code is compiled together, for LTO |
|
codegen-units = 1 |
|
|
|
[workspace.lints.rust] |
|
# rustc lint groups https://doc.rust-lang.org/rustc/lints/groups.html |
|
warnings = "warn" |
|
future_incompatible = { level = "warn", priority = -1 } |
|
let_underscore = { level = "warn", priority = -1 } |
|
nonstandard_style = { level = "warn", priority = -1 } |
|
rust_2018_compatibility = { level = "warn", priority = -1 } |
|
rust_2018_idioms = { level = "warn", priority = -1 } |
|
rust_2021_compatibility = { level = "warn", priority = -1 } |
|
unused = { level = "warn", priority = -1 } |
|
|
|
# rustc allowed-by-default lints https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html |
|
missing_docs = "warn" |
|
macro_use_extern_crate = "warn" |
|
meta_variable_misuse = "warn" |
|
missing_abi = "warn" |
|
missing_copy_implementations = "warn" |
|
missing_debug_implementations = "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" |
|
|
|
[workspace.lints.rustdoc] |
|
# rustdoc lints https://doc.rust-lang.org/rustdoc/lints.html |
|
broken_intra_doc_links = "warn" |
|
private_intra_doc_links = "warn" |
|
missing_crate_level_docs = "warn" |
|
private_doc_tests = "warn" |
|
invalid_codeblock_attributes = "warn" |
|
invalid_rust_codeblocks = "warn" |
|
bare_urls = "warn" |
|
|
|
[workspace.lints.clippy] |
|
# clippy allowed by default |
|
dbg_macro = "warn" |
|
print_stdout = "warn" |
|
print_stderr = "warn" |
|
|
|
# clippy categories https://doc.rust-lang.org/clippy/ |
|
all = { level = "warn", priority = -1 } |
|
correctness = { level = "warn", priority = -1 } |
|
suspicious = { level = "warn", priority = -1 } |
|
style = { level = "warn", priority = -1 } |
|
complexity = { level = "warn", priority = -1 } |
|
perf = { level = "warn", priority = -1 } |
|
pedantic = { level = "warn", priority = -1 }
|
|
|