Skip to content

Conversation

@kdy1
Copy link
Member

@kdy1 kdy1 commented Jan 23, 2026

No description provided.

kdy1 added 7 commits January 23, 2026 10:08
Releases:
  @swc/plugin-formatjs@9.4.0
  @swc/plugin-react-remove-properties@12.4.0
  @swc/plugin-styled-components@12.4.0
  @swc/plugin-transform-imports@12.4.0
  @swc/plugin-swc-confidential@11.4.0
  @swc/plugin-remove-console@12.4.0
  @swc/plugin-styled-jsx@13.4.0
  @swc/plugin-swc-magic@12.4.0
  @swc/plugin-prefresh@12.4.0
  @swc/plugin-emotion@14.4.0
  @swc/plugin-relay@12.4.0
  @swc-contrib/plugin-graphql-codegen-client-preset@0.16.0
  @swc-contrib/mut-cjs-exports@14.4.0
  @swc/plugin-experimental-feature-flags@0.2.0
  @swc/plugin-jest@12.4.0
  @swc/plugin-loadable-components@11.4.0
  @swc/plugin-noop@12.4.0
  @swc/plugin-swc-sdk@12.4.0

[skip ci]
@changeset-bot
Copy link

changeset-bot bot commented Jan 23, 2026

⚠️ No Changeset found

Latest commit: dd823e9

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 kdy1 marked this pull request as ready for review January 23, 2026 03:11
@kdy1 kdy1 enabled auto-merge (squash) January 23, 2026 03:11
@claude
Copy link

claude bot commented Jan 23, 2026

Pull Request Review

Summary

This PR updates swc_core from v53.0.0 to v55.0.2, a minor version bump that includes several upstream dependency updates. This affects all 18 plugins in the monorepo.


Code Quality & Best Practices

Positive Aspects:

  • Consistent versioning: All plugins bump their minor versions appropriately, following semantic versioning
  • Comprehensive changeset: The changeset was properly consumed and CHANGELOGs were updated for all affected packages
  • Lock file updated: Cargo.lock correctly reflects all transitive dependency updates
  • Workspace-level management: Using workspace dependencies in root Cargo.toml ensures consistency across all packages

Observations:

  • All 69 changed files are metadata updates (Cargo.toml, package.json, CHANGELOG.md, README.md) - no actual code changes
  • The PR includes properly formatted commit messages and changelog entries
  • README template merges were completed (README.tmpl.mdREADME.md)

📦 Dependency Updates

Major upstream changes in swc_core 55.x:

  1. New dependencies added:

    • dragonbox_ecma@0.1.0 - Added to swc_ecma_codegen (likely for improved number-to-string conversion)
    • swc_ecma_hooks@0.4.0 - New hooks system for ECMAScript transformations
  2. Breaking changes in transitive dependencies:

    • swc_ecma_ast: 19.0.0 → 20.0.0 (major)
    • swc_ecma_codegen: 21.0.0 → 22.0.0 (major)
    • swc_ecma_parser: 31.0.0 → 33.0.0 (major, skipped v32)
    • swc_ecma_transforms: 43.0.0 → 45.0.0 (major, skipped v44)
    • swc_ecma_minifier: 41.0.0 → 43.0.2 (major)
  3. Notable change in swc_ecma_codegen:

    • Removed: ryu-js dependency
    • Removed: swc_sourcemap dependency
    • Added: dragonbox_ecma (replacement for number formatting)

🔍 Potential Issues

⚠️ Medium Priority:

  1. No code compatibility verification visible

    • Since swc_ecma_ast, swc_ecma_codegen, and swc_ecma_parser all had major version bumps, there may be breaking API changes
    • The fact that no Rust source files changed suggests the plugins' code is still compatible, but this should be verified through successful CI runs
  2. Multiple major version skips

    • swc_ecma_parser jumped from v31 → v33 (skipped v32)
    • swc_ecma_transforms jumped from v43 → v45 (skipped v44)
    • This is unusual but may be intentional for alignment

ℹ️ Low Priority:

  1. Formatjs additional change
    • The formatjs package includes an additional change: fix(formatjs): Variable evaluate concatenation (from changeset cuddly-points-cover.md)
    • This suggests a bug fix was included alongside the version bump
    • Worth verifying this fix is properly tested

🔒 Security Concerns

No security issues identified:

  • All updates are from the trusted swc-project ecosystem
  • Dependency updates come from official crates.io registry
  • No new external dependencies with unknown provenance
  • The new dragonbox_ecma crate is a well-known algorithm implementation for number-to-string conversion

🧪 Test Coverage

Current status:

  • ✅ CI checks are running (Integration Tests, Cargo Tests, Check)
  • ✅ CLA is signed
  • ✅ Socket Security checks passed
  • ⏳ Multiple test jobs are still pending

Recommendations:

  1. Wait for CI to complete - Ensure all tests pass, especially:

    • Integration tests on Ubuntu and macOS
    • Cargo tests on Ubuntu and Windows
    • The swc_ast_unknown check
  2. Manual verification suggested (if not covered by existing tests):

    • Test at least one plugin transformation to ensure runtime compatibility
    • Verify WASM plugin system still works correctly
    • Check that number formatting in code generation behaves identically

Performance Considerations

Potential improvements:

  • The dragonbox_ecma algorithm is generally faster than ryu-js for ECMAScript number formatting
  • Removal of swc_sourcemap from swc_ecma_codegen may reduce compilation overhead
  • The new swc_ecma_hooks system might provide better extension points

No performance regressions expected, but worth monitoring:

  • Build times (both Rust and final WASM)
  • Plugin transformation throughput
  • Memory usage during transformations

📋 Recommendations

Before merging:

  1. Wait for all CI checks to pass - This is critical given the major version bumps in core dependencies
  2. 🔍 Review the formatjs bug fix - Ensure the concatenation fix is working as expected
  3. 📝 Document migration notes - If there are any behavioral changes in number formatting or codegen, document them

Optional but recommended:

  1. 🧪 Smoke test a few plugins - Quick manual verification won't hurt
  2. 📊 Monitor post-release - Watch for any user-reported issues with v55.x

🎯 Conclusion

This is a well-structured dependency update PR that follows the repository's conventions. The mechanical changes look correct, and the versioning strategy is appropriate.

Approval recommendation:Approve after CI passes

The only blocking concern is ensuring CI tests validate compatibility with the major version bumps in upstream SWC dependencies. Once those pass, this should be safe to merge.


Great work on maintaining consistency across all 18 packages! 🚀

@kdy1 kdy1 merged commit cdb3cca into main Jan 23, 2026
11 checks passed
@kdy1 kdy1 deleted the kdy1/bump branch January 23, 2026 03:16
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.

2 participants