swc-project
swc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
feat(es/react-compiler): advance upstream fixture parity pipeline (#11716) ## Summary This is a strict-upstream parity follow-up for `swc_ecma_react_compiler` against the current fixture manifest baseline (`facebook/react@c80a07509582daadf275f36ffe7a88c3b12e9db4`). - align fixture harness phase execution around manifest/root handling (without phase dir duplication) - advance pipeline stage ordering in `program.rs` toward upstream `Pipeline.ts` shape - split no-op module shells into concrete pass files across `inference` / `ssa` / `optimization` / `validation` - expand constant propagation and simple DCE coverage for assignment/update normalization and alias-aware cases - tune reactive scope lowering and memoization shaping to improve fixture parity ## Scope notes - crate parity only (no `@swc/core` surface expansion in this PR) - fixture expected outputs remain upstream source-of-truth (no local output rewrites) ## Verification - `git submodule update --init --recursive` - `cargo fmt --all` - `cargo clippy --all --all-targets -- -D warnings` - `cargo test -p swc_ecma_react_compiler` - `RUN_UPSTREAM_FIXTURES=1 cargo test -p swc_ecma_react_compiler fixture_cases_upstream -- --nocapture` (fails on current known mismatch) ## Known remaining mismatch - upstream strict fixture: `createElement-freeze` - current gap: memo-block decomposition/freeze-shape parity around `React.createElement` + `shallowCopy(childProps)` ordering
main
5 hours ago
feat(react-compiler): advance upstream fixture parity pipeline
kdy1/react-compiler-upstream-parity-pipeline-followup
6 hours ago
fix(es/module): avoid rewriting unknown relative extensions (#11713) ## Summary This PR fixes `jsc.rewriteRelativeImportExtensions` rewriting unknown relative extensions to `.js`. Previously, specifiers like `./index.legacy` were rewritten to `./index.js` because unknown extensions fell through to a default rewrite. This diverged from TypeScript behavior. This change makes rewriting extension-aware and only rewrites supported extensions: - `ts | js -> js` - `tsx | jsx -> jsx` - `mts | mjs -> mjs` - `cts | cjs -> cjs` - `json -> json` - unknown extensions -> no rewrite Also adds fixture coverage for issue `#11644` to assert: - `import "./index.legacy"` stays unchanged - `import "./index.legacy.ts"` rewrites to `import "./index.legacy.js"` Closes #11644. ## Testing - `git submodule update --init --recursive` - `cargo test -p swc --test projects ts_id_tests__typescript__rewrite_relative_import_specifier__issue_11644__input -- --exact --ignored --nocapture` - `cargo test -p swc --test projects rewrite_relative_import_specifier -- --ignored` - `cargo fmt --all` - `cargo clippy --all --all-targets -- -D warnings` - `cargo test -p swc_ecma_transforms_module` `cargo test -p swc` was also run; unrelated `tests/source_map` cases failed in this environment because Node module `sourcemap-validator` is missing.
main
8 hours ago
Create smooth-games-knock.md
kdy1/fix-11644-rewrite-relative-import-extensions
8 hours ago
fix(swc): preserve symlink path space for baseUrl imports (#11584)
kdy1/fix-11584-symlink-baseurl
9 hours ago
fix(es/transforms): avoid rewriting unknown relative extensions
kdy1/fix-11644-rewrite-relative-import-extensions
9 hours ago
feat(es/react-compiler): Advance strict upstream parity (#11709) ## Summary - Continue `swc_ecma_react_compiler` strict upstream parity porting work against the current upstream fixture manifest. - Rework reactive-scope lowering/memoization paths in `reactive_scopes/mod.rs` for conditional assignment and nested call assignment cases, including tighter tail splitting guards. - Align import injection/codegen behavior with upstream output style: - alias-aware external import insertion (`entrypoint/imports.rs`) - unique local-name selection and runtime instrumentation import plumbing (`entrypoint/program.rs`) - fixture-entrypoint-based function-type hint handling for infer mode edge cases. - Add local regression fixture coverage for the nested conditional assignment shape: - `tests/fixtures/conditional-assignment-nested-call/input.js` - `tests/fixtures/conditional-assignment-nested-call/output.js` - Extend fixture parser normalization support in `tests/fixture.rs` for additional upstream fixture syntax patterns. ## Current status - This PR is intentionally **Draft** and still WIP for strict upstream completion. - `RUN_UPSTREAM_FIXTURES=1` currently still fails at: - `crates/swc_ecma_react_compiler/tests/fixtures/upstream/assignment-variations/input.js` ## Verification - `cargo fmt --all` - `cargo clippy -p swc_ecma_react_compiler --all-targets -- -D warnings` - `cargo test -p swc_ecma_react_compiler` - `RUN_UPSTREAM_FIXTURES=1 cargo test -p swc_ecma_react_compiler fixture_cases_upstream -- --nocapture` (fails at the fixture above)
main
9 hours ago
feat: add block-no-verify PreToolUse hook to .claude/settings.json\n\nCloses #11711
tupe12334:add-block-no-verify
14 hours ago
Active Branches
fix(swc): preserve symlink path space for baseUrl imports (#11584)
#11714
last run
9 hours ago
CodSpeed Performance Gauge
0%
feat(es/minifier): Remove useless arguments for non inlined callee
#11645
last run
1 day ago
CodSpeed Performance Gauge
0%
feat(swc): add suppressSourceMapErrorLogging flag
#11707
last run
1 day ago
CodSpeed Performance Gauge
0%
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs