feat(*): Update dependencies (#3964)

This commit is contained in:
LongYinan 2022-03-11 22:00:55 +08:00 committed by GitHub
parent 4c29b26f3c
commit 1206c84e19
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
49 changed files with 37474 additions and 354 deletions

399
Cargo.lock generated
View File

@ -60,15 +60,15 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.55" version = "1.0.56"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "159bb86af3a200e19a068f4224eae4c8bb2d0fa054c7e5d1cacd5cef95e684cd" checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27"
[[package]] [[package]]
name = "arbitrary" name = "arbitrary"
version = "1.0.3" version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "510c76ecefdceada737ea728f4f9a84bd2e1ef29f1ba555e560940fe279954de" checksum = "c38b6b6b79f671c25e1a3e785b7b82d7562ffc9cd3efdc98627e5668a2472490"
dependencies = [ dependencies = [
"derive_arbitrary", "derive_arbitrary",
] ]
@ -95,7 +95,7 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
name = "ast_node" name = "ast_node"
version = "0.7.7" version = "0.7.7"
dependencies = [ dependencies = [
"darling 0.10.2", "darling",
"pmutil", "pmutil",
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -189,14 +189,14 @@ dependencies = [
"cc", "cc",
"cfg-if 1.0.0", "cfg-if 1.0.0",
"constant_time_eq", "constant_time_eq",
"digest", "digest 0.9.0",
] ]
[[package]] [[package]]
name = "block-buffer" name = "block-buffer"
version = "0.9.0" version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
dependencies = [ dependencies = [
"generic-array", "generic-array",
] ]
@ -213,7 +213,7 @@ dependencies = [
"either", "either",
"itertools", "itertools",
"js-sys", "js-sys",
"nom 7.1.0", "nom",
"once_cell", "once_cell",
"quote", "quote",
"serde", "serde",
@ -225,12 +225,6 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "build_const"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7"
[[package]] [[package]]
name = "bumpalo" name = "bumpalo"
version = "3.9.1" version = "3.9.1"
@ -315,7 +309,7 @@ dependencies = [
"indexmap", "indexmap",
"lazy_static", "lazy_static",
"os_str_bytes", "os_str_bytes",
"strsim 0.10.0", "strsim",
"termcolor", "termcolor",
"terminal_size", "terminal_size",
"textwrap", "textwrap",
@ -481,13 +475,19 @@ dependencies = [
[[package]] [[package]]
name = "crc" name = "crc"
version = "1.8.1" version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" checksum = "49fc9a695bca7f35f5f4c15cddc84415f66a74ea78eef08e90c5024f2b540e23"
dependencies = [ dependencies = [
"build_const", "crc-catalog",
] ]
[[package]]
name = "crc-catalog"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403"
[[package]] [[package]]
name = "crc32fast" name = "crc32fast"
version = "1.3.0" version = "1.3.0"
@ -547,6 +547,16 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
name = "crypto-common"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
dependencies = [
"generic-array",
"typenum",
]
[[package]] [[package]]
name = "ctor" name = "ctor"
version = "0.1.21" version = "0.1.21"
@ -563,38 +573,14 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
[[package]]
name = "darling"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858"
dependencies = [
"darling_core 0.10.2",
"darling_macro 0.10.2",
]
[[package]] [[package]]
name = "darling" name = "darling"
version = "0.13.1" version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4" checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4"
dependencies = [ dependencies = [
"darling_core 0.13.1", "darling_core",
"darling_macro 0.13.1", "darling_macro",
]
[[package]]
name = "darling_core"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim 0.9.3",
"syn",
] ]
[[package]] [[package]]
@ -607,18 +593,7 @@ dependencies = [
"ident_case", "ident_case",
"proc-macro2", "proc-macro2",
"quote", "quote",
"strsim 0.10.0", "strsim",
"syn",
]
[[package]]
name = "darling_macro"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
dependencies = [
"darling_core 0.10.2",
"quote",
"syn", "syn",
] ]
@ -628,21 +603,11 @@ version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b" checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b"
dependencies = [ dependencies = [
"darling_core 0.13.1", "darling_core",
"quote", "quote",
"syn", "syn",
] ]
[[package]]
name = "dashmap"
version = "4.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c"
dependencies = [
"cfg-if 1.0.0",
"num_cpus",
]
[[package]] [[package]]
name = "dashmap" name = "dashmap"
version = "5.1.0" version = "5.1.0"
@ -695,6 +660,16 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "digest"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
dependencies = [
"block-buffer",
"crypto-common",
]
[[package]] [[package]]
name = "discard" name = "discard"
version = "1.0.4" version = "1.0.4"
@ -761,7 +736,7 @@ version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6451128aa6655d880755345d085494cf7561a6bee7c8dc821e5d77e6d267ecd4" checksum = "6451128aa6655d880755345d085494cf7561a6bee7c8dc821e5d77e6d267ecd4"
dependencies = [ dependencies = [
"darling 0.13.1", "darling",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn",
@ -782,9 +757,9 @@ dependencies = [
[[package]] [[package]]
name = "fixedbitset" name = "fixedbitset"
version = "0.2.0" version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" checksum = "279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e"
[[package]] [[package]]
name = "fnv" name = "fnv"
@ -967,6 +942,15 @@ dependencies = [
"ahash", "ahash",
] ]
[[package]]
name = "hashbrown"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758"
dependencies = [
"ahash",
]
[[package]] [[package]]
name = "heck" name = "heck"
version = "0.4.0" version = "0.4.0"
@ -1089,7 +1073,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"hashbrown", "hashbrown 0.11.2",
"rayon", "rayon",
"serde", "serde",
] ]
@ -1157,8 +1141,8 @@ name = "jsdoc"
version = "0.61.0" version = "0.61.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"dashmap 4.0.2", "dashmap",
"nom 5.1.2", "nom",
"serde", "serde",
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
@ -1187,24 +1171,74 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
[[package]] [[package]]
name = "lexical" name = "lexical"
version = "5.2.2" version = "6.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f404a90a744e32e8be729034fc33b90cf2a56418fbf594d69aa3c0214ad414e5" checksum = "ccd3e434c16f0164124ade12dcdee324fcc3dafb1cad0c7f1d8c2451a1aa6886"
dependencies = [ dependencies = [
"cfg-if 1.0.0",
"lexical-core", "lexical-core",
] ]
[[package]] [[package]]
name = "lexical-core" name = "lexical-core"
version = "0.7.6" version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" checksum = "92912c4af2e7d9075be3e5e3122c4d7263855fa6cce34fbece4dd08e5884624d"
dependencies = [ dependencies = [
"arrayvec 0.5.2", "lexical-parse-float",
"bitflags", "lexical-parse-integer",
"cfg-if 1.0.0", "lexical-util",
"ryu", "lexical-write-float",
"lexical-write-integer",
]
[[package]]
name = "lexical-parse-float"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f518eed87c3be6debe6d26b855c97358d8a11bf05acec137e5f53080f5ad2dd8"
dependencies = [
"lexical-parse-integer",
"lexical-util",
"static_assertions",
]
[[package]]
name = "lexical-parse-integer"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afc852ec67c6538bbb2b9911116a385b24510e879a69ab516e6a151b15a79168"
dependencies = [
"lexical-util",
"static_assertions",
]
[[package]]
name = "lexical-util"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c72a9d52c5c4e62fa2cdc2cb6c694a39ae1382d9c2a17a466f18e272a0930eb1"
dependencies = [
"static_assertions",
]
[[package]]
name = "lexical-write-float"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26f6202bff3d35ede41a6200227837468bb92e4ecdd437328b1055ed218fb855"
dependencies = [
"lexical-util",
"lexical-write-integer",
"static_assertions",
]
[[package]]
name = "lexical-write-integer"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "094060bd2a7c2ff3a16d5304a6ae82727cb3cc9d1c70f813cc73f744c319337e"
dependencies = [
"lexical-util",
"static_assertions", "static_assertions",
] ]
@ -1269,7 +1303,7 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "274353858935c992b13c0ca408752e2121da852d07dec7ce5f108c77dfa14d1f" checksum = "274353858935c992b13c0ca408752e2121da852d07dec7ce5f108c77dfa14d1f"
dependencies = [ dependencies = [
"hashbrown", "hashbrown 0.11.2",
] ]
[[package]] [[package]]
@ -1392,9 +1426,9 @@ checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389"
[[package]] [[package]]
name = "napi" name = "napi"
version = "2.1.0" version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17ec66e60f000c78dd7c6215b6fa260e0591e09805024332bc5b3f55acc12244" checksum = "f88bea662fb056d2115af6a362f89ba8147b26665f3860cc458d25e555d6e60b"
dependencies = [ dependencies = [
"ctor", "ctor",
"lazy_static", "lazy_static",
@ -1412,9 +1446,9 @@ checksum = "ebd4419172727423cf30351406c54f6cc1b354a2cfb4f1dba3e6cd07f6d5522b"
[[package]] [[package]]
name = "napi-derive" name = "napi-derive"
version = "2.1.0" version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74ac5287a5e94a8728fc82d16c5127acc5eb5b8ad6404ef5f82d6a4ce8d5bdd2" checksum = "a4f3a8ed8cdbf81628c394ef5ad22bf9e6af312552bca0b8918b0a3c06ab750d"
dependencies = [ dependencies = [
"convert_case", "convert_case",
"napi-derive-backend", "napi-derive-backend",
@ -1425,9 +1459,9 @@ dependencies = [
[[package]] [[package]]
name = "napi-derive-backend" name = "napi-derive-backend"
version = "1.0.25" version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "427f4f04525635cdf22005d1be62d6d671bcb5550d694a1efb480a315422b4af" checksum = "6b12b293d2214c58765fbed84d9359d22384cb6f4d9610ed4d807040ed7f47ee"
dependencies = [ dependencies = [
"convert_case", "convert_case",
"once_cell", "once_cell",
@ -1504,17 +1538,6 @@ dependencies = [
"quote", "quote",
] ]
[[package]]
name = "nom"
version = "5.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
dependencies = [
"lexical-core",
"memchr",
"version_check",
]
[[package]] [[package]]
name = "nom" name = "nom"
version = "7.1.0" version = "7.1.0"
@ -1587,9 +1610,9 @@ dependencies = [
[[package]] [[package]]
name = "num-bigint" name = "num-bigint"
version = "0.2.6" version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"num-integer", "num-integer",
@ -1642,22 +1665,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456" checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [ dependencies = [
"crc32fast", "crc32fast",
"hashbrown", "hashbrown 0.11.2",
"indexmap", "indexmap",
"memchr", "memchr",
] ]
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.9.0" version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9"
[[package]]
name = "opaque-debug"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]] [[package]]
name = "openssl" name = "openssl"
@ -1806,9 +1823,9 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
[[package]] [[package]]
name = "petgraph" name = "petgraph"
version = "0.5.1" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f"
dependencies = [ dependencies = [
"fixedbitset", "fixedbitset",
"indexmap", "indexmap",
@ -1816,12 +1833,12 @@ dependencies = [
[[package]] [[package]]
name = "phf" name = "phf"
version = "0.8.0" version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
dependencies = [ dependencies = [
"phf_macros", "phf_macros",
"phf_shared 0.8.0", "phf_shared 0.10.0",
"proc-macro-hack", "proc-macro-hack",
] ]
@ -1836,13 +1853,23 @@ dependencies = [
] ]
[[package]] [[package]]
name = "phf_macros" name = "phf_generator"
version = "0.8.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
dependencies = [ dependencies = [
"phf_generator", "phf_shared 0.10.0",
"phf_shared 0.8.0", "rand 0.8.4",
]
[[package]]
name = "phf_macros"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
dependencies = [
"phf_generator 0.10.0",
"phf_shared 0.10.0",
"proc-macro-hack", "proc-macro-hack",
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1935,7 +1962,7 @@ dependencies = [
"ahash", "ahash",
"anyhow", "anyhow",
"browserslist-rs", "browserslist-rs",
"dashmap 4.0.2", "dashmap",
"from_variant", "from_variant",
"once_cell", "once_cell",
"semver 1.0.4", "semver 1.0.4",
@ -1945,9 +1972,9 @@ dependencies = [
[[package]] [[package]]
name = "pretty_assertions" name = "pretty_assertions"
version = "0.7.2" version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cab0e7c02cf376875e9335e0ba1da535775beb5450d21e1dffca068818ed98b" checksum = "76d5b548b725018ab5496482b45cb8bef21e9fed1858a6d674e3a8a0f0bb5d50"
dependencies = [ dependencies = [
"ansi_term", "ansi_term",
"ctor", "ctor",
@ -1996,9 +2023,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.32" version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
dependencies = [ dependencies = [
"unicode-xid", "unicode-xid",
] ]
@ -2025,9 +2052,9 @@ dependencies = [
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.10" version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
@ -2285,12 +2312,12 @@ checksum = "11000e6ba5020e53e7cc26f73b91ae7d5496b4977851479edb66b694c0675c21"
[[package]] [[package]]
name = "rkyv" name = "rkyv"
version = "0.7.29" version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49a37de5dfc60bae2d94961dacd03c7b80e426b66a99fa1b17799570dbdd8f96" checksum = "2cdcf5caf69bcc87b1e3f5427b4f21a32fdd53c2847687bdf9861abb1cdaa0d8"
dependencies = [ dependencies = [
"bytecheck", "bytecheck",
"hashbrown", "hashbrown 0.12.0",
"ptr_meta", "ptr_meta",
"rend", "rend",
"rkyv_derive", "rkyv_derive",
@ -2299,9 +2326,9 @@ dependencies = [
[[package]] [[package]]
name = "rkyv_derive" name = "rkyv_derive"
version = "0.7.29" version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "719d447dd0e84b23cee6cb5b32d97e21efb112a3e3c636c8da36647b938475a1" checksum = "a6cf557da1f81b8c7e889c59c9c3abaf6978f7feb156b9579e4f8bf6d7a2bada"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2491,15 +2518,13 @@ dependencies = [
[[package]] [[package]]
name = "sha-1" name = "sha-1"
version = "0.9.8" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f"
dependencies = [ dependencies = [
"block-buffer",
"cfg-if 1.0.0", "cfg-if 1.0.0",
"cpufeatures", "cpufeatures",
"digest", "digest 0.10.3",
"opaque-debug",
] ]
[[package]] [[package]]
@ -2519,9 +2544,9 @@ dependencies = [
[[package]] [[package]]
name = "siphasher" name = "siphasher"
version = "0.3.9" version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a86232ab60fa71287d7f2ddae4a7073f6b7aac33631c3015abb556f08c6d0a3e" checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
[[package]] [[package]]
name = "slab" name = "slab"
@ -2531,9 +2556,9 @@ checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
[[package]] [[package]]
name = "smallvec" name = "smallvec"
version = "1.7.0" version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
[[package]] [[package]]
name = "socket2" name = "socket2"
@ -2673,7 +2698,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97"
dependencies = [ dependencies = [
"phf_generator", "phf_generator 0.8.0",
"phf_shared 0.8.0", "phf_shared 0.8.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2691,12 +2716,6 @@ dependencies = [
"syn", "syn",
] ]
[[package]]
name = "strsim"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
[[package]] [[package]]
name = "strsim" name = "strsim"
version = "0.10.0" version = "0.10.0"
@ -2710,7 +2729,7 @@ dependencies = [
"ahash", "ahash",
"anyhow", "anyhow",
"base64 0.13.0", "base64 0.13.0",
"dashmap 4.0.2", "dashmap",
"either", "either",
"indexmap", "indexmap",
"lru", "lru",
@ -2766,7 +2785,7 @@ dependencies = [
"ahash", "ahash",
"anyhow", "anyhow",
"crc", "crc",
"dashmap 4.0.2", "dashmap",
"hex", "hex",
"indexmap", "indexmap",
"is-macro", "is-macro",
@ -2809,7 +2828,7 @@ version = "0.1.1"
dependencies = [ dependencies = [
"ahash", "ahash",
"anyhow", "anyhow",
"dashmap 5.1.0", "dashmap",
"once_cell", "once_cell",
"regex", "regex",
"serde", "serde",
@ -2848,7 +2867,7 @@ dependencies = [
"ast_node", "ast_node",
"atty", "atty",
"better_scoped_tls", "better_scoped_tls",
"cfg-if 0.1.10", "cfg-if 1.0.0",
"debug_unreachable", "debug_unreachable",
"either", "either",
"from_variant", "from_variant",
@ -3064,7 +3083,7 @@ version = "0.22.4"
dependencies = [ dependencies = [
"ahash", "ahash",
"auto_impl", "auto_impl",
"dashmap 4.0.2", "dashmap",
"parking_lot 0.12.0", "parking_lot 0.12.0",
"rayon", "rayon",
"regex", "regex",
@ -3086,7 +3105,7 @@ version = "0.29.0"
dependencies = [ dependencies = [
"ahash", "ahash",
"anyhow", "anyhow",
"dashmap 4.0.2", "dashmap",
"lru", "lru",
"normpath", "normpath",
"once_cell", "once_cell",
@ -3163,7 +3182,7 @@ version = "0.105.0"
dependencies = [ dependencies = [
"ahash", "ahash",
"anyhow", "anyhow",
"dashmap 4.0.2", "dashmap",
"indexmap", "indexmap",
"once_cell", "once_cell",
"preset_env_base", "preset_env_base",
@ -3341,7 +3360,7 @@ name = "swc_ecma_transforms_optimization"
version = "0.100.0" version = "0.100.0"
dependencies = [ dependencies = [
"ahash", "ahash",
"dashmap 4.0.2", "dashmap",
"indexmap", "indexmap",
"once_cell", "once_cell",
"rayon", "rayon",
@ -3393,7 +3412,7 @@ version = "0.92.0"
dependencies = [ dependencies = [
"ahash", "ahash",
"base64 0.13.0", "base64 0.13.0",
"dashmap 4.0.2", "dashmap",
"indexmap", "indexmap",
"once_cell", "once_cell",
"regex", "regex",
@ -3589,7 +3608,7 @@ name = "swc_node_bundler"
version = "0.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"dashmap 4.0.2", "dashmap",
"is-macro", "is-macro",
"once_cell", "once_cell",
"pretty_assertions", "pretty_assertions",
@ -3618,7 +3637,7 @@ name = "swc_node_comments"
version = "0.4.0" version = "0.4.0"
dependencies = [ dependencies = [
"ahash", "ahash",
"dashmap 4.0.2", "dashmap",
"swc_common", "swc_common",
] ]
@ -3746,9 +3765,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.84" version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecb2e6da8ee5eb9a61068762a32fa9619cc591ceb055b3687f4cd4051ec2e06b" checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -3777,9 +3796,9 @@ dependencies = [
[[package]] [[package]]
name = "termcolor" name = "termcolor"
version = "1.1.2" version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
dependencies = [ dependencies = [
"winapi-util", "winapi-util",
] ]
@ -4613,15 +4632,15 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]] [[package]]
name = "windows" name = "windows"
version = "0.30.0" version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b749ebd2304aa012c5992d11a25d07b406bdbe5f79d371cb7a918ce501a19eb0" checksum = "0128fa8e65e0616e45033d68dc0b7fbd521080b7844e5cad3a4a4d201c4b2bd2"
dependencies = [ dependencies = [
"windows_aarch64_msvc 0.30.0", "windows_aarch64_msvc 0.33.0",
"windows_i686_gnu 0.30.0", "windows_i686_gnu 0.33.0",
"windows_i686_msvc 0.30.0", "windows_i686_msvc 0.33.0",
"windows_x86_64_gnu 0.30.0", "windows_x86_64_gnu 0.33.0",
"windows_x86_64_msvc 0.30.0", "windows_x86_64_msvc 0.33.0",
] ]
[[package]] [[package]]
@ -4637,12 +4656,6 @@ dependencies = [
"windows_x86_64_msvc 0.32.0", "windows_x86_64_msvc 0.32.0",
] ]
[[package]]
name = "windows_aarch64_msvc"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29277a4435d642f775f63c7d1faeb927adba532886ce0287bd985bffb16b6bca"
[[package]] [[package]]
name = "windows_aarch64_msvc" name = "windows_aarch64_msvc"
version = "0.32.0" version = "0.32.0"
@ -4650,10 +4663,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_aarch64_msvc"
version = "0.30.0" version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1145e1989da93956c68d1864f32fb97c8f561a8f89a5125f6a2b7ea75524e4b8" checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_i686_gnu"
@ -4662,10 +4675,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_gnu"
version = "0.30.0" version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4a09e3a0d4753b73019db171c1339cd4362c8c44baf1bcea336235e955954a6" checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_msvc"
@ -4674,10 +4687,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_i686_msvc"
version = "0.30.0" version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ca64fcb0220d58db4c119e050e7af03c69e6f4f415ef69ec1773d9aab422d5a" checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_x86_64_gnu"
@ -4686,10 +4699,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_gnu"
version = "0.30.0" version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08cabc9f0066848fef4bc6a1c1668e6efce38b661d2aeec75d18d8617eebb5f1" checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_msvc"
@ -4697,6 +4710,12 @@ version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316"
[[package]]
name = "windows_x86_64_msvc"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa"
[[package]] [[package]]
name = "winreg" name = "winreg"
version = "0.7.0" version = "0.7.0"

View File

@ -12,7 +12,7 @@ version = "0.7.7"
proc-macro = true proc-macro = true
[dependencies] [dependencies]
darling = "0.10" darling = "0.13"
pmutil = "0.5.1" pmutil = "0.5.1"
proc-macro2 = "1" proc-macro2 = "1"
quote = "1" quote = "1"

View File

@ -10,14 +10,14 @@ version = "0.61.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
nom = "5.1.2" nom = "7.1.0"
serde = {version = "1", features = ["derive"]} serde = {version = "1", features = ["derive"]}
swc_atoms = {version = "0.2", path = "../swc_atoms"} swc_atoms = {version = "0.2", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
[dev-dependencies] [dev-dependencies]
anyhow = "1" anyhow = "1"
dashmap = "4.0.2" dashmap = "5.1.0"
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}
swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"} swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"}
testing = {version = "0.18.0", path = "../testing"} testing = {version = "0.18.0", path = "../testing"}

View File

@ -3,7 +3,9 @@ use std::{
str::{CharIndices, Chars}, str::{CharIndices, Chars},
}; };
use nom::{Compare, CompareResult, InputIter, InputLength, InputTake, Slice, UnspecializedInput}; use nom::{
Compare, CompareResult, InputIter, InputLength, InputTake, Needed, Slice, UnspecializedInput,
};
use swc_common::{comments::Comment, BytePos, Span}; use swc_common::{comments::Comment, BytePos, Span};
use crate::ast::Text; use crate::ast::Text;
@ -109,7 +111,7 @@ impl<'a> InputIter for Input<'a> {
self.src.position(predicate) self.src.position(predicate)
} }
fn slice_index(&self, count: usize) -> Option<usize> { fn slice_index(&self, count: usize) -> Result<usize, Needed> {
self.src.slice_index(count) self.src.slice_index(count)
} }
} }

View File

@ -541,7 +541,7 @@ fn parse_one_of<'i>(i: Input<'i>, list: &[&str]) -> IResult<Input<'i>, Text> {
} }
} }
Err(nom::Err::Error((i, ErrorKind::Tag))) Err(nom::Err::Error(nom::error::Error::new(i, ErrorKind::Tag)))
} }
fn parse_name_path(mut i: Input) -> IResult<Input, NamePath> { fn parse_name_path(mut i: Input) -> IResult<Input, NamePath> {

View File

@ -11,5 +11,5 @@ version = "0.1.0"
proc-macro = true proc-macro = true
[dependencies] [dependencies]
proc-macro2 = "=1.0.32" proc-macro2 = "1"
quote = "=1.0.10" quote = "1"

View File

@ -13,9 +13,9 @@ version = "0.2.0"
ahash = "0.7.4" ahash = "0.7.4"
anyhow = "1" anyhow = "1"
browserslist-rs = "=0.9.0" browserslist-rs = "=0.9.0"
dashmap = "4.0.2" dashmap = "5.1.0"
from_variant = {version = "0.1.3", path = "../from_variant"} from_variant = {version = "0.1.3", path = "../from_variant"}
once_cell = "1.9.0" once_cell = "1.10.0"
semver = {version = "1.0.4", features = ["serde"]} semver = {version = "1.0.4", features = ["serde"]}
serde = {version = "1", features = ["derive"]} serde = {version = "1", features = ["derive"]}
st-map = "0.1.2" st-map = "0.1.2"

View File

@ -35,11 +35,11 @@ plugin = [
ahash = "0.7.4" ahash = "0.7.4"
anyhow = "1" anyhow = "1"
base64 = "0.13.0" base64 = "0.13.0"
dashmap = "4.0.2" dashmap = "5.1.0"
either = "1" either = "1"
indexmap = {version = "1", features = ["serde"]} indexmap = {version = "1", features = ["serde"]}
lru = "0.7.1" lru = "0.7.1"
once_cell = "1.9.0" once_cell = "1.10.0"
parking_lot = "0.12.0" parking_lot = "0.12.0"
pathdiff = "0.2.0" pathdiff = "0.2.0"
regex = "1" regex = "1"

View File

@ -29,13 +29,13 @@ default = []
[dependencies] [dependencies]
ahash = "0.7" ahash = "0.7"
anyhow = "1" anyhow = "1"
crc = "1.8" crc = "2.1.0"
dashmap = {version = "4.0.2", optional = true} dashmap = {version = "5.1.0", optional = true}
indexmap = "1.6" indexmap = "1.6"
is-macro = "0.2.0" is-macro = "0.2.0"
once_cell = "1.9.0" once_cell = "1.10.0"
parking_lot = "0.12.0" parking_lot = "0.12.0"
petgraph = "0.5" petgraph = "0.6"
radix_fmt = "1" radix_fmt = "1"
rayon = {version = "1", optional = true} rayon = {version = "1", optional = true}
relative-path = "1.2" relative-path = "1.2"
@ -59,7 +59,7 @@ hex = "0.4"
ntest = "0.7.2" ntest = "0.7.2"
path-clean = "=0.1.0" path-clean = "=0.1.0"
reqwest = {version = "0.11.4", features = ["blocking"]} reqwest = {version = "0.11.4", features = ["blocking"]}
sha-1 = "0.9" sha-1 = "0.10"
swc_ecma_loader = {version = "0.29.0", path = "../swc_ecma_loader", features = ["node", "cache"]} swc_ecma_loader = {version = "0.29.0", path = "../swc_ecma_loader", features = ["node", "cache"]}
swc_ecma_minifier = {version = "0.88.0", path = "../swc_ecma_minifier"} swc_ecma_minifier = {version = "0.88.0", path = "../swc_ecma_minifier"}
swc_ecma_transforms_react = {version = "0.92.0", path = "../swc_ecma_transforms_react"} swc_ecma_transforms_react = {version = "0.92.0", path = "../swc_ecma_transforms_react"}

View File

@ -1,13 +1,14 @@
use std::io; use std::io;
use anyhow::{Context, Error}; use anyhow::{Context, Error};
use crc::{crc64, crc64::Digest, Hasher64}; use crc::{Crc, Digest, CRC_64_ECMA_182};
use swc_common::{sync::Lrc, SourceMap, Span}; use swc_common::{sync::Lrc, SourceMap, Span};
use swc_ecma_ast::{EsVersion, Module}; use swc_ecma_ast::{EsVersion, Module};
use swc_ecma_codegen::{text_writer::WriteJs, Emitter}; use swc_ecma_codegen::{text_writer::WriteJs, Emitter};
pub(crate) fn calc_hash(cm: Lrc<SourceMap>, m: &Module) -> Result<String, Error> { pub(crate) fn calc_hash(cm: Lrc<SourceMap>, m: &Module) -> Result<String, Error> {
let digest = crc64::Digest::new(crc64::ECMA); let crc = Crc::<u64>::new(&CRC_64_ECMA_182);
let digest = crc.digest();
let mut buf = Hasher { digest }; let mut buf = Hasher { digest };
{ {
@ -24,21 +25,21 @@ pub(crate) fn calc_hash(cm: Lrc<SourceMap>, m: &Module) -> Result<String, Error>
} }
// //
let result = buf.digest.sum64(); let result = buf.digest.finalize();
Ok(radix_fmt::radix(result, 36).to_string()) Ok(radix_fmt::radix(result, 36).to_string())
} }
struct Hasher { struct Hasher<'a> {
digest: Digest, digest: Digest<'a, u64>,
} }
impl Hasher { impl Hasher<'_> {
fn w(&mut self, s: &str) { fn w(&mut self, s: &str) {
self.digest.write(s.as_bytes()); self.digest.update(s.as_bytes());
} }
} }
impl WriteJs for &mut Hasher { impl WriteJs for &mut Hasher<'_> {
fn target(&self) -> EsVersion { fn target(&self) -> EsVersion {
EsVersion::latest() EsVersion::latest()
} }

View File

@ -14,7 +14,7 @@ version = "0.1.1"
ahash = "0.7.6" ahash = "0.7.6"
anyhow = "1.0.55" anyhow = "1.0.55"
dashmap = "5.1.0" dashmap = "5.1.0"
once_cell = "1.9.0" once_cell = "1.10.0"
regex = "1.5.4" regex = "1.5.4"
serde = "1.0.136" serde = "1.0.136"
swc_atoms = {version = "0.2.9", path = "../swc_atoms"} swc_atoms = {version = "0.2.9", path = "../swc_atoms"}

View File

@ -14,23 +14,23 @@ path = "./src/main.rs"
[dependencies] [dependencies]
anyhow = "1.0.53" anyhow = "1.0.53"
clap = { version = "3.1.0", features = ["derive", "wrap_help"] }
walkdir = "2"
rayon = "1"
swc = { version = "0.149.0", path = "../swc" }
swc_common = { version = "0.17.5", path = "../swc_common" }
relative-path = "1.6.1"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["unbounded_depth"] }
atty = "0.2.14" atty = "0.2.14"
clap = {version = "3.1.0", features = ["derive", "wrap_help"]}
rayon = "1"
relative-path = "1.6.1"
serde = {version = "1", features = ["derive"]}
serde_json = {version = "1", features = ["unbounded_depth"]}
swc = {version = "0.149.0", path = "../swc"}
swc_common = {version = "0.17.5", path = "../swc_common"}
swc_trace_macro = {version = "0.1.0", path = "../swc_trace_macro"} swc_trace_macro = {version = "0.1.0", path = "../swc_trace_macro"}
tracing = "0.1.32"
tracing-chrome = "0.4.0" tracing-chrome = "0.4.0"
tracing-futures = "0.2.5" tracing-futures = "0.2.5"
tracing-subscriber = { version = "0.3.9", features = ["env-filter"] } tracing-subscriber = {version = "0.3.9", features = ["env-filter"]}
tracing = "0.1.32" walkdir = "2"
[dependencies.path-absolutize] [dependencies.path-absolutize]
version = "3.0.11"
features = ["once_cell_cache"] features = ["once_cell_cache"]
version = "3.0.11"
[features] [features]

View File

@ -30,12 +30,12 @@ arbitrary = {version = "1", optional = true, features = ["derive"]}
ast_node = {version = "0.7.5", path = "../ast_node"} ast_node = {version = "0.7.5", path = "../ast_node"}
atty = {version = "0.2", optional = true} atty = {version = "0.2", optional = true}
better_scoped_tls = {version = "0.1.0", path = "../better_scoped_tls"} better_scoped_tls = {version = "0.1.0", path = "../better_scoped_tls"}
cfg-if = "0.1.2" cfg-if = "1.0.0"
debug_unreachable = "0.1.1" debug_unreachable = "0.1.1"
either = "1.5" either = "1.5"
from_variant = {version = "0.1.3", path = "../from_variant"} from_variant = {version = "0.1.3", path = "../from_variant"}
num-bigint = "0.2" num-bigint = "0.4"
once_cell = "1.9.0" once_cell = "1.10.0"
parking_lot = {version = "0.12.0", optional = true} parking_lot = {version = "0.12.0", optional = true}
rkyv = {version = "0.7.28", optional = true} rkyv = {version = "0.7.28", optional = true}
rustc-hash = "1.1.0" rustc-hash = "1.1.0"

View File

@ -14,7 +14,7 @@ debug = []
[dependencies] [dependencies]
bitflags = "1.2.1" bitflags = "1.2.1"
lexical = "5.2.2" lexical = "6.1.0"
swc_atoms = {version = "0.2.7", path = "../swc_atoms"} swc_atoms = {version = "0.2.7", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
swc_css_ast = {version = "0.89.0", path = "../swc_css_ast"} swc_css_ast = {version = "0.89.0", path = "../swc_css_ast"}

View File

@ -20,7 +20,7 @@ rkyv-impl = ["rkyv", "swc_common/rkyv-impl"]
[dependencies] [dependencies]
arbitrary = {version = "1", optional = true, features = ["derive"]} arbitrary = {version = "1", optional = true, features = ["derive"]}
is-macro = "0.2.0" is-macro = "0.2.0"
num-bigint = {version = "0.2", features = ["serde"]} num-bigint = {version = "0.4", features = ["serde"]}
rkyv = {version = "0.7.28", optional = true} rkyv = {version = "0.7.28", optional = true}
serde = {version = "1.0.133", features = ["derive"]} serde = {version = "1.0.133", features = ["derive"]}
string_enum = {version = "0.3.1", path = "../string_enum"} string_enum = {version = "0.3.1", path = "../string_enum"}

View File

@ -12,8 +12,8 @@ version = "0.94.1"
[dependencies] [dependencies]
bitflags = "1" bitflags = "1"
memchr = "2.4.1" memchr = "2.4.1"
num-bigint = {version = "0.2", features = ["serde"]} num-bigint = {version = "0.4", features = ["serde"]}
once_cell = "1.9.0" once_cell = "1.10.0"
sourcemap = "6" sourcemap = "6"
swc_atoms = {version = "0.2", path = "../swc_atoms"} swc_atoms = {version = "0.2", path = "../swc_atoms"}
swc_common = {version = "0.17.3", path = "../swc_common"} swc_common = {version = "0.17.3", path = "../swc_common"}

View File

@ -15,6 +15,6 @@ swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}
swc_ecma_visit = {version = "0.55.0", path = "../swc_ecma_visit"} swc_ecma_visit = {version = "0.55.0", path = "../swc_ecma_visit"}
[dev-dependencies] [dev-dependencies]
pretty_assertions = "0.7.2" pretty_assertions = "1.1"
swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"} swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"}
testing = {version = "0.18.0", path = "../testing"} testing = {version = "0.18.0", path = "../testing"}

View File

@ -10,7 +10,7 @@ version = "0.57.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
phf = {version = "0.8.0", features = ["macros"]} phf = {version = "0.10", features = ["macros"]}
swc_atoms = {version = "0.2", path = "../swc_atoms"} swc_atoms = {version = "0.2", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}

View File

@ -9,12 +9,12 @@ version = "0.22.4"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
ahash = "0.7"
auto_impl = "0.5.0" auto_impl = "0.5.0"
dashmap = "5.1.0"
parking_lot = "0.12.0" parking_lot = "0.12.0"
rayon = "1.5.1" rayon = "1.5.1"
regex = "1" regex = "1"
dashmap = "4.0.2"
ahash = "0.7"
serde = {version = "1.0.133", features = ["derive"]} serde = {version = "1.0.133", features = ["derive"]}
swc_atoms = {version = "0.2.9", path = "../swc_atoms"} swc_atoms = {version = "0.2.9", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common", features = ["concurrent"]} swc_common = {version = "0.17.0", path = "../swc_common", features = ["concurrent"]}

View File

@ -24,7 +24,7 @@ tsc = ["dashmap", "once_cell", "swc_cached"]
[dependencies] [dependencies]
ahash = "0.7.4" ahash = "0.7.4"
anyhow = "1.0.41" anyhow = "1.0.41"
dashmap = {version = "4.0.2", optional = true} dashmap = {version = "5.1.0", optional = true}
lru = {version = "0.7.1", optional = true} lru = {version = "0.7.1", optional = true}
once_cell = {version = "1.9.0", optional = true} once_cell = {version = "1.9.0", optional = true}
parking_lot = {version = "0.12.0", optional = true} parking_lot = {version = "0.12.0", optional = true}

View File

@ -20,9 +20,9 @@ debug = ["backtrace"]
ahash = "0.7.6" ahash = "0.7.6"
backtrace = {version = "0.3.61", optional = true} backtrace = {version = "0.3.61", optional = true}
indexmap = "1.7.0" indexmap = "1.7.0"
once_cell = "1.9.0" once_cell = "1.10.0"
parking_lot = "0.12.0" parking_lot = "0.12.0"
pretty_assertions = {version = "0.7.2", optional = true} pretty_assertions = {version = "1.1", optional = true}
rayon = "1.5.1" rayon = "1.5.1"
regex = "1.5.3" regex = "1.5.3"
retain_mut = "0.1.2" retain_mut = "0.1.2"
@ -45,6 +45,6 @@ unicode-id = "0.3.0"
[dev-dependencies] [dev-dependencies]
ansi_term = "0.12.1" ansi_term = "0.12.1"
anyhow = "1" anyhow = "1"
pretty_assertions = "0.7.2" pretty_assertions = "1.1"
swc_node_base = {version = "0.5.0", path = "../swc_node_base"} swc_node_base = {version = "0.5.0", path = "../swc_node_base"}
testing = {version = "0.18.0", path = "../testing"} testing = {version = "0.18.0", path = "../testing"}

View File

@ -23,10 +23,10 @@ verify = ["swc_ecma_visit"]
[dependencies] [dependencies]
either = {version = "1.4"} either = {version = "1.4"}
enum_kind = {version = "0.2.1", path = "../enum_kind"} enum_kind = {version = "0.2.1", path = "../enum_kind"}
lexical = {version = "5.2.2", features = ["radix"]} lexical = {version = "6.1.0", features = ["power-of-two"]}
num-bigint = "0.2" num-bigint = "0.4"
serde = {version = "1", features = ["derive"]} serde = {version = "1", features = ["derive"]}
smallvec = "1" smallvec = "1.8.0"
swc_atoms = {version = "0.2.3", path = "../swc_atoms"} swc_atoms = {version = "0.2.3", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}
@ -36,7 +36,7 @@ typed-arena = "2.0.1"
unicode-id = "0.3" unicode-id = "0.3"
[dev-dependencies] [dev-dependencies]
pretty_assertions = "0.7.2" pretty_assertions = "1.1"
serde_json = "1" serde_json = "1"
swc_ecma_visit = {version = "0.55.0", path = "../swc_ecma_visit"} swc_ecma_visit = {version = "0.55.0", path = "../swc_ecma_visit"}
swc_node_base = {version = "0.5.0", path = "../swc_node_base"} swc_node_base = {version = "0.5.0", path = "../swc_node_base"}

File diff suppressed because one or more lines are too long

View File

@ -70,6 +70,15 @@ fn underscore(b: &mut Bencher) {
) )
} }
#[bench]
fn three(b: &mut Bencher) {
bench_module(
b,
Default::default(),
include_str!("./files/three-0.138.3.js"),
)
}
#[bench] #[bench]
fn yui(b: &mut Bencher) { fn yui(b: &mut Bencher) {
bench_module(b, Default::default(), include_str!("./files/yui-3.12.0.js")) bench_module(b, Default::default(), include_str!("./files/yui-3.12.0.js"))

View File

@ -67,6 +67,15 @@ fn underscore(b: &mut Bencher) {
) )
} }
#[bench]
fn three(b: &mut Bencher) {
bench_module(
b,
Default::default(),
include_str!("./files/three-0.138.3.js"),
)
}
#[bench] #[bench]
fn yui(b: &mut Bencher) { fn yui(b: &mut Bencher) {
bench_module(b, Default::default(), include_str!("./files/yui-3.12.0.js")) bench_module(b, Default::default(), include_str!("./files/yui-3.12.0.js"))

View File

@ -255,10 +255,15 @@ impl<'a, I: Input> Lexer<'a, I> {
'0' => { '0' => {
let next = self.input.peek(); let next = self.input.peek();
let radix = match next { let bigint = match next {
Some('x') | Some('X') => 16, Some('x') | Some('X') => self
Some('o') | Some('O') => 8, .read_radix_number::<16, { lexical::NumberFormatBuilder::hexadecimal() }>(),
Some('b') | Some('B') => 2, Some('o') | Some('O') => {
self.read_radix_number::<8, { lexical::NumberFormatBuilder::octal() }>()
}
Some('b') | Some('B') => {
self.read_radix_number::<2, { lexical::NumberFormatBuilder::binary() }>()
}
_ => { _ => {
return self return self
.read_number(false) .read_number(false)
@ -270,8 +275,7 @@ impl<'a, I: Input> Lexer<'a, I> {
} }
}; };
return self return bigint
.read_radix_number(radix)
.map(|v| match v { .map(|v| match v {
Left(v) => Num(v), Left(v) => Num(v),
Right(v) => BigInt(v), Right(v) => BigInt(v),
@ -825,7 +829,7 @@ impl<'a, I: Input> Lexer<'a, I> {
debug_assert!(count == 2 || count == 4); debug_assert!(count == 2 || count == 4);
// let pos = self.cur_pos(); // let pos = self.cur_pos();
match self.read_int_u32(16, count, raw)? { match self.read_int_u32::<16>(count, raw)? {
Some(val) => Ok(val.into()), Some(val) => Ok(val.into()),
None => self.error(start, SyntaxError::ExpectedHexChars { count })?, None => self.error(start, SyntaxError::ExpectedHexChars { count })?,
} }
@ -834,7 +838,7 @@ impl<'a, I: Input> Lexer<'a, I> {
/// Read `CodePoint`. /// Read `CodePoint`.
fn read_code_point(&mut self, raw: &mut Raw) -> LexResult<Char> { fn read_code_point(&mut self, raw: &mut Raw) -> LexResult<Char> {
let start = self.cur_pos(); let start = self.cur_pos();
let val = self.read_int_u32(16, 0, raw)?; let val = self.read_int_u32::<16>(0, raw)?;
match val { match val {
Some(val) if 0x0010_ffff >= val => match char::from_u32(val) { Some(val) if 0x0010_ffff >= val => match char::from_u32(val) {
Some(c) => Ok(c.into()), Some(c) => Ok(c.into()),

View File

@ -12,6 +12,22 @@ use tracing::trace;
use super::*; use super::*;
use crate::error::SyntaxError; use crate::error::SyntaxError;
struct LazyBigInt<const RADIX: u8> {
value: String,
}
impl<const RADIX: u8> LazyBigInt<RADIX> {
fn new(value: String) -> Self {
Self { value }
}
#[inline]
fn into_value(self) -> BigIntValue {
BigIntValue::parse_bytes(self.value.as_bytes(), RADIX as _)
.expect("failed to parse string as a bigint")
}
}
impl<'a, I: Input> Lexer<'a, I> { impl<'a, I: Input> Lexer<'a, I> {
/// Reads an integer, octal integer, or floating-point number /// Reads an integer, octal integer, or floating-point number
pub(super) fn read_number( pub(super) fn read_number(
@ -36,16 +52,17 @@ impl<'a, I: Input> Lexer<'a, I> {
0f64 0f64
} else { } else {
// Use read_number_no_dot to support long numbers. // Use read_number_no_dot to support long numbers.
let (val, s, not_octal) = self.read_number_no_dot_as_str(10)?; let (val, s, not_octal) = self
.read_number_no_dot_as_str::<10, { lexical::NumberFormatBuilder::from_radix(10) }>(
)?;
if self.input.cur() == Some('n') { if self.input.cur() == Some('n') {
self.input.bump(); self.input.bump();
return Ok(Either::Right(s)); return Ok(Either::Right(s.into_value()));
} }
write!(raw_val, "{}", s).unwrap(); write!(raw_val, "{}", &s.value).unwrap();
if starts_with_zero { if starts_with_zero {
// TODO: I guess it would be okay if I don't use -ffast-math // TODO: I guess it would be okay if I don't use -ffast-math
// (or something like that), but needs review. // (or something like that), but needs review.
if val == 0.0f64 { if val == 0.0f64 {
// If only one zero is used, it's decimal. // If only one zero is used, it's decimal.
// And if multiple zero is used, it's octal. // And if multiple zero is used, it's octal.
@ -55,7 +72,6 @@ impl<'a, I: Input> Lexer<'a, I> {
// e.g. `000` is octal // e.g. `000` is octal
if start.0 != self.last_pos().0 - 1 { if start.0 != self.last_pos().0 - 1 {
// `-1` is utf 8 length of `0` // `-1` is utf 8 length of `0`
return self.make_legacy_octal(start, 0f64).map(Either::Left); return self.make_legacy_octal(start, 0f64).map(Either::Left);
} }
} else { } else {
@ -63,7 +79,7 @@ impl<'a, I: Input> Lexer<'a, I> {
// e.g. 08.1 is strict mode violation but 0.1 is valid float. // e.g. 08.1 is strict mode violation but 0.1 is valid float.
if val.fract() == 0.0 { if val.fract() == 0.0 {
let val_str = s.to_string(); let val_str = &s.value;
// if it contains '8' or '9', it's decimal. // if it contains '8' or '9', it's decimal.
if not_octal { if not_octal {
@ -71,10 +87,17 @@ impl<'a, I: Input> Lexer<'a, I> {
self.emit_strict_mode_error(start, SyntaxError::LegacyDecimal); self.emit_strict_mode_error(start, SyntaxError::LegacyDecimal);
} else { } else {
// It's Legacy octal, and we should reinterpret value. // It's Legacy octal, and we should reinterpret value.
let val = let val = lexical::parse_with_options::<
lexical::parse_radix::<f64, _>(&val_str, 8).unwrap_or_else(|err| { f64,
panic!("failed to parse {} using `lexical`: {:?}", val_str, err) _,
}); { lexical::NumberFormatBuilder::from_radix(8) },
>(
val_str,
&lexical::parse_float_options::Options::from_radix(8),
)
.unwrap_or_else(|err| {
panic!("failed to parse {} using `lexical`: {:?}", val_str, err)
});
return self.make_legacy_octal(start, val).map(Either::Left); return self.make_legacy_octal(start, val).map(Either::Left);
} }
@ -102,7 +125,7 @@ impl<'a, I: Input> Lexer<'a, I> {
let mut raw = Raw(Some(String::new())); let mut raw = Raw(Some(String::new()));
// Read numbers after dot // Read numbers after dot
let dec_val = self.read_int(10, 0, &mut raw)?; let dec_val = self.read_int::<10>(0, &mut raw)?;
val = { val = {
if let Some(..) = dec_val { if let Some(..) = dec_val {
raw_val.push_str(raw.0.as_ref().unwrap()); raw_val.push_str(raw.0.as_ref().unwrap());
@ -138,7 +161,7 @@ impl<'a, I: Input> Lexer<'a, I> {
true true
}; };
let exp = self.read_number_no_dot(10)?; let exp = self.read_number_no_dot::<10>()?;
val = if exp == f64::INFINITY { val = if exp == f64::INFINITY {
if positive && val != 0.0 { if positive && val != 0.0 {
@ -163,20 +186,22 @@ impl<'a, I: Input> Lexer<'a, I> {
} }
/// Returns `Left(value)` or `Right(BigInt)` /// Returns `Left(value)` or `Right(BigInt)`
pub(super) fn read_radix_number(&mut self, radix: u8) -> LexResult<Either<f64, BigIntValue>> { pub(super) fn read_radix_number<const RADIX: u8, const FORMAT: u128>(
&mut self,
) -> LexResult<Either<f64, BigIntValue>> {
debug_assert!( debug_assert!(
radix == 2 || radix == 8 || radix == 16, RADIX == 2 || RADIX == 8 || RADIX == 16,
"radix should be one of 2, 8, 16, but got {}", "radix should be one of 2, 8, 16, but got {}",
radix RADIX
); );
debug_assert_eq!(self.cur(), Some('0')); debug_assert_eq!(self.cur(), Some('0'));
self.bump(); // 0 self.bump(); // 0
self.bump(); // x self.bump(); // x
let (val, s, _) = self.read_number_no_dot_as_str(radix)?; let (val, s, _) = self.read_number_no_dot_as_str::<RADIX, FORMAT>()?;
if self.eat(b'n') { if self.eat(b'n') {
return Ok(Either::Right(s)); return Ok(Either::Right(s.into_value()));
} }
self.ensure_not_ident()?; self.ensure_not_ident()?;
@ -186,18 +211,17 @@ impl<'a, I: Input> Lexer<'a, I> {
/// This can read long integers like /// This can read long integers like
/// "13612536612375123612312312312312312312312". /// "13612536612375123612312312312312312312312".
fn read_number_no_dot(&mut self, radix: u8) -> LexResult<f64> { fn read_number_no_dot<const RADIX: u8>(&mut self) -> LexResult<f64> {
debug_assert!( debug_assert!(
radix == 2 || radix == 8 || radix == 10 || radix == 16, RADIX == 2 || RADIX == 8 || RADIX == 10 || RADIX == 16,
"radix for read_number_no_dot should be one of 2, 8, 10, 16, but got {}", "radix for read_number_no_dot should be one of 2, 8, 10, 16, but got {}",
radix RADIX
); );
let start = self.cur_pos(); let start = self.cur_pos();
let mut read_any = false; let mut read_any = false;
let res = self.read_digits( let res = self.read_digits::<RADIX, _, f64>(
radix,
|total, radix, v| { |total, radix, v| {
read_any = true; read_any = true;
Ok((f64::mul_add(total, radix as f64, v as f64), true)) Ok((f64::mul_add(total, radix as f64, v as f64), true))
@ -207,7 +231,7 @@ impl<'a, I: Input> Lexer<'a, I> {
); );
if !read_any { if !read_any {
self.error(start, SyntaxError::ExpectedDigit { radix })?; self.error(start, SyntaxError::ExpectedDigit { radix: RADIX })?;
} }
res res
} }
@ -217,11 +241,13 @@ impl<'a, I: Input> Lexer<'a, I> {
/// ///
/// ///
/// Returned bool is `true` is there was `8` or `9`. /// Returned bool is `true` is there was `8` or `9`.
fn read_number_no_dot_as_str(&mut self, radix: u8) -> LexResult<(f64, BigIntValue, bool)> { fn read_number_no_dot_as_str<const RADIX: u8, const FORMAT: u128>(
&mut self,
) -> LexResult<(f64, LazyBigInt<RADIX>, bool)> {
debug_assert!( debug_assert!(
radix == 2 || radix == 8 || radix == 10 || radix == 16, RADIX == 2 || RADIX == 8 || RADIX == 10 || RADIX == 16,
"radix for read_number_no_dot should be one of 2, 8, 10, 16, but got {}", "radix for read_number_no_dot should be one of 2, 8, 10, 16, but got {}",
radix RADIX
); );
let start = self.cur_pos(); let start = self.cur_pos();
let mut non_octal = false; let mut non_octal = false;
@ -229,9 +255,7 @@ impl<'a, I: Input> Lexer<'a, I> {
let mut read_any = false; let mut read_any = false;
let mut raw = Raw(Some(String::new())); let mut raw = Raw(Some(String::new()));
self.read_digits::<RADIX, _, f64>(
self.read_digits(
radix,
|total, radix, v| { |total, radix, v| {
read_any = true; read_any = true;
@ -246,15 +270,17 @@ impl<'a, I: Input> Lexer<'a, I> {
)?; )?;
if !read_any { if !read_any {
self.error(start, SyntaxError::ExpectedDigit { radix })?; self.error(start, SyntaxError::ExpectedDigit { radix: RADIX })?;
} }
let raw_str = raw.0.take().unwrap(); let raw_str = raw.0.take().unwrap();
Ok(( Ok((
lexical::parse_radix(raw_str.as_bytes(), radix as _) lexical::parse_with_options::<f64, _, FORMAT>(
.expect("failed to parse float using lexical"), raw_str.as_bytes(),
BigIntValue::parse_bytes(raw_str.as_bytes(), radix as _) &lexical::parse_float_options::Options::from_radix(RADIX),
.expect("failed to parse string as a bigint"), )
.expect("failed to parse float using lexical"),
LazyBigInt::new(raw_str),
non_octal, non_octal,
)) ))
} }
@ -274,10 +300,13 @@ impl<'a, I: Input> Lexer<'a, I> {
/// were read, the integer value otherwise. /// were read, the integer value otherwise.
/// When `len` is not zero, this /// When `len` is not zero, this
/// will return `None` unless the integer has exactly `len` digits. /// will return `None` unless the integer has exactly `len` digits.
pub(super) fn read_int(&mut self, radix: u8, len: u8, raw: &mut Raw) -> LexResult<Option<f64>> { pub(super) fn read_int<const RADIX: u8>(
&mut self,
len: u8,
raw: &mut Raw,
) -> LexResult<Option<f64>> {
let mut count = 0u16; let mut count = 0u16;
let v = self.read_digits( let v = self.read_digits::<RADIX, _, Option<f64>>(
radix,
|opt: Option<f64>, radix, val| { |opt: Option<f64>, radix, val| {
count += 1; count += 1;
let total = opt.unwrap_or_default() * radix as f64 + val as f64; let total = opt.unwrap_or_default() * radix as f64 + val as f64;
@ -294,17 +323,15 @@ impl<'a, I: Input> Lexer<'a, I> {
} }
} }
pub(super) fn read_int_u32( pub(super) fn read_int_u32<const RADIX: u8>(
&mut self, &mut self,
radix: u8,
len: u8, len: u8,
raw: &mut Raw, raw: &mut Raw,
) -> LexResult<Option<u32>> { ) -> LexResult<Option<u32>> {
let start = self.state.start; let start = self.state.start;
let mut count = 0; let mut count = 0;
let v = self.read_digits( let v = self.read_digits::<RADIX, _, Option<u32>>(
radix,
|opt: Option<u32>, radix, val| { |opt: Option<u32>, radix, val| {
count += 1; count += 1;
@ -332,9 +359,8 @@ impl<'a, I: Input> Lexer<'a, I> {
} }
/// `op`- |total, radix, value| -> (total * radix + value, continue) /// `op`- |total, radix, value| -> (total * radix + value, continue)
fn read_digits<F, Ret>( fn read_digits<const RADIX: u8, F, Ret>(
&mut self, &mut self,
radix: u8,
mut op: F, mut op: F,
raw: &mut Raw, raw: &mut Raw,
allow_num_separator: bool, allow_num_separator: bool,
@ -344,12 +370,12 @@ impl<'a, I: Input> Lexer<'a, I> {
Ret: Copy + Default, Ret: Copy + Default,
{ {
debug_assert!( debug_assert!(
radix == 2 || radix == 8 || radix == 10 || radix == 16, RADIX == 2 || RADIX == 8 || RADIX == 10 || RADIX == 16,
"radix for read_int should be one of 2, 8, 10, 16, but got {}", "radix for read_int should be one of 2, 8, 10, 16, but got {}",
radix RADIX
); );
if cfg!(feature = "debug") { if cfg!(feature = "debug") {
trace!("read_digits(radix = {}), cur = {:?}", radix, self.cur()); trace!("read_digits(radix = {}), cur = {:?}", RADIX, self.cur());
} }
let start = self.cur_pos(); let start = self.cur_pos();
@ -364,14 +390,14 @@ impl<'a, I: Input> Lexer<'a, I> {
return false; return false;
} }
let c = c.unwrap(); let c = c.unwrap();
c.is_digit(radix as _) c.is_digit(RADIX as _)
}; };
let is_forbidden = |c: Option<char>| { let is_forbidden = |c: Option<char>| {
if c.is_none() { if c.is_none() {
return true; return true;
} }
if radix == 16 { if RADIX == 16 {
matches!(c.unwrap(), '.' | 'X' | '_' | 'x') matches!(c.unwrap(), '.' | 'X' | '_' | 'x')
} else { } else {
matches!(c.unwrap(), '.' | 'B' | 'E' | 'O' | '_' | 'b' | 'e' | 'o') matches!(c.unwrap(), '.' | 'B' | 'E' | 'O' | '_' | 'b' | 'e' | 'o')
@ -393,7 +419,7 @@ impl<'a, I: Input> Lexer<'a, I> {
} }
// e.g. (val for a) = 10 where radix = 16 // e.g. (val for a) = 10 where radix = 16
let val = if let Some(val) = c.to_digit(radix as _) { let val = if let Some(val) = c.to_digit(RADIX as _) {
val val
} else { } else {
return Ok(total); return Ok(total);
@ -402,7 +428,7 @@ impl<'a, I: Input> Lexer<'a, I> {
raw.push(c); raw.push(c);
self.bump(); self.bump();
let (t, cont) = op(total, radix, val)?; let (t, cont) = op(total, RADIX, val)?;
total = t; total = t;
if !cont { if !cont {
return Ok(total); return Ok(total);
@ -458,9 +484,9 @@ mod tests {
}) })
} }
fn int(radix: u8, s: &'static str) -> u32 { fn int<const RADIX: u8>(s: &'static str) -> u32 {
lex(s, |l| { lex(s, |l| {
l.read_int_u32(radix, 0, &mut Raw(None)) l.read_int_u32::<RADIX>(0, &mut Raw(None))
.unwrap() .unwrap()
.expect("read_int returned None") .expect("read_int returned None")
}) })
@ -529,7 +555,8 @@ mod tests {
assert_eq!( assert_eq!(
1_000_000_000_000_000_000_000_000_000_000f64, 1_000_000_000_000_000_000_000_000_000_000f64,
num("1000000000000000000000000000000") num("1000000000000000000000000000000")
) );
assert_eq!(3.402_823_466_385_288_6e38, num("34028234663852886e22"),);
} }
#[test] #[test]
@ -545,33 +572,39 @@ mod tests {
#[test] #[test]
fn num_legacy_octal() { fn num_legacy_octal() {
assert_eq!(0o12 as f64, num("0012")); assert_eq!(0o12 as f64, num("0012"));
assert_eq!(10f64, num("012"));
} }
#[test] #[test]
fn read_int_1() { fn read_int_1() {
assert_eq!(60, int(10, "60")); assert_eq!(60, int::<10>("60"));
assert_eq!(0o73, int(8, "73")); assert_eq!(0o73, int::<8>("73"));
} }
#[test] #[test]
fn read_int_short() { fn read_int_short() {
assert_eq!(7, int(10, "7")); assert_eq!(7, int::<10>("7"));
assert_eq!(10, int::<10>("10"));
} }
#[test] #[test]
fn read_radix_number() { fn read_radix_number() {
assert_eq!( assert_eq!(
0o73 as f64, 0o73 as f64,
lex("0o73", |l| l.read_radix_number(8).unwrap().left().unwrap()) lex("0o73", |l| l
.read_radix_number::<8, { lexical::NumberFormatBuilder::octal() }>()
.unwrap()
.left()
.unwrap())
); );
} }
#[test] #[test]
fn read_num_sep() { fn read_num_sep() {
assert_eq!(1_000, int(10, "1_000")); assert_eq!(1_000, int::<10>("1_000"));
assert_eq!(0xaebece, int(16, "AE_BE_CE")); assert_eq!(0xaebece, int::<16>("AE_BE_CE"));
assert_eq!(0b1010000110000101, int(2, "1010_0001_1000_0101")); assert_eq!(0b1010000110000101, int::<2>("1010_0001_1000_0101"));
assert_eq!(0o0666, int(8, "0_6_6_6")); assert_eq!(0o0666, int::<8>("0_6_6_6"));
} }
#[test] #[test]
@ -591,11 +624,40 @@ mod tests {
fn large_bin_number() { fn large_bin_number() {
const LONG: &str = const LONG: &str =
"0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111"; "0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111";
const VERY_LARGE_BINARY_NUMBER: &str =
"0B1111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111\
0010111110001111111111";
const FORMAT: u128 = lexical::NumberFormatBuilder::binary();
assert_eq!( assert_eq!(
lex(LONG, |l| l.read_radix_number(2).unwrap().left().unwrap()), lex(LONG, |l| l
.read_radix_number::<2, FORMAT>()
.unwrap()
.left()
.unwrap()),
9.671_406_556_917_009e24 9.671_406_556_917_009e24
); );
assert_eq!(
lex(VERY_LARGE_BINARY_NUMBER, |l| l
.read_radix_number::<2, FORMAT>()
.unwrap()
.left()
.unwrap()),
1.0972248137587377e304
);
} }
#[test] #[test]

View File

@ -12,9 +12,9 @@ version = "0.105.0"
[dependencies] [dependencies]
ahash = "0.7.4" ahash = "0.7.4"
anyhow = "1" anyhow = "1"
dashmap = "4.0.2" dashmap = "5.1.0"
indexmap = "1.6.2" indexmap = "1.6.2"
once_cell = "1.9.0" once_cell = "1.10.0"
preset_env_base = {version = "0.2.0", path = "../preset_env_base"} preset_env_base = {version = "0.2.0", path = "../preset_env_base"}
semver = {version = "1.0.4", features = ["serde"]} semver = {version = "1.0.4", features = ["serde"]}
serde = {version = "1", features = ["derive"]} serde = {version = "1", features = ["derive"]}
@ -29,7 +29,7 @@ swc_ecma_utils = {version = "0.71.0", path = "../swc_ecma_utils"}
swc_ecma_visit = {version = "0.55.0", path = "../swc_ecma_visit"} swc_ecma_visit = {version = "0.55.0", path = "../swc_ecma_visit"}
[dev-dependencies] [dev-dependencies]
pretty_assertions = "0.7.2" pretty_assertions = "1.1"
swc_ecma_codegen = {version = "0.94.0", path = "../swc_ecma_codegen"} swc_ecma_codegen = {version = "0.94.0", path = "../swc_ecma_codegen"}
swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"} swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"}
testing = {version = "0.18.0", path = "../testing"} testing = {version = "0.18.0", path = "../testing"}

View File

@ -37,7 +37,7 @@ swc_ecma_utils = {version = "0.71.0", path = "../swc_ecma_utils"}
swc_ecma_visit = {version = "0.55.0", path = "../swc_ecma_visit"} swc_ecma_visit = {version = "0.55.0", path = "../swc_ecma_visit"}
[dev-dependencies] [dev-dependencies]
pretty_assertions = "0.7.2" pretty_assertions = "1.1"
sourcemap = "6" sourcemap = "6"
swc_ecma_codegen = {version = "0.94.0", path = "../swc_ecma_codegen"} swc_ecma_codegen = {version = "0.94.0", path = "../swc_ecma_codegen"}
swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"} swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"}

View File

@ -16,11 +16,11 @@ concurrent = [
[dependencies] [dependencies]
better_scoped_tls = {version = "0.1.0", path = "../better_scoped_tls"} better_scoped_tls = {version = "0.1.0", path = "../better_scoped_tls"}
once_cell = "1.9.0" once_cell = "1.10.0"
phf = {version = "0.8.0", features = ["macros"]} phf = {version = "0.10", features = ["macros"]}
rayon = {version = "1", optional = true} rayon = {version = "1", optional = true}
serde = {version = "1", features = ["derive"]} serde = {version = "1", features = ["derive"]}
smallvec = "1.6.0" smallvec = "1.8.0"
swc_atoms = {version = "0.2", path = "../swc_atoms"} swc_atoms = {version = "0.2", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}

View File

@ -21,11 +21,11 @@ ahash = "0.7.4"
arrayvec = "0.7.2" arrayvec = "0.7.2"
indexmap = "1.6.1" indexmap = "1.6.1"
is-macro = "0.2.0" is-macro = "0.2.0"
num-bigint = "0.2" num-bigint = "0.4"
ordered-float = "2.0.1" ordered-float = "2.0.1"
rayon = {version = "1.5.1", optional = true} rayon = {version = "1.5.1", optional = true}
serde = {version = "1.0.118", features = ["derive"]} serde = {version = "1.0.118", features = ["derive"]}
smallvec = "1.6.0" smallvec = "1.8.0"
swc_atoms = {version = "0.2.5", path = "../swc_atoms"} swc_atoms = {version = "0.2.5", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}

View File

@ -20,9 +20,9 @@ concurrent = [
[dependencies] [dependencies]
ahash = "0.7.4" ahash = "0.7.4"
dashmap = "4.0.2" dashmap = "5.1.0"
indexmap = "1.6.1" indexmap = "1.6.1"
once_cell = "1.9.0" once_cell = "1.10.0"
rayon = {version = "1.5.1", optional = true} rayon = {version = "1.5.1", optional = true}
serde_json = "1.0.61" serde_json = "1.0.61"
swc_atoms = {version = "0.2", path = "../swc_atoms"} swc_atoms = {version = "0.2", path = "../swc_atoms"}

View File

@ -17,7 +17,7 @@ multi-module = ["swc_ecma_loader"]
[dependencies] [dependencies]
either = "1.6.1" either = "1.6.1"
serde = {version = "1.0.118", features = ["derive"]} serde = {version = "1.0.118", features = ["derive"]}
smallvec = "1.6.0" smallvec = "1.8.0"
swc_atoms = {version = "0.2", path = "../swc_atoms"} swc_atoms = {version = "0.2", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}

View File

@ -13,12 +13,12 @@ version = "0.92.0"
[dependencies] [dependencies]
ahash = "0.7.4" ahash = "0.7.4"
base64 = "0.13.0" base64 = "0.13.0"
dashmap = "4.0.2" dashmap = "5.1.0"
indexmap = "1.6.1" indexmap = "1.6.1"
once_cell = "1.9.0" once_cell = "1.10.0"
regex = "1.4.2" regex = "1.4.2"
serde = {version = "1.0.118", features = ["derive"]} serde = {version = "1.0.118", features = ["derive"]}
sha-1 = "0.9.4" sha-1 = "0.10.0"
string_enum = {version = "0.3.1", path = "../string_enum"} string_enum = {version = "0.3.1", path = "../string_enum"}
swc_atoms = {version = "0.2", path = "../swc_atoms"} swc_atoms = {version = "0.2", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}

View File

@ -16,7 +16,7 @@ anyhow = "1"
hex = "0.4.3" hex = "0.4.3"
serde = "1" serde = "1"
serde_json = "1" serde_json = "1"
sha-1 = "0.9.8" sha-1 = "0.10"
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}
swc_ecma_codegen = {version = "0.94.0", path = "../swc_ecma_codegen"} swc_ecma_codegen = {version = "0.94.0", path = "../swc_ecma_codegen"}

View File

@ -21,7 +21,7 @@ concurrent = [
[dependencies] [dependencies]
indexmap = "1" indexmap = "1"
once_cell = "1.9.0" once_cell = "1.10.0"
rayon = {version = "1.5.1", optional = true} rayon = {version = "1.5.1", optional = true}
swc_atoms = {version = "0.2.0", path = "../swc_atoms"} swc_atoms = {version = "0.2.0", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}

View File

@ -12,7 +12,7 @@ version = "0.55.0"
debug = [] debug = []
[dependencies] [dependencies]
num-bigint = {version = "0.2", features = ["serde"]} num-bigint = {version = "0.4", features = ["serde"]}
swc_atoms = {version = "0.2", path = "../swc_atoms"} swc_atoms = {version = "0.2", path = "../swc_atoms"}
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}

View File

@ -15,4 +15,4 @@ proc-macro = true
pmutil = "0.5.3" pmutil = "0.5.3"
proc-macro2 = "1.0.24" proc-macro2 = "1.0.24"
quote = "1.0.7" quote = "1.0.7"
syn = {version = "1.0.54", features = ["full"]} syn = {version = "1", features = ["full"]}

View File

@ -28,7 +28,7 @@ swc_estree_ast = {version = "0.7.0", path = "../swc_estree_ast"}
swc_node_comments = {version = "0.4.0", path = "../swc_node_comments/"} swc_node_comments = {version = "0.4.0", path = "../swc_node_comments/"}
[dev-dependencies] [dev-dependencies]
pretty_assertions = "0.7.2" pretty_assertions = "1.1"
swc = {version = "0.149.0", path = "../swc"} swc = {version = "0.149.0", path = "../swc"}
swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"} swc_ecma_ast = {version = "0.69.0", path = "../swc_ecma_ast"}
swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"} swc_ecma_parser = {version = "0.92.0", path = "../swc_ecma_parser"}

View File

@ -13,5 +13,5 @@ version = "0.4.0"
[dependencies] [dependencies]
ahash = "0.7.6" ahash = "0.7.6"
indexmap = "1.7.0" indexmap = "1.7.0"
petgraph = "0.5" petgraph = "0.6"
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}

View File

@ -12,7 +12,7 @@ version = "0.4.0"
[dependencies] [dependencies]
ahash = "0.7.6" ahash = "0.7.6"
auto_impl = "0.5.0" auto_impl = "0.5.0"
petgraph = "0.5.0" petgraph = "0.6.0"
swc_fast_graph = {version = "0.4.0", path = "../swc_fast_graph/"} swc_fast_graph = {version = "0.4.0", path = "../swc_fast_graph/"}
tracing = "0.1.32" tracing = "0.1.32"

View File

@ -15,4 +15,4 @@ quote = "1"
[dependencies.syn] [dependencies.syn]
features = ["derive", "visit", "parsing", "full", "printing", "extra-traits"] features = ["derive", "visit", "parsing", "full", "printing", "extra-traits"]
version = "=1.0.84" version = "1"

View File

@ -17,9 +17,9 @@ swc_v2 = []
[dependencies] [dependencies]
anyhow = "1" anyhow = "1"
dashmap = "4.0.2" dashmap = "5.1.0"
is-macro = "0.2.0" is-macro = "0.2.0"
once_cell = "1.9.0" once_cell = "1.10.0"
regex = "1" regex = "1"
serde = {version = "1", features = ["derive"]} serde = {version = "1", features = ["derive"]}
serde_json = "1" serde_json = "1"
@ -39,5 +39,5 @@ swc_node_base = {path = "../swc_node_base"}
tracing = "0.1.32" tracing = "0.1.32"
[dev-dependencies] [dev-dependencies]
pretty_assertions = "0.7.2" pretty_assertions = "1.1"
testing = {path = "../testing"} testing = {path = "../testing"}

View File

@ -12,5 +12,5 @@ version = "0.4.0"
[dependencies] [dependencies]
ahash = "0.7.6" ahash = "0.7.6"
dashmap = "4" dashmap = "5.1.0"
swc_common = {version = "0.17.0", path = "../swc_common"} swc_common = {version = "0.17.0", path = "../swc_common"}

View File

@ -10,7 +10,7 @@ version = "0.40.0"
[dependencies] [dependencies]
anyhow = "1.0.42" anyhow = "1.0.42"
once_cell = "1.9.0" once_cell = "1.10.0"
parking_lot = "0.12.0" parking_lot = "0.12.0"
serde = {version = "1.0.126", features = ["derive"]} serde = {version = "1.0.126", features = ["derive"]}
serde_json = "1.0.64" serde_json = "1.0.64"

View File

@ -11,11 +11,11 @@ version = "0.18.1"
[dependencies] [dependencies]
ansi_term = "0.12.1" ansi_term = "0.12.1"
difference = "2" difference = "2"
once_cell = "1.9.0" once_cell = "1.10.0"
pretty_assertions = "0.7.2" pretty_assertions = "1.1"
regex = "1" regex = "1"
serde_json = "1.0.71" serde_json = "1.0.71"
swc_common = {version = "0.17.0", path = "../swc_common", features = ["tty-emitter"]} swc_common = {version = "0.17.0", path = "../swc_common", features = ["tty-emitter"]}
testing_macros = {version = "0.2.0", path = "../testing_macros"} testing_macros = {version = "0.2.0", path = "../testing_macros"}
tracing = "0.1.32" tracing = "0.1.32"
tracing-subscriber = { version = "0.3.9", features = ["env-filter"] } tracing-subscriber = {version = "0.3.9", features = ["env-filter"]}

View File

@ -19,7 +19,7 @@ swc_v2 = []
[dependencies] [dependencies]
anyhow = "1.0.42" anyhow = "1.0.42"
console_error_panic_hook = "0.1.6" console_error_panic_hook = "0.1.6"
once_cell = "1.9.0" once_cell = "1.10.0"
parking_lot_core = "0.9.1" parking_lot_core = "0.9.1"
path-clean = "0.1" path-clean = "0.1"
serde = {version = "1", features = ["derive"]} serde = {version = "1", features = ["derive"]}

View File

@ -72,7 +72,7 @@
"@babel/preset-react": "^7.13.13", "@babel/preset-react": "^7.13.13",
"@babel/preset-typescript": "^7.13.0", "@babel/preset-typescript": "^7.13.0",
"@babel/types": "^7.14.0", "@babel/types": "^7.14.0",
"@napi-rs/cli": "^2.4.2", "@napi-rs/cli": "^2.4.5",
"@swc/helpers": "^0.2.10", "@swc/helpers": "^0.2.10",
"@types/jest": "^26.0.23", "@types/jest": "^26.0.23",
"@types/node": "^14.14.41", "@types/node": "^14.14.41",

View File

@ -1432,10 +1432,10 @@
"@types/yargs" "^16.0.0" "@types/yargs" "^16.0.0"
chalk "^4.0.0" chalk "^4.0.0"
"@napi-rs/cli@^2.4.2": "@napi-rs/cli@^2.4.5":
version "2.4.2" version "2.4.5"
resolved "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.4.2.tgz#89b32c7d8776004bc9617915605aea769339cf6f" resolved "https://registry.yarnpkg.com/@napi-rs/cli/-/cli-2.4.5.tgz#0f33e54e08c2e875c729697eb81f1c36342f0205"
integrity sha512-+yCOuPqernvD8BMphbadF87ElaJ0rjanOZrbnauaEdR07YyoalGw3FTk15HHyflIwQKlYd69gkG5EM4WFkICKw== integrity sha512-CLa3PSHh4Y760OXkHidzfHavVtfbQyfMhj3sWpta3SZjbWMk0tbdPhRez9y8KVApVVWjBxz5agEeFMfxxr+KTg==
"@sinonjs/commons@^1.7.0": "@sinonjs/commons@^1.7.0":
version "1.8.3" version "1.8.3"
@ -1451,6 +1451,71 @@
dependencies: dependencies:
"@sinonjs/commons" "^1.7.0" "@sinonjs/commons" "^1.7.0"
"@swc/core-android-arm-eabi@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.146.tgz#027c9b0c57377ce6cf4c7806ba07acf156e70d3a"
integrity sha512-vRlxDksEDdprqfj9VACYUGyCJr/tYLetNjhjel46qmKoXU5uAib1WLWWgMB1Ur+oh8eCSTN8cnOblOziqfC1Rw==
"@swc/core-android-arm64@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.146.tgz#e906088244bab3672ef4c40bd0631d2a09ab51fd"
integrity sha512-YoJygRvjZ6IXvWstYZHGThEj1aWshzoMohX0i6WH5NIZhkzeF0UhRu/IZoS9VcQsd0WtDEMQe0G0wcrd/FToNg==
"@swc/core-darwin-arm64@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.146.tgz#e47a8f5c1b18278c1005007121553a3d01d15622"
integrity sha512-ftAyhczQHSUQo1Mox/VyZ3YL9KtG0LgOFUUUuLD3Pb9zKQB20Jc/Dfnh/bFktemVG8XiH0rOyR9yEI2EANHuEA==
"@swc/core-darwin-x64@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.146.tgz#5e9a2d9fe1049ec8cdaec265b73781eb08579365"
integrity sha512-mYRN/WTS7TfYt3jqJYghcrpAW7zkpjdeEx9Rot8rmUEmk97luh9Bcwqafzjb9ndoG1mAiaTQcqvs/QqT2efS5Q==
"@swc/core-freebsd-x64@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.146.tgz#6bda670ae5abb05abecb51d832950b3c159289d1"
integrity sha512-eYU5g7p/dY98+hvg3VJtwiX+btRWnq+WO4y4M+X1nguqghvuTv6jtVLeHDNr8FEhc+FMSJPYKO321ZVa0xCKXw==
"@swc/core-linux-arm-gnueabihf@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.146.tgz#f37f6876cfd42bb58037f7c3b2dd13b58f1cf40d"
integrity sha512-ahKwlP9b41HUlwY+0eRJjgG4yJZN+uT16iBB2X7VedipmRO0aOOaP8xLReDjn4Z13DL14iAPC6Jnxiaw5rl8LQ==
"@swc/core-linux-arm64-gnu@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.146.tgz#9daed25cbcc3fcfbf792fadc26b0d13a1bd8a130"
integrity sha512-S/0EJI8BWBQtsyIuYwVg+Gq03NlGl/xWOJgwLJss5+DawvxK8YZFteczw7M/bN/E5D2TqZRyybLM6baQozgDAg==
"@swc/core-linux-arm64-musl@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.146.tgz#af5bdc23160fbb9db49ea1f05580000baabde063"
integrity sha512-tOHcanuqgniMwUWMwjA+zr/hZyVn931l8DiIi3Mthyplp/PDY68PVAUJ8miJd4C5XDPcYfPOe5kRyXsFrdZzhw==
"@swc/core-linux-x64-gnu@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.146.tgz#aeef122f0b313fb95438e209f22697ddb3da5c7d"
integrity sha512-w9jHnFe1XLYfQYWkaJwKgmtb/HKsgyFy0sCQpVjgDq/+ds8PPyACthDINpiEMsAOFN+IfE59HDn4A2gN3qyVgg==
"@swc/core-linux-x64-musl@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.146.tgz#d146fd167e9d84a08637a9e1d535b04f2204bd99"
integrity sha512-iwKiHvV8p48/82+eJRCy/WcnAZBOFr2ZJ5VLtRuV+sz0mkWjoimnLZ8SEshoru9PVoKF7hfG7AMqKaVOUjSJFg==
"@swc/core-win32-arm64-msvc@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.146.tgz#23b52c4fdcf1395861eb915924285b7857c3db68"
integrity sha512-n21riIEGTPim19Y0mrBIDVZfOrYdfd2W8QEgbiG/f+kcOlWckvyh9ZKexd6D8QpHe73C4lOX1RrmH3DgnPGhqA==
"@swc/core-win32-ia32-msvc@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.146.tgz#3e56db016661cf877b8ae39056fadbb14ec17eef"
integrity sha512-5b99VzxvTqTQCZDmpKrGevUc9SK0QBiGZG4Oeh5CnSJyx8SZU0A3R7rbMoSR5/raP9OA/0ZvlXefUDXIsKNadA==
"@swc/core-win32-x64-msvc@1.2.146":
version "1.2.146"
resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.146.tgz#e9010b06fbfebdc745d2dd324b752ddd4f685bc9"
integrity sha512-P45vAh0hR9dISIceSv6MkypjT0WduLWB4U8LPoCneeAw7mA1U7liS0Uu1PeiafxQVMWg8SNyIJFDcSg/haLJgg==
"@swc/helpers@^0.2.10": "@swc/helpers@^0.2.10":
version "0.2.12" version "0.2.12"
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.2.12.tgz#cd54624dd685f7832b50dd7ce119ddc4eb2585ad" resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.2.12.tgz#cd54624dd685f7832b50dd7ce119ddc4eb2585ad"