Skip to content
Draft
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
b77ebee
default-features = false
kdy1 Oct 30, 2025
af53267
lockfile
kdy1 Oct 30, 2025
2dc437b
fmt
kdy1 Oct 30, 2025
bb7294d
fix
kdy1 Oct 30, 2025
ec5f599
clap
kdy1 Oct 30, 2025
aa1eaa1
lexical
kdy1 Oct 30, 2025
7dfc745
rustc-hash/std
kdy1 Oct 30, 2025
e7a3c9c
default features
kdy1 Oct 30, 2025
52cfeaf
lexical & syn
kdy1 Oct 30, 2025
e65437b
lockfile
kdy1 Oct 30, 2025
1a0dee0
lockfile
kdy1 Oct 30, 2025
bdfbeb6
feature
kdy1 Oct 30, 2025
deb9ea2
codspeed
kdy1 Oct 30, 2025
561a4c4
serde-impl
kdy1 Oct 30, 2025
6721861
fix flate2
kdy1 Oct 30, 2025
54c8fbf
fix
kdy1 Oct 30, 2025
441b065
ansi
kdy1 Oct 30, 2025
22ee716
once_cell & serde_json
kdy1 Oct 30, 2025
f8c7f70
fix
kdy1 Oct 30, 2025
bb31861
fix swc crate
kdy1 Oct 30, 2025
a41f16a
fix
kdy1 Oct 30, 2025
27f51a5
fix jsdoc
kdy1 Oct 30, 2025
28ae6f9
fix swc_ecma_codegen
kdy1 Oct 30, 2025
fb7f46c
fix swc_ecma_codegen
kdy1 Oct 30, 2025
4e6dc83
fix more
kdy1 Oct 30, 2025
e62868c
fix hstr
kdy1 Oct 30, 2025
99aae2e
hstr
kdy1 Oct 30, 2025
a6125d7
swc_trace
kdy1 Oct 30, 2025
2c3893d
regex
kdy1 Oct 31, 2025
7007d6c
fix regex
kdy1 Oct 31, 2025
970df2c
fix
kdy1 Oct 31, 2025
36757b4
Merge branch 'main' into kdy1/size-check
github-actions[bot] Feb 2, 2026
ca16c96
fix(swc_ecma_compiler): Update dependency versions and add tracing at…
github-actions[bot] Feb 2, 2026
e0c916b
fix: Add missing serde std feature for hstr and tracing attributes fo…
github-actions[bot] Feb 2, 2026
e5fffc4
fix: Add missing serde std feature for hstr and tracing attributes fo…
github-actions[bot] Feb 2, 2026
0c7f50e
fix: Add missing features required after disabling default-features
github-actions[bot] Feb 2, 2026
af2ff3a
fix: Add missing features required after disabling default-features
github-actions[bot] Feb 2, 2026
18aeca8
fix: Add missing base64 std feature and serde-impl for react transforms
github-actions[bot] Feb 3, 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
2,519 changes: 1,050 additions & 1,469 deletions Cargo.lock

Large diffs are not rendered by default.

238 changes: 122 additions & 116 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,134 +16,140 @@ 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"
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 }
ansi_term = { version = "0.12.1", default-features = false }
anyhow = { version = "1.0.98", default-features = false }
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.17", 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 }
base64 = { version = "0.22.1", default-features = false }
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 }
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 }
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 = "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"
hashbrown = { version = "0.14.5", default-features = false }
hex = { version = "0.4.3", default-features = false }
humansize = { version = "2.1.3", default-features = false }
indexmap = { version = "2.0.0", default-features = false }
is-macro = { version = "0.3.5", default-features = false }
js-sys = { version = "0.3.77", default-features = false }
jsonc-parser = { version = "0.26.2", default-features = false }
kstring = { version = "2.0.0", default-features = false }
lazy_static = { version = "1.4.0", default-features = false }
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workspace lexical dependency adds explicit features ["std", "parse-floats", "parse-integers"] when disabling default features. This is good practice as lexical requires these for basic functionality. Consider documenting why these specific features are needed to help future maintainers understand the requirement.

Suggested change
lazy_static = { version = "1.4.0", default-features = false }
lazy_static = { version = "1.4.0", default-features = false }
# lexical's default features are disabled; `std`, `parse-floats`, and `parse-integers`
# are explicitly enabled because they are required for the crate's basic number
# parsing functionality used across this workspace.

Copilot uses AI. Check for mistakes.
lexical = { version = "6.1.0", default-features = false, features = ["std", "parse-floats", "parse-integers"] }
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.6.0", default-features = false }
napi = { version = "3", default-features = false }
napi-build = "2"
napi-build = { version = "2", default-features = false }
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"
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 = "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"
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 }
path-clean = { version = "1.0", default-features = false }
pathdiff = { version = "0.2.1", default-features = false }
petgraph = { version = "0.7.1", default-features = false }
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 }
quote = { version = "1.0.7", default-features = false }
radix_fmt = { version = "1.0.0", default-features = false }
rand = { version = "0.8.5", default-features = false }
rayon = { version = "1.7.0", default-features = false }
regex = { version = "1.5.4", default-features = false }
regress = { version = "0.10.3", default-features = false, features = ["std"] }
relative-path = { version = "1.6.1", default-features = false }
reqwest = { version = "0.11.14", default-features = false }
rustc-hash = { version = "2", default-features = false }
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 }
serde-wasm-bindgen = { version = "0.6.5", default-features = false }
serde_derive = { version = "1.0.225", default-features = false }
serde_json = { version = "1.0.140", default-features = false, features = [
"alloc",
] }
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 }
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.4", default-features = false }
syn = { version = "2", default-features = false, features = ["derive", "parsing", "printing", "clone-impls", "proc-macro"] }
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The syn workspace dependency uses features = ["derive", "parsing", "printing", "clone-impls", "proc-macro"] with default-features = false. However, individual crates using syn (like testing_macros, various codegen_macros crates) specify different feature sets without proc-macro. This could cause issues if the workspace default features don't align with what the crates actually need. Verify that all syn usages have the correct features explicitly listed.

Suggested change
syn = { version = "2", default-features = false, features = ["derive", "parsing", "printing", "clone-impls", "proc-macro"] }
syn = { version = "2", default-features = false }

Copilot uses AI. Check for mistakes.
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 = "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"
toml = { version = "0.8.2", default-features = false }
tracing = { version = "0.1.41", default-features = false }
tracing-chrome = { version = "0.7.2", default-features = false }
tracing-subscriber = { version = "0.3.20", default-features = false }
triomphe = { version = "0.1.13", default-features = false }
unicode-id-start = { version = "1.2.0", default-features = false }
unicode-width = { version = "0.2.1", default-features = false }
url = { version = "2.5.4", default-features = false }
vergen = { version = "9.0.0", default-features = false }
walkdir = "2.4.0"
walkdir = { version = "2.4.0", default-features = false }
wasi-common = { version = "38", default-features = false }
wasm-bindgen = "0.2.100"
wasm-bindgen-futures = "0.4.50"
wasm-bindgen = { version = "0.2.100", default-features = false }
wasm-bindgen-futures = { version = "0.4.50", 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 = "1.2"
foldhash = "0.1"
precomputed-map = "0.2"
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
Expand Down
18 changes: 9 additions & 9 deletions bindings/binding_core_node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,20 @@ __plugin_transform_vtest = [
]

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

[dependencies]
anyhow = { workspace = true }
backtrace = { workspace = true }
anyhow = { workspace = true, default-features = false }
backtrace = { workspace = true, default-features = false }
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"] }
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"] }
tracing = { workspace = true, features = ["release_max_level_info"] }
tracing-chrome = { workspace = true }
tracing-chrome = { workspace = true, default-features = false }
tracing-subscriber = { workspace = true, features = ["env-filter"] }

swc_core = { path = "../../crates/swc_core", features = [
Expand All @@ -63,4 +63,4 @@ swc_core = { path = "../../crates/swc_core", features = [
"base_concurrent",
"base_module",
] }
swc_malloc = { path = "../../crates/swc_malloc" }
swc_malloc = { path = "../../crates/swc_malloc", default-features = false }
6 changes: 3 additions & 3 deletions bindings/binding_core_wasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ swc_v2 = []
plugin = []

[dependencies]
anyhow = { workspace = true }
anyhow = { workspace = true, default-features = false }
getrandom = { workspace = true, features = ["wasm_js"] }
serde = { workspace = true, features = ["derive"] }
serde-wasm-bindgen = { workspace = true }
serde = { workspace = true, features = ["derive"], default-features = false }
serde-wasm-bindgen = { workspace = true, default-features = false }
swc_core = { path = "../../crates/swc_core", features = [
"ecma_ast_serde",
"ecma_codegen",
Expand Down
4 changes: 2 additions & 2 deletions bindings/binding_es_ast_viewer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ repository = { workspace = true }
version = "1.15.11"

[dependencies]
anyhow = { workspace = true }
wasm-bindgen = { workspace = true }
anyhow = { workspace = true, default-features = false }
wasm-bindgen = { workspace = true, default-features = false }

[dependencies.swc_core]
features = [
Expand Down
26 changes: 13 additions & 13 deletions bindings/binding_html_node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,29 +15,29 @@ crate-type = ["cdylib"]
[features]

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

[dependencies]
anyhow = { workspace = true }
lightningcss = { workspace = true }
anyhow = { workspace = true, default-features = false }
lightningcss = { workspace = true, default-features = false }
napi = { workspace = true, features = ["napi3", "serde-json"] }
napi-derive = { workspace = true, features = ["type-def"] }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
swc_atoms = { path = "../../crates/swc_atoms" }
serde = { workspace = true, features = ["derive"], default-features = false }
serde_json = { workspace = true, default-features = false }
swc_atoms = { path = "../../crates/swc_atoms", default-features = false }
swc_common = { path = "../../crates/swc_common", features = [
"diagnostic-serde",
] }
swc_config = { path = "../../crates/swc_config", features = ["regex"] }
swc_css_ast = { path = "../../crates/swc_css_ast" }
swc_css_codegen = { path = "../../crates/swc_css_codegen" }
swc_css_minifier = { path = "../../crates/swc_css_minifier" }
swc_css_parser = { path = "../../crates/swc_css_parser" }
swc_error_reporters = { path = "../../crates/swc_error_reporters" }
swc_html = { path = "../../crates/swc_html" }
swc_css_ast = { path = "../../crates/swc_css_ast", default-features = false }
swc_css_codegen = { path = "../../crates/swc_css_codegen", default-features = false }
swc_css_minifier = { path = "../../crates/swc_css_minifier", default-features = false }
swc_css_parser = { path = "../../crates/swc_css_parser", default-features = false }
swc_error_reporters = { path = "../../crates/swc_error_reporters", default-features = false }
swc_html = { path = "../../crates/swc_html", default-features = false }
swc_html_ast = { path = "../../crates/swc_html_ast", features = ["serde"] }
swc_html_minifier = { path = "../../crates/swc_html_minifier", features = [
"custom-css-minifier",
] }
swc_nodejs_common = { path = "../../crates/swc_nodejs_common" }
swc_nodejs_common = { path = "../../crates/swc_nodejs_common", default-features = false }
tracing = { workspace = true, features = ["release_max_level_info"] }
Loading
Loading