swc-project
swc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
perf(es/typescript): Skip const initializers that cannot be constant `compute` takes the initializer by value, so the collection pass cloned every `const` initializer in the program, while most of them hit the `Opaque` catch-all right away: in real TypeScript they are mostly arrow functions, object literals and calls. Check the outermost form before cloning. `es/transform/baseline/common_typescript` goes from 59.6 us back to 53.3 us, against 53.3 us on main. No test output changes.
baltasarblanco:fix/11715-ts-enum-const-var-folding
37 minutes ago
test(es/typescript): Update constEnum2 tsc reference `g = CONST` now resolves to a constant, so the member is inlined and no longer emitted, matching how `d = 10` is already handled in the same `const enum`. The remaining members stay opaque because they call `Math.random()`.
baltasarblanco:fix/11715-ts-enum-const-var-folding
3 hours ago
chore: Add changeset
baltasarblanco:fix/11715-ts-enum-const-var-folding
3 hours ago
fix(flow): preserve component semantics without AST break
fix/flow-component-type-semantics
11 hours ago
fix(plugin/runner): write Wasmer cache atomically (#12100) **Description:** This fixes intermittent Wasmer plugin cache corruption when multiple processes compile the same plugin concurrently. The Wasmer backend previously serialized modules directly to the final cache path. Parallel Jest, Turbo, or Nx workers could observe the file after its metadata header was written but before the complete artifact was available, producing `metadata_len` slice-bound failures. The backend now serializes the module in memory, writes it to a unique temporary file in the cache directory, and atomically renames the completed file into place. A concurrent-writer regression test verifies that readers only observe complete cache artifacts. **Related issue (if exists):** Fixes #6467 **Validation:** - `cargo test -p swc_plugin_backend_wasmer` - `cargo fmt --all` - `cargo clippy --all --all-targets -- -D warnings`
main
11 hours ago
chore: Add changeset
kdy1/fix-wasmer-cache-atomic-write
12 hours ago
fix(hstr): avoid references to uninitialized bytes (#12087) **Description:** Fixes two soundness issues in `hstr` where mutable byte references were formed over uninitialized storage. - Use an initialized 64-byte stack buffer in `Atom::from_mutated_str`, retaining the stack fast path and heap fallback for longer strings. - Encode WTF-8 code points through `Vec::spare_capacity_mut()` and `MaybeUninit::write`, updating the vector length only after the exact encoded byte count is initialized. - Document the safety invariants for retained unsafe operations. - Add focused regression coverage for short, 64-byte, and over-64-byte ASCII case conversion and one- through four-byte code-point appends, including an unpaired surrogate. Validation: - `cargo test -p hstr` - Focused Miri runs for both new regression tests - `cargo fmt --all` - `cargo clippy --all --all-targets -- -D warnings` **Related issue (if exists):** Closes #12083 --------- Co-authored-by: Labor0 Bot <279936132+labor0-bot[bot]@users.noreply.github.com>
main
12 hours ago
chore: Update vulnerable dependencies
fix/hstr-uninitialized-memory
17 hours ago
Latest Branches
CodSpeed Performance Gauge
-2%
fix(es/typescript): Treat const variable references as enum constants
#12101
42 minutes ago
f6f9b27
baltasarblanco:fix/11715-ts-enum-const-var-folding
CodSpeed Performance Gauge
0%
fix(es/typescript): preserve Flow component type semantics
#12090
11 hours ago
37e28bd
fix/flow-component-type-semantics
CodSpeed Performance Gauge
0%
fix(plugin/runner): write Wasmer cache atomically
#12100
12 hours ago
0d59848
kdy1/fix-wasmer-cache-atomic-write
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs