Skip to content

build: Update swc_core to v76.0.0 - #649

Merged
Donny/강동윤 (kdy1) merged 5 commits into
mainfrom
kdy1/core76
Aug 8, 2026
Merged

build: Update swc_core to v76.0.0#649
Donny/강동윤 (kdy1) merged 5 commits into
mainfrom
kdy1/core76

Conversation

@kdy1

Copy link
Copy Markdown
Member

No description provided.

Releases:
  @swc/plugin-react-remove-properties@12.19.0
  @swc/plugin-styled-components@12.19.0
  @swc/plugin-transform-imports@12.19.0
  @swc/plugin-swc-confidential@11.19.0
  @swc-contrib/mut-cjs-exports@14.19.0
  @swc/plugin-remove-console@12.19.0
  @swc/plugin-experimental-feature-flags@0.18.0
  @swc/plugin-styled-jsx@13.19.0
  @swc/plugin-swc-magic@12.19.0
  @swc/plugin-formatjs@9.19.0
  @swc/plugin-prefresh@12.19.0
  @swc/plugin-emotion@14.19.0
  @swc/plugin-swc-sdk@12.19.0
  @swc/plugin-relay@12.19.0
  @swc-contrib/plugin-graphql-codegen-client-preset@0.31.0
  @swc/plugin-jest@12.19.0
  @swc/plugin-loadable-components@11.19.0
  @swc/plugin-noop@12.19.0

[skip ci]
@changeset-bot

changeset-bot Bot commented Aug 8, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 34a6816

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@kdy1
Donny/강동윤 (kdy1) enabled auto-merge (squash) August 8, 2026 01:32
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedcargo/​swc_ecma_visit@​27.0.0 ⏵ 28.0.08210093 +1100100
Updatedcargo/​swc_ecma_minifier@​59.0.0 ⏵ 60.0.086 +1100100100100
Updatedcargo/​testing@​25.0.0 ⏵ 26.0.09910093100100
Updatedcargo/​clap@​4.6.4 ⏵ 4.6.69910093100100
Updatedcargo/​swc_ecma_codegen@​30.0.0 ⏵ 31.0.010010093 +1100100
Updatedcargo/​swc_ecma_transforms_testing@​51.0.0 ⏵ 52.0.098 +110093 +1100100
Updatedcargo/​preset_env_base@​8.0.1 ⏵ 9.0.010010093 +1100100
Updatedcargo/​swc_css_ast@​24.0.0 ⏵ 25.0.010010093 +1100100
Updatedcargo/​swc_css_compat@​24.0.0 ⏵ 25.0.010010093 +1100100
Updatedcargo/​swc_ecma_transforms@​60.0.0 ⏵ 61.0.010010093 +1100100
Updatedcargo/​swc_common@​24.0.0 ⏵ 25.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_core@​75.0.0 ⏵ 76.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_ecma_ast@​27.0.0 ⏵ 28.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_ecma_parser@​43.0.0 ⏵ 44.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_ecma_transforms_base@​47.0.0 ⏵ 48.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_ecma_utils@​33.0.0 ⏵ 34.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_plugin_macro@​1.1.1 ⏵ 2.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_plugin_proxy@​28.0.0 ⏵ 29.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_css_codegen@​24.0.0 ⏵ 25.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_css_minifier@​24.0.0 ⏵ 25.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_css_parser@​24.0.0 ⏵ 25.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_css_prefixer@​29.0.0 ⏵ 30.0.0100100100100100
Updatedcargo/​swc_css_visit@​24.0.0 ⏵ 25.0.0N/AN/AN/AN/AN/A
Updatedcargo/​swc_ecma_transforms_react@​53.0.0 ⏵ 54.0.0N/AN/AN/AN/AN/A

View full report

@kdy1
Donny/강동윤 (kdy1) merged commit 10e65ec into main Aug 8, 2026
11 checks passed
@kdy1
Donny/강동윤 (kdy1) deleted the kdy1/core76 branch August 8, 2026 01:39
@claude

claude Bot commented Aug 8, 2026

Copy link
Copy Markdown

Review: build: Update swc_core to v76.0.0

This is a clean, mechanical dependency bump. I verified it locally rather than just eyeballing the diff — everything checks out. Details below, plus three small non-blocking notes.

What I verified

Check Result
cargo check --workspace --all-targets ✅ clean, no new warnings
cargo metadata --locked Cargo.lock in sync with the manifests
Path-dep version fields vs. actual crate versions (14 of them) ✅ all match
Duplicate swc_* versions in Cargo.lock ✅ none (single swc_common 25, swc_ecma_ast 28, swc_atoms 10, …)
npm package/CHANGELOG bumps ✅ all 16 packages/* + 2 contrib/* bumped consistently
packages/emotion wasm integration test (real @swc/core load) ✅ 8/8 passing

Notably swc_ecma_ast 27→28 and swc_plugin_macro 1.1.1→2.0.0 landed with zero source changes required — worth calling out since the previous bump (#647) needed a fix in packages/emotion/transform/src/lib.rs. The --cfg swc_ast_unknown build flag is doing its job here.

The Cargo.lock diff is also reassuringly boring: transitive version updates only, one crate dropped (minimal-lexical, via the nom update), zero crates added. Nothing to flag from a supply-chain angle, and Socket Security agrees.

Notes (all non-blocking)

1. @swc/core devDependency lags the plugin ABI

package.json pins "@swc/core": "^1.15.43" (published 2026-06-22), while swc_core 76.0.0 was published today. Since CI runs pnpm i with CI=1 (frozen lockfile), the integration tests exercise plugins built on swc_core 76 against a host built on roughly swc_core 71/72.

That's not broken — I confirmed locally that the emotion wasm plugin loads and transforms correctly under 1.15.43 — but it does mean the "newest host" path is untested. @swc/core 1.15.47 (2026-07-29) is available; bumping the devDependency would test against a host closer to the plugin's own core version. Worth doing in a follow-up rather than here.

2. Changesets say "Minor" for what is a major Rust bump

Every changeset is ### Minor Changes, so consumers get e.g. @swc/plugin-emotion 14.18.0 → 14.19.0. This matches the repo's established convention (#647 did the same), so no change requested — but for a bump that crosses a breaking swc_ecma_ast boundary, a sentence in the changeset naming the minimum compatible @swc/core would save users a confusing plugin-load error after an innocuous-looking minor upgrade.

3. Stale contrib/graphql-codegen-client-preset/Cargo.lock (pre-existing)

That crate is a root-workspace member (members = [..., "contrib/*"]) and uses swc_core = { workspace = true }, so its local Cargo.lock is never consulted — yet it still pins swc_core = "0.75.33". Harmless today, but "0.75.x" sitting next to a 75→76 bump is exactly the kind of thing that costs someone ten minutes later. Suggest deleting it in a cleanup PR.

Not introduced here

crates/swc_feature_flags/src/stats.rs:114 and :164 emit unreachable pattern warnings for the _ => arms on Lit and Callee. I checked out main and reproduced both against swc_core 75, so this predates the PR — mentioning only so it isn't mistaken for fallout from the AST bump.

Test coverage

No new tests warranted for a version bump; the existing per-package wasm integration suites are the right gate and they cover the risk. All CI checks green at time of review (Integration Test ubuntu + macOS, cargo test, and the swc_ast_unknown check).

LGTM — ship it. 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant