diff --git a/.changeset/long-cameras-refuse.md b/.changeset/long-cameras-refuse.md new file mode 100644 index 0000000000..a38cb16074 --- /dev/null +++ b/.changeset/long-cameras-refuse.md @@ -0,0 +1,5 @@ +--- +"@lynx-js/web-explorer": patch +--- + +chore: import qr-scanner from unpkg diff --git a/.changeset/quick-taxes-ring.md b/.changeset/quick-taxes-ring.md new file mode 100644 index 0000000000..5de596b2ee --- /dev/null +++ b/.changeset/quick-taxes-ring.md @@ -0,0 +1,5 @@ +--- +"@lynx-js/template-webpack-plugin": patch +--- + +Avoid CSS encode crash on Web platform. diff --git a/Cargo.lock b/Cargo.lock index e249b5249a..a6bdca6a76 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -131,11 +131,12 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64-simd" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5" +checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" dependencies = [ - "simd-abstraction", + "outref", + "vsimd", ] [[package]] @@ -232,7 +233,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.22", + "semver", "serde", "serde_json", "thiserror 1.0.69", @@ -246,7 +247,7 @@ checksum = "8769706aad5d996120af43197bf46ef6ad0fda35216b4505f926a365a232d924" dependencies = [ "camino", "cargo-platform", - "semver 1.0.22", + "semver", "serde", "serde_json", "thiserror 2.0.9", @@ -676,7 +677,7 @@ dependencies = [ "new_debug_unreachable", "once_cell", "phf", - "rustc-hash 2.1.1", + "rustc-hash", "triomphe", ] @@ -1249,9 +1250,9 @@ dependencies = [ [[package]] name = "outref" -version = "0.1.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4" +checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" [[package]] name = "overload" @@ -1400,8 +1401,8 @@ dependencies = [ "dashmap", "from_variant", "once_cell", - "rustc-hash 2.1.1", - "semver 1.0.22", + "rustc-hash", + "semver", "serde", "st-map", "tracing", @@ -1506,7 +1507,7 @@ dependencies = [ "napi-derive", "once_cell", "regex", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "serde_json", "sha-1", @@ -1582,27 +1583,12 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc-hash" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustix" version = "0.38.30" @@ -1652,15 +1638,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - [[package]] name = "semver" version = "1.0.22" @@ -1670,12 +1647,6 @@ dependencies = [ "serde", ] -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - [[package]] name = "serde" version = "1.0.217" @@ -1751,15 +1722,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "simd-abstraction" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987" -dependencies = [ - "outref", -] - [[package]] name = "siphasher" version = "0.3.10" @@ -1785,17 +1747,16 @@ dependencies = [ [[package]] name = "sourcemap" -version = "9.1.2" +version = "9.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c4ea7042fd1a155ad95335b5d505ab00d5124ea0332a06c8390d200bb1a76a" +checksum = "dd430118acc9fdd838557649b9b43fd0a78e3834d84a283b466f8e84720d6101" dependencies = [ "base64-simd", "bitvec", "data-encoding", "debugid", "if_chain", - "rustc-hash 1.1.0", - "rustc_version", + "rustc-hash", "serde", "serde_json", "unicode-id-start", @@ -1868,9 +1829,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "swc" -version = "21.0.0" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3809091d5035036db41f5212697b10e492a6c97d50bf76839ac52481547a0528" +checksum = "80c62891c5429818ccfd614cc1e6023ca005a8a893ef47a18c4620d5f1bf4e8e" dependencies = [ "anyhow", "base64", @@ -1885,7 +1846,7 @@ dependencies = [ "parking_lot", "pathdiff", "regex", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "serde_json", "sourcemap", @@ -1928,7 +1889,7 @@ dependencies = [ "bumpalo", "hashbrown 0.14.5", "ptr_meta", - "rustc-hash 2.1.1", + "rustc-hash", "triomphe", ] @@ -1940,7 +1901,7 @@ checksum = "9d7077ba879f95406459bc0c81f3141c529b34580bc64d7ab7bd15e7118a0391" dependencies = [ "hstr", "once_cell", - "rustc-hash 2.1.1", + "rustc-hash", "serde", ] @@ -1954,15 +1915,15 @@ dependencies = [ "dashmap", "once_cell", "regex", - "rustc-hash 2.1.1", + "rustc-hash", "serde", ] [[package]] name = "swc_common" -version = "8.1.1" +version = "9.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f8c8e4348383e4154f8d384cdad7e48f5d6d3daef78af376ac4e5ddbbf60c88" +checksum = "a56b6f5a8e5affa271b56757a93badee6f44defcd28f3ba106bb2603afe40d3d" dependencies = [ "anyhow", "ast_node", @@ -1974,7 +1935,7 @@ dependencies = [ "num-bigint", "once_cell", "parking_lot", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "siphasher", "sourcemap", @@ -1990,15 +1951,15 @@ dependencies = [ [[package]] name = "swc_compiler_base" -version = "18.0.0" +version = "19.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3516918cdce803f6c175aeefefbf3a05b4064eadc2a772f98da63d4282f85497" +checksum = "6ac447d455ed338b84dcd914e790525a12a2a2f91173359e5ac7d62b4915af39" dependencies = [ "anyhow", "base64", "once_cell", "pathdiff", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "serde_json", "sourcemap", @@ -2043,9 +2004,9 @@ dependencies = [ [[package]] name = "swc_core" -version = "22.5.4" +version = "23.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2051c6159ef5b26060fede1fcf1bd1ddbabaa5d669f0adc180af16f19aba120c" +checksum = "bd11a6fb068925bcb493d68ec6f1f35fb28c0bd9052071d22e49d4d60fae8916" dependencies = [ "swc", "swc_allocator", @@ -2072,9 +2033,9 @@ dependencies = [ [[package]] name = "swc_css_ast" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9482f1ab79c5de548a8872421a6625fbf7a70102a354bb16da280689edd1768" +checksum = "bd778bc4e1601c6cc510542f1ec9f63207f4c703738e795b36a2de18eaeaf679" dependencies = [ "is-macro", "string_enum", @@ -2084,13 +2045,13 @@ dependencies = [ [[package]] name = "swc_css_codegen" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f75578c97d9338cb6ae4007bda693690bac1c5b5d0bf817d43cd0b0e08632a1" +checksum = "1f7422302204a99d0f63c1876a6dd8e8c389c73a9d6838bdef502e74e21c5511" dependencies = [ "auto_impl", "bitflags 2.5.0", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "swc_atoms", "swc_common", @@ -2113,9 +2074,9 @@ dependencies = [ [[package]] name = "swc_css_parser" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d445ed47fad61fa7f0a60c1bfd6364c6686d5f3482959f8c13bed2789e98ee26" +checksum = "e8d8f886ca5c6e01f110569661a3b8858b1446b082cb1ebcf7373628a27c6c84" dependencies = [ "lexical", "serde", @@ -2126,12 +2087,12 @@ dependencies = [ [[package]] name = "swc_css_utils" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0976acf568ddc227f407ade30677f4e36122bd9906cc4c3997796bf76fb773cd" +checksum = "5bdc773abf536501676628aef3138fb5ee0b6e2f74b50b92a55e6d01c71bc6b4" dependencies = [ "once_cell", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "serde_json", "swc_atoms", @@ -2142,9 +2103,9 @@ dependencies = [ [[package]] name = "swc_css_visit" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b941b45c434b6875146a0675a4c60c65a79d8c41a37457f8a33c05519d5c7f" +checksum = "992563fbab95867e30a77abf59b0394cd00a31ecf14688a2da1b7c1c7955880f" dependencies = [ "serde", "swc_atoms", @@ -2155,16 +2116,16 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "8.1.2" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4062a54522a9c02d2b68cc09282774b87121cd48693b0e67ae8c18b31b709866" +checksum = "0613d84468a6bb6d45d13c5a3368b37bd21f3067a089f69adac630dcb462a018" dependencies = [ "bitflags 2.5.0", "is-macro", "num-bigint", "once_cell", "phf", - "rustc-hash 2.1.1", + "rustc-hash", "scoped-tls", "serde", "string_enum", @@ -2176,9 +2137,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "10.0.1" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27cc2d631ecea893af463ec23a70d9e2f1489de010618835dfd3c716ec56bd9d" +checksum = "b01b3de365a86b8f982cc162f257c82f84bda31d61084174a3be37e8ab15c0f4" dependencies = [ "ascii", "compact_str", @@ -2186,7 +2147,7 @@ dependencies = [ "num-bigint", "once_cell", "regex", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "sourcemap", "swc_allocator", @@ -2211,11 +2172,11 @@ dependencies = [ [[package]] name = "swc_ecma_compat_bugfixes" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e908297dfe18472b82b391ae444a72dbd63c4b5f2823eba52c1bf7972903952" +checksum = "cff1612d4d90df938533b5308634be1228c6bf14d7141c9f7787c99b5b26f4cc" dependencies = [ - "rustc-hash 2.1.1", + "rustc-hash", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -2229,9 +2190,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_common" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2d5902317bbf8e8c1944e63f19057e6dff1fb60a8a73f33bb26bdb2d365662" +checksum = "611db1605bff05603aacaf5e14f58cf2339991cceef03817bb8ed19010d10506" dependencies = [ "swc_common", "swc_ecma_ast", @@ -2242,14 +2203,14 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2015" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb1efa640c57cbc4eaa40625275a86ff99a29cd0f4997668c88117e86390e821" +checksum = "f2a2cf0263f34234cfcebde0545e4ed017e1b2b5667792c6902319d75df03110" dependencies = [ "arrayvec", "indexmap", "is-macro", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "serde_derive", "smallvec", @@ -2269,9 +2230,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2016" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b890417e8080d460e1962c73d58f94cca5b27c5ec89f8ba37a114c7dd6a76b" +checksum = "a2c8cce4b0b0acfa156c235eca429d1bbffe3297cb48cd61578908ddcc5a8899" dependencies = [ "swc_atoms", "swc_common", @@ -2286,9 +2247,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2017" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2d327146bb2b7b936b0d78e4212b039b1aa4149bbc187fd76db1ee3176e755" +checksum = "4da9ff1172f67c8792b73d97a9c578e7de44b3af7a60991ce87145cf7f5372c8" dependencies = [ "serde", "swc_atoms", @@ -2304,9 +2265,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2018" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41fe86e2a237f1b87ed4d34c20a3721665328fc8f1b8e5e6bdeb022ce52f148" +checksum = "544ef337a40dfa7f3fe7b4c7e65bba99057258f3ecee79fa9052eac59f502b97" dependencies = [ "serde", "swc_atoms", @@ -2323,9 +2284,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2019" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e06197f2f74f2a6366cfbf68d4de4feabf42bd2532413c71347ba7cdbe964c40" +checksum = "e116fb7a5a50251947160862c52596bdd2d8c417a1f9b8eb061d83bdfc699272" dependencies = [ "swc_atoms", "swc_common", @@ -2339,9 +2300,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2020" -version = "13.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92568d138eec2894c644fbf865401778026b42b45fa1073739b732cd66d55b42" +checksum = "4e858e1fc3d5a4299a81ca25028f8a01feca8f1876db6d2e19bbe5a8bac39c8a" dependencies = [ "serde", "swc_atoms", @@ -2357,9 +2318,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2021" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b38614b689a8ed0b4cda05bee30a7f908ea621db6010888f407be282884ecbe" +checksum = "8ba25f8d0c7f915525abe4f2efde17c7f04ecd7a1500acc82a36133bef7b9f60" dependencies = [ "swc_atoms", "swc_common", @@ -2373,11 +2334,11 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2022" -version = "13.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2923bf7ce2236f36aef951bd204ec115a17af421cdc696ff526c9ba22983533f" +checksum = "c412ba2452b20fdcb791448c6606ba43fa84f80e23b0b2fef0cc9ee02794d12c" dependencies = [ - "rustc-hash 2.1.1", + "rustc-hash", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -2393,9 +2354,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es3" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b386df40a8b1d0a71eb54b5766ce483bb4f9311c4df931035542a39341861" +checksum = "059c8b419ce4a2e432ec1520dde77db3b8f45df552bf0b6bd974d8516986c9eb" dependencies = [ "swc_common", "swc_ecma_ast", @@ -2408,9 +2369,9 @@ dependencies = [ [[package]] name = "swc_ecma_ext_transforms" -version = "12.0.0" +version = "13.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0064bdc27ebff66cb92e596b13e9c0e13c671c56b327c0083c200e4793c8db2b" +checksum = "cd377cf6502daf10b2d7428ea35ae959ca3584a7c968c296af3bdd98e70cff12" dependencies = [ "phf", "swc_atoms", @@ -2422,9 +2383,9 @@ dependencies = [ [[package]] name = "swc_ecma_lexer" -version = "11.1.3" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d9ed10e3efa2230d0b3d0ad63c2e67d9b40c3892f31a865ad14d6fa881e0e9" +checksum = "0d11c8e71901401b9aae2ece4946eeb7674b14b8301a53768afbbeeb0e48b599" dependencies = [ "arrayvec", "bitflags 2.5.0", @@ -2433,7 +2394,7 @@ dependencies = [ "num-bigint", "num-traits", "phf", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "smallvec", "smartstring", @@ -2447,16 +2408,16 @@ dependencies = [ [[package]] name = "swc_ecma_lints" -version = "12.1.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86c9a647230352f00452699472e16fa76ec54a9e4acfe7fb8c0c93ec3d0ee07" +checksum = "10710ebbe155fd07b5be28a6af80c6f46c6385feeb3f6b3033d1d5d93b885312" dependencies = [ "auto_impl", "dashmap", "par-core", "parking_lot", "regex", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "swc_atoms", "swc_common", @@ -2468,9 +2429,9 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a801462c997b71e4add7684ce4953c7d6200c75b5552b8d594783da84ad9564c" +checksum = "8eb574d660c05f3483c984107452b386e45b95531bdb1253794077edc986f413" dependencies = [ "anyhow", "dashmap", @@ -2480,7 +2441,7 @@ dependencies = [ "parking_lot", "path-clean 0.1.0", "pathdiff", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "serde_json", "swc_atoms", @@ -2491,9 +2452,9 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "16.1.1" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "141aa9573ead69dd6dec2ccf7b05970d0ceae5d7d78e898ec428b5eafb8385fd" +checksum = "bca0ad5b72d8b440e701d47f544a728543414f6f165c6c61a899a76d3c7fdf9d" dependencies = [ "arrayvec", "bitflags 2.5.0", @@ -2507,7 +2468,7 @@ dependencies = [ "phf", "radix_fmt", "regex", - "rustc-hash 2.1.1", + "rustc-hash", "ryu-js", "serde", "serde_json", @@ -2529,9 +2490,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "11.1.4" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9ff9993501422696a575a4c02158aa74501ef52e535f19208e71af913cb876" +checksum = "250786944fbc05f6484eda9213df129ccfe17226ae9ad51b62fce2f72135dbee" dependencies = [ "arrayvec", "bitflags 2.5.0", @@ -2540,7 +2501,7 @@ dependencies = [ "num-bigint", "num-traits", "phf", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "smallvec", "smartstring", @@ -2555,17 +2516,17 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "16.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcdb997223f2c92bb31278cf25b37398209fe5ce6a5cf276cf0cdc264386124b" +checksum = "551d1b1d3f27e9525b001fba9afd06294a5eaf8a8a9aff85da458a51e790ca1c" dependencies = [ "anyhow", "dashmap", "indexmap", "once_cell", "preset_env_base", - "rustc-hash 2.1.1", - "semver 1.0.22", + "rustc-hash", + "semver", "serde", "serde_json", "st-map", @@ -2580,14 +2541,14 @@ dependencies = [ [[package]] name = "swc_ecma_quote_macros" -version = "11.0.0" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26132f0851c46a258f954cc00ca6c71fe6ab4520f6fde722e6e8a200c61f6c83" +checksum = "3221879cd18131a3946f8f29d181fe239b58b6595ccefa7263a9395ad4b5e575" dependencies = [ "anyhow", "proc-macro2", "quote", - "rustc-hash 2.1.1", + "rustc-hash", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -2598,9 +2559,9 @@ dependencies = [ [[package]] name = "swc_ecma_testing" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb63358ab7094db21eb0c90eba89161bbe3c35e39c27f414ecdc9f4ffc8bc601" +checksum = "977386a831e9464cc99e914d5682621efca49c443e5c737a00a2babd6d1589aa" dependencies = [ "anyhow", "hex", @@ -2611,9 +2572,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "15.0.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13aeeeb6ba750d144d49d96f900063706e8e4ff45d63d1ccde0ce5f441bcee6a" +checksum = "3f2813bad599d24b1aeba4c90891703a046d86b681b003863673f2b418dff185" dependencies = [ "par-core", "swc_atoms", @@ -2632,9 +2593,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "12.2.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46e3a36213d78fb4233e596b8a5c81c6cdafe02d03d780eed006c983aa0a724" +checksum = "6856da3da598f4da001b7e4ce225ee8970bc9d5cbaafcaf580190cf0a6031ec5" dependencies = [ "better_scoped_tls", "bitflags 2.5.0", @@ -2642,7 +2603,7 @@ dependencies = [ "once_cell", "par-core", "phf", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "smallvec", "swc_atoms", @@ -2656,9 +2617,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d871bbd46d14d032a48c14096abd778a8a87831638343f28b581c3025daa7086" +checksum = "0f84248f82bad599d250bbcd52cb4db6ff6409f48267fd6f001302a2e9716f80" dependencies = [ "swc_atoms", "swc_common", @@ -2670,9 +2631,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "13.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbfdfb50bd6db7991105f371b23ebb7cc79d48f43f53866a9a55dfbf7cfacd36" +checksum = "012cd84fcc6c6fab718a177a3ffc360332d6bad29dbe19699be2ccbaba91e712" dependencies = [ "arrayvec", "indexmap", @@ -2719,9 +2680,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "13.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0cf50886962aa3d7d20317a486971b91002a930b236c1e4af1f1050280b4070" +checksum = "4653a46bffad40875469a0b75f0b9c8f1e019ca7014a45e876c3a10aadd58721" dependencies = [ "Inflector", "anyhow", @@ -2731,7 +2692,7 @@ dependencies = [ "path-clean 1.0.1", "pathdiff", "regex", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "swc_atoms", "swc_cached", @@ -2747,16 +2708,16 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "12.0.1" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a73505f2f176d0b6b30da360e28d561f904c5737581461b72dde6c27e899795" +checksum = "b5874d0c808f0e658882edf00fef3d206f01a22781c48ca9b1795cf025cc9650" dependencies = [ "dashmap", "indexmap", "once_cell", "par-core", "petgraph", - "rustc-hash 2.1.1", + "rustc-hash", "serde_json", "swc_atoms", "swc_common", @@ -2771,12 +2732,12 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048ba8acaa043f9468bb3bd1f5aae6f2e6b06865119226f9c45a971a012cc2d8" +checksum = "193237e318421ef621c2b3958b4db174770c5280ef999f1878f2df93a2837ca6" dependencies = [ "either", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "smallvec", "swc_atoms", @@ -2791,15 +2752,15 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "13.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e7635afe1e1e798d61ff3107b8d27e437e61f243dd226a47fb10724693be66" +checksum = "e17564ef28b1183a5d79f890066f11aba4563f390708cb03a6738cbc24799210" dependencies = [ "base64", "dashmap", "indexmap", "once_cell", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "sha1", "string_enum", @@ -2817,9 +2778,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_testing" -version = "15.0.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1e112d74cbf146d419b4df60de430fd8db4fef99df0443d7a96a3b30bd5878" +checksum = "93a905befc831be30430ab1e4af5aa6f2052ea397f44e1747c28a4d3859f4f84" dependencies = [ "ansi_term", "anyhow", @@ -2844,12 +2805,12 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "13.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec3c91a2c37372746ebc5608e30b7c2c3af60216768b59ec6413ee2bfe44c29" +checksum = "a647a99548ead69e5e87cf2b7caa7921e8a81e252e13e3180c3101a1d911fa6b" dependencies = [ "once_cell", - "rustc-hash 2.1.1", + "rustc-hash", "ryu-js", "serde", "swc_atoms", @@ -2863,13 +2824,13 @@ dependencies = [ [[package]] name = "swc_ecma_usage_analyzer" -version = "13.1.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7996df8dd85d04baafda803746713869110ef6f12fb88b23cf4ddabe11c90f" +checksum = "4d7858f1eccac3c8a85b97ba3820020583efa28bc766d253f0a93d7bbc54c985" dependencies = [ "bitflags 2.5.0", "indexmap", - "rustc-hash 2.1.1", + "rustc-hash", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -2881,16 +2842,16 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "12.0.1" +version = "13.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7c499ba586b784be6dfbdd76ebd3cfdbabaf43a5bda162a11fe7dd326670b62" +checksum = "7ed837406d5dbbfbf5792b1dc90964245a0cf659753d4745fe177ffebe8598b9" dependencies = [ "indexmap", "num_cpus", "once_cell", "par-core", "par-iter", - "rustc-hash 2.1.1", + "rustc-hash", "ryu-js", "swc_atoms", "swc_common", @@ -2902,9 +2863,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f7a65fa06d0c0f709f1df4e820ccdc4eca7b3db7f9d131545e20c2ac2f1cd23" +checksum = "249dc9eede1a4ad59a038f9cfd61ce67845bd2c1392ade3586d714e7181f3c1a" dependencies = [ "new_debug_unreachable", "num-bigint", @@ -2928,9 +2889,9 @@ dependencies = [ [[package]] name = "swc_error_reporters" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "499cf6a20e6acb36f15e22cca18dadc108d7046ae062840b7371ae02eac4dfde" +checksum = "e3b5be5f151485ec9372c23bbb132c4a829c879632db8b790439779b873970be" dependencies = [ "anyhow", "miette", @@ -2955,12 +2916,12 @@ dependencies = [ [[package]] name = "swc_node_comments" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97dba66fc5f0df68c706dc99ade59bcba4ce55c585117eefccafe1337ca270f" +checksum = "7b9ded5a3355c56eb1148491c70bd4f85f7fcb706d40c0a86a67260cbcb560c3" dependencies = [ "dashmap", - "rustc-hash 2.1.1", + "rustc-hash", "swc_atoms", "swc_common", ] @@ -2976,9 +2937,9 @@ dependencies = [ [[package]] name = "swc_trace_macro" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c78717a841565df57f811376a3d19c9156091c55175e12d378f3a522de70cef" +checksum = "559185db338f1bcb50297aafd4f79c0956c84dc71a66da4cffb57acf9d93fd88" dependencies = [ "proc-macro2", "quote", @@ -2987,13 +2948,13 @@ dependencies = [ [[package]] name = "swc_transform_common" -version = "2.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40bbeef964d6edd66081a31bbfeef913bb0be536e398392f99e8e91b7da63eb" +checksum = "6d73c21cecc518e0107f890012a747fa679cb0faf04f32fc8f5bd618040eb8fe" dependencies = [ "better_scoped_tls", "once_cell", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "serde_json", "swc_common", @@ -3001,13 +2962,13 @@ dependencies = [ [[package]] name = "swc_typescript" -version = "11.0.1" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8538a8b2e8d8a3ebbf58fe7f933d7b4bb01a291fbd7356352ea255cc15bbc70" +checksum = "2c01b8c9b645f4b3b39664477166876bdc239c9b5f785389e117dee822dbcec5" dependencies = [ "bitflags 2.5.0", "petgraph", - "rustc-hash 2.1.1", + "rustc-hash", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -3089,9 +3050,9 @@ dependencies = [ [[package]] name = "testing" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e32a1c95775a4077dbfc66d9d6e33576c142bd9bff457289d124037a79f72786" +checksum = "987241734b96bd71228f0395ab38e05b71ec7c6ded958538c5d3a1b67f6465ce" dependencies = [ "ansi_term", "cargo_metadata 0.18.1", @@ -3099,7 +3060,7 @@ dependencies = [ "once_cell", "pretty_assertions", "regex", - "rustc-hash 2.1.1", + "rustc-hash", "serde", "serde_json", "swc_common", @@ -3389,6 +3350,12 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "vsimd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" diff --git a/packages/react/package.json b/packages/react/package.json index 521b27e333..5d3a4ee005 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -164,7 +164,7 @@ "preact": "npm:@hongzhiyuan/preact@10.24.0-319c684e" }, "devDependencies": { - "@lynx-js/types": "^3.2.1", + "@lynx-js/types": "^3.3.0", "@microsoft/api-extractor": "catalog:", "@types/react": "^18.3.21" }, diff --git a/packages/react/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts b/packages/react/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts new file mode 100644 index 0000000000..d777a04551 --- /dev/null +++ b/packages/react/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts @@ -0,0 +1,10 @@ +import { onHydrationFinished } from '@lynx-js/react/worklet-runtime/bindings'; + +export let isMainThreadHydrationFinished = false; + +export function setMainThreadHydrationFinished(isFinished: boolean): void { + if (isFinished && !isMainThreadHydrationFinished) { + onHydrationFinished(); + } + isMainThreadHydrationFinished = isFinished; +} diff --git a/packages/react/runtime/src/lifecycle/patch/updateMainThread.ts b/packages/react/runtime/src/lifecycle/patch/updateMainThread.ts index da2001ba59..a5cd08dd9e 100644 --- a/packages/react/runtime/src/lifecycle/patch/updateMainThread.ts +++ b/packages/react/runtime/src/lifecycle/patch/updateMainThread.ts @@ -2,17 +2,18 @@ // Licensed under the Apache License Version 2.0 that can be found in the // LICENSE file in the root directory of this source tree. -import { clearDelayedWorklets, updateWorkletRefInitValueChanges } from '@lynx-js/react/worklet-runtime/bindings'; +import { updateWorkletRefInitValueChanges } from '@lynx-js/react/worklet-runtime/bindings'; import type { PatchList, PatchOptions } from './commit.js'; import { snapshotPatchApply } from './snapshotPatchApply.js'; import { LifecycleConstant } from '../../lifecycleConstant.js'; import { __pendingListUpdates } from '../../list.js'; -import { PerformanceTimingKeys, markTiming, setPipeline } from '../../lynx/performance.js'; +import { markTiming, PerformanceTimingKeys, setPipeline } from '../../lynx/performance.js'; import { takeGlobalRefPatchMap } from '../../snapshot/ref.js'; import { __page } from '../../snapshot.js'; import { isEmptyObject } from '../../utils.js'; import { getReloadVersion } from '../pass.js'; +import { setMainThreadHydrationFinished } from './isMainThreadHydrationFinished.js'; function updateMainThread( { data, patchOptions }: { @@ -47,7 +48,7 @@ function updateMainThread( markTiming(PerformanceTimingKeys.patchChangesEnd); markTiming(PerformanceTimingKeys.mtsRenderEnd); if (patchOptions.isHydration) { - clearDelayedWorklets(); + setMainThreadHydrationFinished(true); } if (patchOptions.pipelineOptions) { flushOptions.pipelineOptions = patchOptions.pipelineOptions; diff --git a/packages/react/runtime/src/lifecycle/reload.ts b/packages/react/runtime/src/lifecycle/reload.ts index 7ffd950e0b..195c87cb3c 100644 --- a/packages/react/runtime/src/lifecycle/reload.ts +++ b/packages/react/runtime/src/lifecycle/reload.ts @@ -22,6 +22,7 @@ import { clearJSReadyEventIdSwap, isJSReady } from './event/jsReady.js'; import { increaseReloadVersion } from './pass.js'; import { deinitGlobalSnapshotPatch } from './patch/snapshotPatch.js'; import { renderMainThread } from './render.js'; +import { setMainThreadHydrationFinished } from './patch/isMainThreadHydrationFinished.js'; function reloadMainThread(data: any, options: UpdatePageOption): void { if (__PROFILE__) { @@ -38,6 +39,7 @@ function reloadMainThread(data: any, options: UpdatePageOption): void { snapshotInstanceManager.clear(); __pendingListUpdates.clear(); clearJSReadyEventIdSwap(); + setMainThreadHydrationFinished(false); const oldRoot = __root; setRoot(new SnapshotInstance('root')); diff --git a/packages/react/transform/Cargo.toml b/packages/react/transform/Cargo.toml index 9bb9aa604d..8aef2bc01e 100644 --- a/packages/react/transform/Cargo.toml +++ b/packages/react/transform/Cargo.toml @@ -21,7 +21,7 @@ serde = "1.0.217" serde_json = { version = "1.0.134", features = ["preserve_order"] } sha-1 = "0.10.1" # cSpell:disable-next-line -swc_core = { version = "22.5.3", features = ["base", "ecma_codegen", "ecma_parser", "ecma_minifier", "ecma_transforms_typescript", "ecma_utils", "ecma_quote", "ecma_transforms_react", "ecma_transforms_optimization", "css_parser", "css_ast", "css_visit", "css_codegen", "__visit", "__testing_transform"] } +swc_core = { version = "23.2.0", features = ["base", "ecma_codegen", "ecma_parser", "ecma_minifier", "ecma_transforms_typescript", "ecma_utils", "ecma_quote", "ecma_transforms_react", "ecma_transforms_optimization", "css_parser", "css_ast", "css_visit", "css_codegen", "__visit", "__testing_transform"] } version-compare = "0.2.0" # cSpell:disable-next-line diff --git a/packages/react/worklet-runtime/src/bindings/bindings.ts b/packages/react/worklet-runtime/src/bindings/bindings.ts index fccde69b54..7069d56104 100644 --- a/packages/react/worklet-runtime/src/bindings/bindings.ts +++ b/packages/react/worklet-runtime/src/bindings/bindings.ts @@ -56,7 +56,7 @@ function updateWorkletRefInitValueChanges(patch?: [number, unknown][]): void { * * @internal */ -function clearDelayedWorklets(): void { +function onHydrationFinished(): void { globalThis.lynxWorkletImpl?._eventDelayImpl.clearDelayedWorklets(); } @@ -74,6 +74,6 @@ export { runWorkletCtx, updateWorkletRef, updateWorkletRefInitValueChanges, - clearDelayedWorklets, + onHydrationFinished, registerWorklet, }; diff --git a/packages/react/worklet-runtime/src/bindings/index.ts b/packages/react/worklet-runtime/src/bindings/index.ts index 130c30024c..37d4920438 100644 --- a/packages/react/worklet-runtime/src/bindings/index.ts +++ b/packages/react/worklet-runtime/src/bindings/index.ts @@ -8,7 +8,7 @@ export { runWorkletCtx, updateWorkletRef, updateWorkletRefInitValueChanges, - clearDelayedWorklets, + onHydrationFinished, } from './bindings.js'; export type * from './types.js'; diff --git a/packages/rspeedy/create-rspeedy/template-react-ts/package.json b/packages/rspeedy/create-rspeedy/template-react-ts/package.json index 03ee0f9c9d..d04d9d0129 100644 --- a/packages/rspeedy/create-rspeedy/template-react-ts/package.json +++ b/packages/rspeedy/create-rspeedy/template-react-ts/package.json @@ -14,7 +14,7 @@ "@lynx-js/qrcode-rsbuild-plugin": "workspace:*", "@lynx-js/react-rsbuild-plugin": "workspace:*", "@lynx-js/rspeedy": "workspace:*", - "@lynx-js/types": "^3.2.1", + "@lynx-js/types": "^3.3.0", "@types/react": "^18.3.21", "typescript": "~5.8.3" }, diff --git a/packages/rspeedy/create-rspeedy/template-react-vitest-rltl-ts/package.json b/packages/rspeedy/create-rspeedy/template-react-vitest-rltl-ts/package.json index 4c2dc26f52..2f411ad9ce 100644 --- a/packages/rspeedy/create-rspeedy/template-react-vitest-rltl-ts/package.json +++ b/packages/rspeedy/create-rspeedy/template-react-vitest-rltl-ts/package.json @@ -15,7 +15,7 @@ "@lynx-js/qrcode-rsbuild-plugin": "workspace:*", "@lynx-js/react-rsbuild-plugin": "workspace:*", "@lynx-js/rspeedy": "workspace:*", - "@lynx-js/types": "^3.2.1", + "@lynx-js/types": "^3.3.0", "@testing-library/jest-dom": "^6.6.3", "@types/react": "^18.3.21", "jsdom": "^26.1.0", diff --git a/packages/rspeedy/upgrade-rspeedy/package.json b/packages/rspeedy/upgrade-rspeedy/package.json index 567f1838d1..8259107066 100644 --- a/packages/rspeedy/upgrade-rspeedy/package.json +++ b/packages/rspeedy/upgrade-rspeedy/package.json @@ -38,7 +38,7 @@ "@lynx-js/react": "workspace:*", "@lynx-js/react-rsbuild-plugin": "workspace:*", "@lynx-js/rspeedy": "workspace:*", - "@lynx-js/types": "^3.2.1", + "@lynx-js/types": "^3.3.0", "@lynx-js/web-core": "workspace:*", "@lynx-js/web-elements": "workspace:*", "@rsbuild/plugin-less": "catalog:rsbuild", diff --git a/packages/third-party/tailwind-preset/package.json b/packages/third-party/tailwind-preset/package.json index c6b7b4ed08..982e4542ba 100644 --- a/packages/third-party/tailwind-preset/package.json +++ b/packages/third-party/tailwind-preset/package.json @@ -26,7 +26,7 @@ "test:coverage": "vitest run --coverage" }, "devDependencies": { - "@lynx-js/types": "^3.2.1", + "@lynx-js/types": "^3.3.0", "postcss": "^8.5.3", "tailwindcss": "^3.4.17" } diff --git a/packages/web-platform/web-explorer/index.html b/packages/web-platform/web-explorer/index.html index 71acfab0aa..c6e2db1e1e 100644 --- a/packages/web-platform/web-explorer/index.html +++ b/packages/web-platform/web-explorer/index.html @@ -8,6 +8,7 @@