Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
95fcfb3
perf: Disable all unnecessary default-features
github-actions[bot] Jan 26, 2026
6152acf
fix: Add missing workspace dependencies
kdy1 Jan 26, 2026
c248688
fix: Add getrandom to cargo-shear ignored list and fix missing features
kdy1 Jan 26, 2026
95c23c4
fix: Add std feature to serde workspace dependency
kdy1 Jan 26, 2026
db908b7
fix: Add missing std and attributes features to workspace dependencies
kdy1 Jan 26, 2026
ca78bed
fix: Add required features for rand, allocator-api2, syn, proc-macro2…
kdy1 Jan 26, 2026
a38607c
fix: Add graphmap and stable_graph features to petgraph
kdy1 Jan 26, 2026
6585cc9
fix: Add std and parse features to lexical dependency
kdy1 Jan 26, 2026
ac1bfbf
fix: Add missing tracing-subscriber fmt feature and clap std feature
kdy1 Jan 26, 2026
cc0fadb
fix: Add env-filter feature to tracing-subscriber
kdy1 Jan 26, 2026
8071382
fix: Add required features for serde_json and tracing-subscriber
kdy1 Jan 26, 2026
6a258c7
fix: Add alloc feature to hex for encode function
kdy1 Jan 26, 2026
791fe60
fix: Add typescript feature to swc_ecma_parser deps
kdy1 Jan 26, 2026
2c4016c
fix: Add std feature to indexmap for default hasher
kdy1 Jan 26, 2026
2eef1c1
fix: Add missing features for backtrace and swc_estree_ast
kdy1 Jan 26, 2026
a4650e1
fix: Convert path_clean::clean output to PathBuf
kdy1 Jan 26, 2026
14941c1
fix: Add sys-default feature to wasmer
kdy1 Jan 26, 2026
50b6b44
fix: Add missing features for shrink-to-fit and wasmer-wasix
kdy1 Jan 26, 2026
0beac1f
fix: Use sys feature for wasmer-wasix instead of defaults
kdy1 Jan 26, 2026
35ca992
fix: Revert wasmer changes to avoid license issues
kdy1 Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
817 changes: 482 additions & 335 deletions Cargo.lock

Large diffs are not rendered by default.

322 changes: 177 additions & 145 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,151 +15,183 @@ repository = "https://github.com/swc-project/swc.git"


[workspace.dependencies]
# bytecheck version should be in sync with rkyv version. Do not bump individually.
bytecheck = "0.8.0"
rancor = "0.1.0"
rkyv = "0.8.8"


Inflector = "0.11.4"
allocator-api2 = "0.2.18"
ansi_term = "0.12.1"
anyhow = "1.0.98"
arbitrary = "1"
arrayvec = "0.7.4"
ascii = "1.1.0"
assert_cmd = "2.0.17"
assert_fs = "1.0.13"
auto_impl = "1.2.0"
backtrace = "0.3"
base64 = "0.22.1"
bitflags = "2.5.0"
blake3 = "1.5.4"
browserslist-rs = "0.19.0"
bumpalo = "3.16.0"
bytes-str = "0.2.5"
cargo_metadata = "0.18.1"
changesets = "0.2.2"
chrono = "0.4.38"
codspeed-criterion-compat = "3.0.4"
compact_str = "0.7.1"
console_error_panic_hook = "0.1.7"
copyless = "0.1.5"
crc = "2.1.0"
criterion = "0.5.1"
dashmap = "5.5.3"
dialoguer = "0.10.2"
difference = "2"
dragonbox_ecma = "0.1.0"
either = "1.10.0"
enumset = "1.1.2"
flate2 = "1.0"
getrandom = "0.3.3"
glob = "0.3.0"
globset = { version = "0.4.16", default-features = false }
hashbrown = "0.14.5"
hex = "0.4.3"
humansize = "2.1.3"
indexmap = "2.0.0"
is-macro = "0.3.5"
js-sys = "0.3.77"
jsonc-parser = "0.26.2"
kstring = "2.0.0"
lazy_static = "1.4.0"
lexical = "6.1.0"
lightningcss = "1.0.0-alpha.68"
lru = "0.16.1"
memchr = "2.6.1"
miette = "7.6.0"
napi = { version = "3", default-features = false }
napi-build = "2"
napi-derive = { version = "3", default-features = false }
new_debug_unreachable = "1.0.6"
nom = "7.1.3"
ntest = "0.7.2"
num-bigint = "0.4.3"
num_cpus = "1.13.1"
once_cell = "1.19.0"
owo-colors = "4.2.1"
par-core = { version = "2.0.0", default-features = false }
par-iter = "2.0.0"
parking_lot = "0.12.1"
path-absolutize = "3.0.11"
path-clean = "1.0"
pathdiff = "0.2.1"
petgraph = "0.7.1"
phf = "0.11.2"
pretty_assertions = "1.3"
proc-macro2 = "1.0.24"
quote = "1.0.7"
radix_fmt = "1.0.0"
rand = "0.8.5"
rayon = "1.7.0"
regex = "1.5.4"
regress = "0.10.3"
relative-path = "1.6.1"
reqwest = "0.11.14"
rustc-hash = "2"
ryu-js = "1.0.0"
scoped-tls = "1.0.1"
semver = "1.0.20"
seq-macro = "0.3"
serde = "1.0.225"
serde-wasm-bindgen = "0.6.5"
serde_derive = "1.0.225"
serde_json = "1.0.140"
sha1 = "0.10.6"
sha2 = "0.10.8"
shrink-to-fit = "0.2.1"
siphasher = "0.3.9"
smallvec = "1.8.0"
smartstring = "1.0.1"
smol_str = "0.2.0"
st-map = "0.2.0"
string_cache = "0.8.7"
swc_sourcemap = "9.3.4"
syn = "2"
tempfile = "3.6.0"
termcolor = "1.0"
thiserror = "1.0.30"
tokio = { version = "1", default-features = false }
toml = "0.8.2"
tracing = "0.1.41"
tracing-chrome = "0.7.2"
tracing-subscriber = "0.3.20"
triomphe = "0.1.13"
unicode-id-start = "1.2.0"
unicode-width = "0.2.1"
url = "2.5.4"
vergen = { version = "9.0.0", default-features = false }
walkdir = "2.4.0"
wasi-common = { version = "38", default-features = false }
wasm-bindgen = "0.2.100"
wasm-bindgen-futures = "0.4.50"
wasmer = { version = "6.1.0-rc.2", default-features = false }
wasmer-wasix = { version = "0.601.0-rc.2", default-features = false }
wasmtime = { version = "38", default-features = false }


cbor4ii = "1.2"
foldhash = "0.1"
precomputed-map = "0.2"

[workspace.metadata.cargo-shear]
# `serde` is used when #[ast_node] is expanded
# the rests are used for enabling features
ignored = [
"par-core",
"serde",
"napi",
"napi-derive",
"indexmap",
"tracing",
"num-bigint",
"swc_ecma_utils",
"swc_ecma_transforms_base",
"getrandom",
]
# bytecheck version should be in sync with rkyv version. Do not bump individually.
bytecheck = { version = "0.8.0", default-features = false }
rancor = { version = "0.1.0", default-features = false }
rkyv = { version = "0.8.8", default-features = false }


Inflector = { version = "0.11.4", default-features = false }
allocator-api2 = { version = "0.2.18", default-features = false, features = ["std"] }
ansi_term = { version = "0.12.1", default-features = false }
anyhow = { version = "1.0.81", default-features = false, features = ["std"] }
arbitrary = { version = "1", default-features = false }
arrayvec = { version = "0.7.4", default-features = false }
ascii = { version = "1.1.0", default-features = false }
assert_cmd = { version = "2.0.12", default-features = false }
assert_fs = { version = "1.0.13", default-features = false }
auto_impl = { version = "1.2.0", default-features = false }
backtrace = { version = "0.3", default-features = false, features = ["std"] }
path-clean = { version = "0.1", default-features = false }
base64 = { version = "0.22.1", default-features = false, features = ["std"] }
bitflags = { version = "2.5.0", default-features = false }
blake3 = { version = "1.5.4", default-features = false }
browserslist-rs = { version = "0.19.0", default-features = false }
bumpalo = { version = "3.16.0", default-features = false }
bytes-str = { version = "0.2.5", default-features = false }
cargo_metadata = { version = "0.18.1", default-features = false }
changesets = { version = "0.2.2", default-features = false }
chrono = { version = "0.4.38", default-features = false }
clap = { version = "4.5.9", default-features = false, features = ["std", "derive"] }
codspeed-criterion-compat = { version = "3.0.4", default-features = true }
compact_str = { version = "0.7.1", default-features = false }
console_error_panic_hook = { version = "0.1.7", default-features = false }
copyless = { version = "0.1.5", default-features = false }
crc = { version = "2.1.0", default-features = false }
criterion = { version = "0.5.1", default-features = false }
dashmap = { version = "5.5.3", default-features = false }
dialoguer = { version = "0.10.2", default-features = false }
difference = { version = "2", default-features = false }
dragonbox_ecma = { version = "0.1.0", default-features = false }
either = { version = "1.10.0", default-features = false }
enumset = { version = "1.1.2", default-features = false }
flate2 = { version = "1.0", default-features = false, features = ["rust_backend"] }
getrandom = { version = "0.3.3", default-features = false }
glob = { version = "0.3.0", default-features = false }
globset = { version = "0.4.16", default-features = false }
hashbrown = { version = "0.14.5", default-features = false }
hex = { version = "0.4.3", default-features = false, features = ["alloc"] }
humansize = { version = "2.1.3", default-features = false }
indexmap = { version = "2.0.0", default-features = false, features = ["std"] }
is-macro = { version = "0.3.5", default-features = false }
js-sys = { version = "0.3.59", default-features = false }
jsonc-parser = { version = "0.26.2", default-features = false }
kstring = { version = "2.0.0", default-features = false, features = ["std"] }
lazy_static = { version = "1.4.0", default-features = false }
lexical = { version = "6.1.0", default-features = false, features = [
"std",
"parse-integers",
"parse-floats",
] }
lightningcss = { version = "1.0.0-alpha.68", default-features = false }
lru = { version = "0.16.1", default-features = false }
memchr = { version = "2.6.1", default-features = false }
miette = { version = "7.2.0", default-features = false }
napi = { version = "3", default-features = false }
napi-derive = { version = "3", default-features = false }
napi-build = { version = "2", default-features = false }
new_debug_unreachable = { version = "1.0.6", default-features = false }
nom = { version = "7.1.3", default-features = false }
ntest = { version = "0.7.2", default-features = false }
num-bigint = { version = "0.4.3", default-features = false }
num_cpus = { version = "1.13.1", default-features = false }
once_cell = { version = "1.19.0", default-features = false, features = [
"std",
] }
owo-colors = { version = "4.2.1", default-features = false }
par-core = { version = "2.0.0", default-features = false }
par-iter = { version = "2.0.0", default-features = false }
parking_lot = { version = "0.12.1", default-features = false }
path-absolutize = { version = "3.0.11", default-features = false }
pathdiff = { version = "0.2.1", default-features = false }
petgraph = { version = "0.7.1", default-features = false, features = [
"graphmap",
"stable_graph",
] }
phf = { version = "0.11.2", default-features = false }
pretty_assertions = { version = "1.3", default-features = false, features = [
"std",
] }
proc-macro2 = { version = "1.0.24", default-features = false, features = [
"proc-macro",
] }
quote = { version = "1.0.7", default-features = false, features = ["proc-macro"] }
radix_fmt = { version = "1.0.0", default-features = false }
rand = { version = "0.8.5", default-features = false, features = [
"std",
"std_rng",
] }
rayon = { version = "1.7.0", default-features = false }
regex = { version = "1.5.4" }
regress = { version = "0.10.3", default-features = false, features = ["std", "backend-pikevm"] }
relative-path = { version = "1.6.1", default-features = false }
reqwest = { version = "0.11.14", default-features = false }
rustc-hash = { version = "2", default-features = false, features = ["std"] }
ryu-js = { version = "1.0.0", default-features = false }
scoped-tls = { version = "1.0.1", default-features = false }
semver = { version = "1.0.20", default-features = false }
seq-macro = { version = "0.3", default-features = false }
serde = { version = "1.0.225", default-features = false, features = ["std"] }
serde-wasm-bindgen = { version = "0.4.5", default-features = false }
serde_derive = { version = "1.0.225", default-features = false }
serde_json = { version = "1.0.115", default-features = false, features = [
"std",
] }
sha1 = { version = "0.10.6", default-features = false }
sha2 = { version = "0.10.8", default-features = false }
shrink-to-fit = { version = "0.2.1", default-features = false, features = ["derive"] }
siphasher = { version = "0.3.9", default-features = false }
smallvec = { version = "1.8.0", default-features = false }
smartstring = { version = "1.0.1", default-features = false }
smol_str = { version = "0.2.0", default-features = false }
st-map = { version = "0.2.0", default-features = false }
string_cache = { version = "0.8.7", default-features = false }
swc_sourcemap = { version = "9.3.0", default-features = false }
syn = { version = "2", default-features = false, features = [
"derive",
"parsing",
"printing",
"clone-impls",
"proc-macro",
] }
tempfile = { version = "3.6.0", default-features = false }
termcolor = { version = "1.0", default-features = false }
thiserror = { version = "1.0.30", default-features = false }
tokio = { version = "1", default-features = false }
toml = { version = "0.8.2", default-features = false }
tracing = { version = "0.1.40", default-features = false, features = [
"std",
"attributes",
] }
tracing-chrome = { version = "0.5.0", default-features = false }
tracing-subscriber = { version = "0.3.20", default-features = false, features = [
"fmt",
"env-filter",
"ansi",
] }
triomphe = { version = "0.1.13", default-features = false }
unicode-id-start = { version = "1.2.0", default-features = false }
unicode-width = { version = "0.1.4", default-features = false }
url = { version = "2.5.4", default-features = false }
vergen = { version = "9.0.0", default-features = false }
walkdir = { version = "2.4.0", default-features = false }
wasi-common = { version = "38", default-features = false }
wasm-bindgen = { version = "0.2.91", default-features = false }
wasm-bindgen-futures = { version = "0.4.41", default-features = false }
wasmer = { version = "6.1.0-rc.2", default-features = false }
wasmer-wasix = { version = "0.601.0-rc.2", default-features = false }
wasmtime = { version = "38", default-features = false }

