From a76fc89b823325c010513b550feb579d5c2cd6e6 Mon Sep 17 00:00:00 2001 From: Scott Cooper Date: Wed, 5 Nov 2025 12:04:39 -0800 Subject: [PATCH 1/2] feat: Support swc v1.14.0 supports @swc/core `v1.14.0` --- Cargo.lock | 298 +++++++++++++++++++++-------------------------- Cargo.toml | 10 +- src/jsx_utils.rs | 4 +- src/lib.rs | 2 +- 4 files changed, 144 insertions(+), 170 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b0129a1..24dd136 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -44,12 +44,6 @@ version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - [[package]] name = "ascii" version = "1.1.0" @@ -58,9 +52,20 @@ checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" [[package]] name = "ast_node" -version = "3.0.3" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4902c7f39335a2390500ee791d6cb1778e742c7b97952497ec81449a5bfa3a7" +dependencies = [ + "quote", + "swc_macros_common", + "syn", +] + +[[package]] +name = "ast_node" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e2cddd48eafd883890770673b1971faceaf80a185445671abc3ea0c00593ee" +checksum = "2eb025ef00a6da925cf40870b9c8d008526b6004ece399cb0974209720f0b194" dependencies = [ "quote", "swc_macros_common", @@ -444,6 +449,16 @@ dependencies = [ "syn", ] +[[package]] +name = "from_variant" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ff35a391aef949120a0340d690269b3d9f63460a6106e99bd07b961f345ea9" +dependencies = [ + "swc_macros_common", + "syn", +] + [[package]] name = "funty" version = "2.0.0" @@ -514,27 +529,15 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hstr" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78e25778a8c9e6ed47b02e668a8bd949f7017b5141edcf80221eb3a4ca11b4b" -dependencies = [ - "hashbrown 0.14.5", - "new_debug_unreachable", - "once_cell", - "rustc-hash", - "triomphe", -] - -[[package]] -name = "hstr" -version = "2.0.0" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4933df6fceb5d21a21e9fb5b46e572a83be4108e5b544de7ebe87cc1245b5d23" +checksum = "0c43c0a9e8fbdb3bb9dc8eee85e1e2ac81605418b4c83b6b7413cbf14d56ca5c" dependencies = [ "hashbrown 0.14.5", "new_debug_unreachable", "once_cell", "rustc-hash", + "serde", "triomphe", ] @@ -737,11 +740,11 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -802,12 +805,11 @@ checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "overload", - "winapi", + "windows-sys 0.60.2", ] [[package]] @@ -861,12 +863,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "owo-colors" version = "4.2.2" @@ -1078,17 +1074,8 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", + "regex-automata", + "regex-syntax", ] [[package]] @@ -1099,15 +1086,9 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - [[package]] name = "regex-syntax" version = "0.8.5" @@ -1225,18 +1206,28 @@ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -1245,14 +1236,15 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] @@ -1366,7 +1358,7 @@ dependencies = [ "serde", "serde_json", "swc_core", - "testing 14.0.1", + "testing 18.0.0", ] [[package]] @@ -1383,50 +1375,54 @@ dependencies = [ [[package]] name = "swc_atoms" -version = "6.0.1" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fda66fe4175cddc27a79643ded7ce297b6b2bf133f038ec5907fb4673e4b2ba" +checksum = "b40c2b43a19b5d0706aca8669ae5b77b92bd141f7f8ce5e980e0e52430f54b20" dependencies = [ - "hstr 1.1.4", + "bytecheck", + "hstr", "once_cell", + "rancor", + "rkyv", "serde", ] [[package]] name = "swc_atoms" -version = "7.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3500dcf04c84606b38464561edc5e46f5132201cb3e23cf9613ed4033d6b1bb2" +checksum = "d4ccbe2ecad10ad7432100f878a107b1d972a8aee83ca53184d00c23a078bb8a" dependencies = [ - "bytecheck", - "hstr 2.0.0", + "hstr", "once_cell", - "rancor", - "rkyv", "serde", ] [[package]] name = "swc_common" -version = "13.0.4" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e103c3a47a343a175e9f65603122c5d3c8ec007776b00a4a4bc368a1347c4770" +checksum = "09e51fecd32bb0989543f0a64f4103cbd728e375838be83d768ce6989f5ea631" dependencies = [ "anyhow", - "ast_node", + "ast_node 4.0.0", "better_scoped_tls", + "bytecheck", "bytes-str", "either", - "from_variant", + "from_variant 2.0.2", "new_debug_unreachable", "num-bigint", "once_cell", "parking_lot", + "rancor", + "rkyv", "rustc-hash", "serde", "siphasher 0.3.11", - "swc_atoms 6.0.1", + "swc_atoms 8.0.2", "swc_eq_ignore_macros", + "swc_sourcemap", "swc_visit", "termcolor", "tracing", @@ -1436,45 +1432,41 @@ dependencies = [ [[package]] name = "swc_common" -version = "14.0.3" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63fdb58d278e7cd625f671e5371b3e6c0eab56c6e2a995a6f70dd0f7725255d4" +checksum = "77d9476c82da5448b227042b1e695fbe0456e7d749567e0d4ec7ac128f1e019d" dependencies = [ "anyhow", - "ast_node", + "ast_node 5.0.0", "better_scoped_tls", - "bytecheck", "bytes-str", "either", - "from_variant", + "from_variant 3.0.0", "new_debug_unreachable", "num-bigint", "once_cell", "parking_lot", - "rancor", - "rkyv", "rustc-hash", "serde", "siphasher 0.3.11", - "swc_atoms 7.0.0", + "swc_atoms 9.0.0", "swc_eq_ignore_macros", - "swc_sourcemap", "swc_visit", "termcolor", "tracing", - "unicode-width 0.1.14", + "unicode-width 0.2.1", "url", ] [[package]] name = "swc_core" -version = "36.0.1" +version = "46.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c7646f17f3a99183d22f804152a3aec4eb0f9c395bdeacd4a7531527d596bf" +checksum = "f062270a2c008b097af0f2f512fb7f6137c3ef26527fcfa7e1477acc7dc78bba" dependencies = [ "swc_allocator", - "swc_atoms 7.0.0", - "swc_common 14.0.3", + "swc_atoms 8.0.2", + "swc_common 16.0.0", "swc_ecma_ast", "swc_ecma_parser", "swc_ecma_transforms_base", @@ -1489,9 +1481,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "15.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65c25af97d53cf8aab66a6c68f3418663313fc969ad267fc2a4d19402c329be1" +checksum = "7da8bb0e5aaa6e077f178a28d29bc7da4a8ddaf012b3c21c043cb5f72a0b9779" dependencies = [ "bitflags", "bytecheck", @@ -1503,17 +1495,17 @@ dependencies = [ "rkyv", "rustc-hash", "string_enum", - "swc_atoms 7.0.0", - "swc_common 14.0.3", + "swc_atoms 8.0.2", + "swc_common 16.0.0", "swc_visit", "unicode-id-start", ] [[package]] name = "swc_ecma_codegen" -version = "17.0.0" +version = "19.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91da8222bd2e868a6977ef402b3ca5c29a41d18cd84772441d9e06ec95ded1f" +checksum = "43b756350060f51856d6d1f6ce63183b299d783d9d4458c1ecd6a3d72f4acf7e" dependencies = [ "ascii", "compact_str", @@ -1525,8 +1517,8 @@ dependencies = [ "ryu-js", "serde", "swc_allocator", - "swc_atoms 7.0.0", - "swc_common 14.0.3", + "swc_atoms 8.0.2", + "swc_common 16.0.0", "swc_ecma_ast", "swc_ecma_codegen_macros", "swc_sourcemap", @@ -1545,12 +1537,11 @@ dependencies = [ ] [[package]] -name = "swc_ecma_lexer" -version = "23.0.0" +name = "swc_ecma_parser" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce0ddc31928f622709555e3fd105e0ae679897c583f5d8a1df5236650fde859" +checksum = "6ac3281dd9eef03b877fe9cef75a4c8951ce6df0c5f381868f302ee3c58fa6e2" dependencies = [ - "arrayvec", "bitflags", "either", "num-bigint", @@ -1558,49 +1549,32 @@ dependencies = [ "rustc-hash", "seq-macro", "serde", - "smallvec", "smartstring", "stacker", - "swc_atoms 7.0.0", - "swc_common 14.0.3", - "swc_ecma_ast", - "tracing", -] - -[[package]] -name = "swc_ecma_parser" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9166873bb660bed50b5f422233537d3e946336398570a4a13e57d8c63d6a01c5" -dependencies = [ - "either", - "num-bigint", - "serde", - "swc_atoms 7.0.0", - "swc_common 14.0.3", + "swc_atoms 8.0.2", + "swc_common 16.0.0", "swc_ecma_ast", - "swc_ecma_lexer", "tracing", ] [[package]] name = "swc_ecma_testing" -version = "15.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd297865d417cf7e99bf36f4f29928e89ccf3446b56440e110b2f488f6d8d2d0" +checksum = "26ba3446b9060debb0aa7f722b9bcdaf7865f88a91ab1e77f3b35f11f7935d3a" dependencies = [ "anyhow", "hex", "sha2", - "testing 15.0.0", + "testing 17.0.0", "tracing", ] [[package]] name = "swc_ecma_transforms_base" -version = "25.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cc6454e1cf587b1d50509116350b503e7d647dbcc41bb5be9bf9a40fd792037" +checksum = "0e757ebf73dcab085bed9d1290bbe387c4cf889e21e105b4f480cbafac865ed9" dependencies = [ "better_scoped_tls", "indexmap", @@ -1609,8 +1583,8 @@ dependencies = [ "phf", "rustc-hash", "serde", - "swc_atoms 7.0.0", - "swc_common 14.0.3", + "swc_atoms 8.0.2", + "swc_common 16.0.0", "swc_ecma_ast", "swc_ecma_parser", "swc_ecma_utils", @@ -1620,9 +1594,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_testing" -version = "28.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5311a7b5da2075fe6588f217d97dfd7def8a7706de5e39fd4d3ff2f5461263d" +checksum = "43c95e674bc46c27db53aaa9b293fcfdb10b65a0fe02d33be1106ea6d0ad3b1e" dependencies = [ "ansi_term", "anyhow", @@ -1631,7 +1605,7 @@ dependencies = [ "serde", "serde_json", "sha2", - "swc_common 14.0.3", + "swc_common 16.0.0", "swc_ecma_ast", "swc_ecma_codegen", "swc_ecma_parser", @@ -1641,14 +1615,14 @@ dependencies = [ "swc_ecma_visit", "swc_sourcemap", "tempfile", - "testing 15.0.0", + "testing 17.0.0", ] [[package]] name = "swc_ecma_utils" -version = "21.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83259addd99ed4022aa9fc4d39428c008d3d42533769e1a005529da18cde4568" +checksum = "6c17da9ae2d3ad51e865bb27aa97f68b89441ef0b6ee1ba507913c412303c9b7" dependencies = [ "indexmap", "num_cpus", @@ -1656,8 +1630,8 @@ dependencies = [ "par-core", "rustc-hash", "ryu-js", - "swc_atoms 7.0.0", - "swc_common 14.0.3", + "swc_atoms 8.0.2", + "swc_common 16.0.0", "swc_ecma_ast", "swc_ecma_visit", "tracing", @@ -1665,14 +1639,14 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "15.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75a579aa8f9e212af521588df720ccead079c09fe5c8f61007cf724324aed3a0" +checksum = "d6e6fea33cf8e654d46998cb65bf2915d3dbaab869a25f0ae2c70a86f1e7c2a4" dependencies = [ "new_debug_unreachable", "num-bigint", - "swc_atoms 7.0.0", - "swc_common 14.0.3", + "swc_atoms 8.0.2", + "swc_common 16.0.0", "swc_ecma_ast", "swc_visit", "tracing", @@ -1691,28 +1665,28 @@ dependencies = [ [[package]] name = "swc_error_reporters" -version = "15.0.1" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b8bad18498e57f0f904e846b270af576bbfb7b583f1ee00bdeebe46748eb01" +checksum = "f8457a012c93109582b926c97716ff4408923bd54690a8b1fd6b138b1b6334cd" dependencies = [ "anyhow", "miette", "once_cell", "serde", - "swc_common 13.0.4", + "swc_common 16.0.0", ] [[package]] name = "swc_error_reporters" -version = "16.0.1" +version = "19.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7a16e3c08fd820735631820a7c220d5ce39bdc08b83eddbc73a645ef744511e" +checksum = "30c41e7b4f78298094092765ddf5b667491026a53a1d149c25b983188d471cbc" dependencies = [ "anyhow", "miette", "once_cell", "serde", - "swc_common 14.0.3", + "swc_common 17.0.0", ] [[package]] @@ -1748,16 +1722,16 @@ dependencies = [ [[package]] name = "swc_plugin_proxy" -version = "15.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e78029030baf942203f11eae0ea47c07367d167060ba4c55a202a1341366c5" +checksum = "5aa8c82358eebd41d96ffe6f9e8d8ebb77218e1e44ec9bd5b9d986a060ae896e" dependencies = [ "better_scoped_tls", "bytecheck", "rancor", "rkyv", "rustc-hash", - "swc_common 14.0.3", + "swc_common 16.0.0", "swc_ecma_ast", "swc_trace_macro", "tracing", @@ -1794,14 +1768,14 @@ dependencies = [ [[package]] name = "swc_transform_common" -version = "8.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca33f282df60eefee05511c9aaf557696d2f9f0e22f4a5abca318da10c22f1cc" +checksum = "ac052dc4f163680187023eaad6737cfeec2f7b69ac063bb004b3a4cc52407924" dependencies = [ "better_scoped_tls", "rustc-hash", "serde", - "swc_common 14.0.3", + "swc_common 16.0.0", ] [[package]] @@ -1866,9 +1840,9 @@ dependencies = [ [[package]] name = "testing" -version = "14.0.1" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec446acef3673f1e8cc5674e70b5ed30f248495fe2cdb4aa556e4d3ab64da3e2" +checksum = "e6071e9f3c50d975c85e606f2cc37c3a3ccff34cafc065f412fe7e04b94ae944" dependencies = [ "cargo_metadata 0.18.1", "difference", @@ -1878,8 +1852,8 @@ dependencies = [ "rustc-hash", "serde", "serde_json", - "swc_common 13.0.4", - "swc_error_reporters 15.0.1", + "swc_common 16.0.0", + "swc_error_reporters 18.0.0", "testing_macros", "tracing", "tracing-subscriber", @@ -1887,9 +1861,9 @@ dependencies = [ [[package]] name = "testing" -version = "15.0.0" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb14720ff995a98916e7fafc6771242727ed1ac5f2725059f03f203586d8ca1b" +checksum = "77e633123aa8ec1da20243f9eb885e55666f1182d451d6a5372d879f2f272aad" dependencies = [ "cargo_metadata 0.18.1", "difference", @@ -1899,8 +1873,8 @@ dependencies = [ "rustc-hash", "serde", "serde_json", - "swc_common 14.0.3", - "swc_error_reporters 16.0.1", + "swc_common 17.0.0", + "swc_error_reporters 19.0.0", "testing_macros", "tracing", "tracing-subscriber", @@ -2051,14 +2025,14 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "sharded-slab", "smallvec", "thread_local", diff --git a/Cargo.toml b/Cargo.toml index 7634db4..96db37f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,15 +15,15 @@ crate-type = ["cdylib", "lib"] [dependencies] rustc-hash = "2.1.1" -serde = { version = "1.0.217", features = ["derive"], default-features = false } -serde_json = { version = "1.0.134", default-features = false } +serde = { version = "1.0.225", features = ["derive"], default-features = false } +serde_json = { version = "1.0.145", default-features = false } # Kept in line with rspack https://github.com/web-infra-dev/rspack/blob/main/Cargo.toml -swc_core = { version = "36.0.0", features = ["ecma_plugin_transform"] } +swc_core = { version = "46.0.2", features = ["ecma_plugin_transform"] } [dev-dependencies] -testing = "14.0.0" -swc_core = { version = "36.0.0", features = ["ecma_plugin_transform", "ecma_parser", "swc_ecma_transforms_testing"] } +testing = "18.0.0" +swc_core = { version = "46.0.2", features = ["ecma_plugin_transform", "ecma_parser", "swc_ecma_transforms_testing"] } [profile.release] codegen-units = 1 diff --git a/src/jsx_utils.rs b/src/jsx_utils.rs index a2660f3..ac12532 100644 --- a/src/jsx_utils.rs +++ b/src/jsx_utils.rs @@ -65,10 +65,10 @@ pub fn create_jsx_attr(name: &str, value: &str) -> JSXAttrOrSpread { JSXAttrOrSpread::JSXAttr(JSXAttr { span: Default::default(), name: JSXAttrName::Ident(IdentName::new(name.into(), Default::default())), - value: Some(JSXAttrValue::Lit(Lit::Str(Str { + value: Some(JSXAttrValue::Str(Str { span: Default::default(), value: value.into(), raw: None, - }))), + })), }) } diff --git a/src/lib.rs b/src/lib.rs index 7b63a83..514b11b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -340,7 +340,7 @@ impl VisitMut for ReactComponentAnnotateVisitor { fn visit_mut_import_decl(&mut self, import_decl: &mut ImportDecl) { // Track imports from @emotion/styled (only if enabled) if self.config.experimental_rewrite_emotion_styled - && import_decl.src.value.as_ref() == "@emotion/styled" + && import_decl.src.value == "@emotion/styled" { for specifier in &import_decl.specifiers { match specifier { From c3d32f59c953a4cdc6a32a7c59f56f7bc38566ce Mon Sep 17 00:00:00 2001 From: Scott Cooper Date: Wed, 5 Nov 2025 12:31:53 -0800 Subject: [PATCH 2/2] bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9dcb078..6305afb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "swc-plugin-component-annotate", - "version": "1.11.0", + "version": "1.12.0", "description": "Use SWC to automatically annotate React components with data attributes for component tracking", "author": "scttcper ", "license": "MIT",