cbor4ii = { version = "1.2", default-features = false }
foldhash = { version = "0.1", default-features = false }
precomputed-map = { version = "0.2", default-features = false }

[workspace.metadata.cargo-shear]
# `serde` is used when #[ast_node] is expanded
# the rests are used for enabling features
ignored = [
"par-core",
"serde",
"napi",
"napi-derive",
"indexmap",
"tracing",
"num-bigint",
"swc_ecma_utils",
"swc_ecma_transforms_base",
"getrandom",
]


[profile.release]
lto = "fat"
Expand Down
42 changes: 28 additions & 14 deletions bindings/binding_core_node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,21 +31,34 @@ __plugin_transform_vtest = [
]

[build-dependencies]
napi-build = { workspace = true }
napi-build = { workspace = true, default-features = false }


[dependencies]
anyhow = { workspace = true }
backtrace = { workspace = true }
napi = { workspace = true, features = ["napi3", "serde-json"] }
napi-derive = { workspace = true, features = ["type-def"] }
par-core = { workspace = true, features = ["chili"] }
path-clean = { workspace = true }
rustc-hash = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["unbounded_depth"] }
tracing = { workspace = true, features = ["release_max_level_info"] }
tracing-chrome = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
anyhow = { workspace = true, default-features = false }

backtrace = { workspace = true, default-features = false }

napi = { workspace = true, features = ["napi3", "serde-json"], default-features = false }

napi-derive = { workspace = true, features = ["type-def"], default-features = false }

par-core = { workspace = true, features = ["chili"], default-features = false }

path-clean = { workspace = true, default-features = false }

rustc-hash = { workspace = true, default-features = false }

serde = { workspace = true, features = ["derive"], default-features = false }

serde_json = { workspace = true, features = ["unbounded_depth"], default-features = false }

tracing = { workspace = true, features = ["release_max_level_info"], default-features = false }

tracing-chrome = { workspace = true, default-features = false }

tracing-subscriber = { workspace = true, features = ["env-filter"], default-features = false }


swc_core = { path = "../../crates/swc_core", features = [
"allocator_node",
Expand All @@ -62,4 +75,5 @@ swc_core = { path = "../../crates/swc_core", features = [
"base_node",
"base_concurrent",
] }
swc_malloc = { path = "../../crates/swc_malloc" }
swc_malloc = { path = "../../crates/swc_malloc", default-features = false }

2 changes: 1 addition & 1 deletion bindings/binding_core_node/src/transform.rs
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ pub fn transform_file(

let c = get_fresh_compiler();

let path = clean(&src);
let path = PathBuf::from(clean(&src));
let task = TransformTask {
c,
input: Input::File(path),
Expand Down
Loading
Loading