Add experimental SWC minify and SWC loader options (#27664)

This commit is contained in:
Tim Neutkens 2021-08-06 16:07:36 +02:00 committed by GitHub
parent e3e7e0840d
commit d2f43b718f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 380 additions and 545 deletions

View file

@ -47,7 +47,7 @@
"@fullhuman/postcss-purgecss": "1.3.0", "@fullhuman/postcss-purgecss": "1.3.0",
"@mdx-js/loader": "0.18.0", "@mdx-js/loader": "0.18.0",
"@svgr/webpack": "5.5.0", "@svgr/webpack": "5.5.0",
"@swc/core": "1.2.66", "@swc/core": "1.2.74",
"@testing-library/react": "11.2.5", "@testing-library/react": "11.2.5",
"@types/cheerio": "0.22.16", "@types/cheerio": "0.22.16",
"@types/fs-extra": "8.1.0", "@types/fs-extra": "8.1.0",

View file

@ -113,7 +113,8 @@ export default (
presetEnvConfig.targets = { presetEnvConfig.targets = {
// Targets the current process' version of Node. This requires apps be // Targets the current process' version of Node. This requires apps be
// built and deployed on the same version of Node. // built and deployed on the same version of Node.
node: 'current', // This is the same as using "current" but explicit
node: process.versions.node,
} }
} }

View file

@ -14,9 +14,9 @@ dependencies = [
[[package]] [[package]]
name = "addr2line" name = "addr2line"
version = "0.15.2" version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd"
dependencies = [ dependencies = [
"gimli", "gimli",
] ]
@ -27,12 +27,6 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e"
[[package]] [[package]]
name = "ahash" name = "ahash"
version = "0.7.4" version = "0.7.4"
@ -122,9 +116,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
[[package]] [[package]]
name = "backtrace" name = "backtrace"
version = "0.3.60" version = "0.3.61"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01"
dependencies = [ dependencies = [
"addr2line", "addr2line",
"cc", "cc",
@ -415,9 +409,9 @@ dependencies = [
[[package]] [[package]]
name = "gimli" name = "gimli"
version = "0.24.0" version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7"
[[package]] [[package]]
name = "glob" name = "glob"
@ -425,20 +419,14 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
[[package]]
name = "hashbrown"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
dependencies = [
"ahash 0.4.7",
]
[[package]] [[package]]
name = "hashbrown" name = "hashbrown"
version = "0.11.2" version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
dependencies = [
"ahash",
]
[[package]] [[package]]
name = "hermit-abi" name = "hermit-abi"
@ -488,7 +476,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
dependencies = [ dependencies = [
"autocfg 1.0.1", "autocfg 1.0.1",
"hashbrown 0.11.2", "hashbrown",
] ]
[[package]] [[package]]
@ -596,11 +584,11 @@ dependencies = [
[[package]] [[package]]
name = "lru" name = "lru"
version = "0.6.5" version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f374d42cdfc1d7dbf3d3dec28afab2eb97ffbf43a3234d795b5986dbf4b90ba" checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91"
dependencies = [ dependencies = [
"hashbrown 0.9.1", "hashbrown",
] ]
[[package]] [[package]]
@ -700,7 +688,7 @@ dependencies = [
"swc", "swc",
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_preset_env 0.31.0", "swc_ecma_preset_env",
"swc_ecma_transforms_testing", "swc_ecma_transforms_testing",
"swc_ecmascript", "swc_ecmascript",
"swc_node_base", "swc_node_base",
@ -759,9 +747,9 @@ dependencies = [
[[package]] [[package]]
name = "object" name = "object"
version = "0.25.3" version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7" checksum = "c55827317fb4c08822499848a14237d2874d6f139828893017237e7ab93eb386"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -780,9 +768,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]] [[package]]
name = "ordered-float" name = "ordered-float"
version = "2.6.0" version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6dea6388d3d5498ec651701f14edbaf463c924b5d8829fb2848ccf0bcc7b3c69" checksum = "039f02eb0f69271f26abe3202189275d7aa2258b903cb0281b5de710a2570ff3"
dependencies = [ dependencies = [
"num-traits", "num-traits",
] ]
@ -943,9 +931,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.27" version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612"
dependencies = [ dependencies = [
"unicode-xid", "unicode-xid",
] ]
@ -1205,9 +1193,9 @@ checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
[[package]] [[package]]
name = "relative-path" name = "relative-path"
version = "1.4.0" version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a479d53d7eed831f3c92ca79c61002d5987e21417d528296832f802bca532380" checksum = "f9629de8974fd69c97684736786b807edd3da456d3e3f95341dd9d4cbd8f5ad6"
[[package]] [[package]]
name = "remove_dir_all" name = "remove_dir_all"
@ -1284,18 +1272,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.126" version = "1.0.127"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.126" version = "1.0.127"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1304,9 +1292,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.64" version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -1314,10 +1302,20 @@ dependencies = [
] ]
[[package]] [[package]]
name = "sha-1" name = "serde_regex"
version = "0.9.6" 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 = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16" checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf"
dependencies = [
"regex",
"serde",
]
[[package]]
name = "sha-1"
version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a0c8611594e2ab4ebbf06ec7cbbf0a99450b8570e96cbf5188b5d5f6ef18d81"
dependencies = [ dependencies = [
"block-buffer", "block-buffer",
"cfg-if 1.0.0", "cfg-if 1.0.0",
@ -1328,9 +1326,9 @@ dependencies = [
[[package]] [[package]]
name = "siphasher" name = "siphasher"
version = "0.3.5" version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27" checksum = "729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1"
[[package]] [[package]]
name = "smallvec" name = "smallvec"
@ -1443,11 +1441,11 @@ checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
[[package]] [[package]]
name = "swc" name = "swc"
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 = "06a01b37575f8f0448c3348d8404820023b11b3317cbff2c7c620593da416e08" checksum = "c967d3cd0f16a199613c1f7471776b74afb6cb478a463289e8914c428525c06c"
dependencies = [ dependencies = [
"ahash 0.7.4", "ahash",
"anyhow", "anyhow",
"base64 0.12.3", "base64 0.12.3",
"dashmap", "dashmap",
@ -1464,13 +1462,15 @@ dependencies = [
"swc_bundler", "swc_bundler",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_codegen 0.62.1", "swc_ecma_codegen",
"swc_ecma_ext_transforms", "swc_ecma_ext_transforms",
"swc_ecma_loader", "swc_ecma_loader",
"swc_ecma_parser 0.63.0", "swc_ecma_minifier",
"swc_ecma_preset_env 0.29.0", "swc_ecma_parser",
"swc_ecma_transforms 0.59.0", "swc_ecma_preset_env",
"swc_ecma_utils 0.40.0", "swc_ecma_transforms",
"swc_ecma_transforms_base",
"swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
"swc_node_base", "swc_node_base",
"swc_visit", "swc_visit",
@ -1488,11 +1488,11 @@ dependencies = [
[[package]] [[package]]
name = "swc_bundler" name = "swc_bundler"
version = "0.46.0" version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "645abff0d28bf419bbefdeb155a6076ee884bc0a56837e9edde03e7af916fda7" checksum = "3c214b3f56aa5fc76fca81d65358f3c6390a170518253c941578bb8b45e700d1"
dependencies = [ dependencies = [
"ahash 0.7.4", "ahash",
"anyhow", "anyhow",
"crc", "crc",
"fxhash", "fxhash",
@ -1507,19 +1507,19 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_codegen 0.62.1", "swc_ecma_codegen",
"swc_ecma_loader", "swc_ecma_loader",
"swc_ecma_parser 0.63.0", "swc_ecma_parser",
"swc_ecma_transforms 0.59.0", "swc_ecma_transforms",
"swc_ecma_utils 0.40.0", "swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
] ]
[[package]] [[package]]
name = "swc_common" name = "swc_common"
version = "0.11.1" version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "903c296fdb8a385e7c229b039b4c6f6520e02a5b1869b6fcc3eb7f68fddd20a9" checksum = "f303985ebd578a033371a87be28cb54189d3ae5d492622523200f4de08db5275"
dependencies = [ dependencies = [
"ast_node", "ast_node",
"atty", "atty",
@ -1544,9 +1544,9 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecma_ast" name = "swc_ecma_ast"
version = "0.49.0" version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "033da686d95b9663e6732c4021e002bc23173bef251db87857e1c3c8bfbfe8cb" checksum = "228ab89e5a11289d43f14da2b65b9e37c8fb31091c33f4fad66791ef65c04a1b"
dependencies = [ dependencies = [
"is-macro", "is-macro",
"num-bigint", "num-bigint",
@ -1558,9 +1558,9 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecma_codegen" name = "swc_ecma_codegen"
version = "0.62.1" version = "0.64.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a262bf6b73149626bbff6cc529d5839c5576ccdb79213bdf845a7d250ff0675f" checksum = "f41597b6fbcd6001575be2b9fb38eb8fb3ebd972827998bcb522078a8d8606cc"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"num-bigint", "num-bigint",
@ -1569,23 +1569,7 @@ dependencies = [
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_codegen_macros", "swc_ecma_codegen_macros",
"swc_ecma_parser 0.63.0", "swc_ecma_parser",
]
[[package]]
name = "swc_ecma_codegen"
version = "0.64.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34c3c4d017728ef6eaeaba46c34ba31ef24aa03a8a6a0240cb0e0c1e75435482"
dependencies = [
"bitflags",
"num-bigint",
"sourcemap",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_codegen_macros",
"swc_ecma_parser 0.65.0",
] ]
[[package]] [[package]]
@ -1603,24 +1587,24 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecma_ext_transforms" name = "swc_ecma_ext_transforms"
version = "0.21.0" version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a413915a7c2075a76c2dce06647b018538b47516e739512c2ee61c87dd846ef0" checksum = "5588dbe1dbd6c3ee50c3b292a3adfe4dd63f8bf487bbfe3f1b54f64894a67b15"
dependencies = [ dependencies = [
"phf", "phf",
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_parser 0.63.0", "swc_ecma_parser",
"swc_ecma_utils 0.40.0", "swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
] ]
[[package]] [[package]]
name = "swc_ecma_loader" name = "swc_ecma_loader"
version = "0.11.1" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "919aed51bc3c24ee4999d3c63d6ff86231746b487875403b7c1d2a6616a02966" checksum = "b05e3b054b690e610384fc8f5d244182cbd62691423755ca1c4b05cb0bfa6b46"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"dashmap", "dashmap",
@ -1637,22 +1621,28 @@ dependencies = [
] ]
[[package]] [[package]]
name = "swc_ecma_parser" name = "swc_ecma_minifier"
version = "0.63.0" version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adb3574984a0ed08f98b75bf6f6f5415f66a837f7722b7ae1ea150a6572253a5" checksum = "6f57ea673271d857cc278f2e62b9915520e4bf2defefb46d48291b8304ce0138"
dependencies = [ dependencies = [
"either",
"enum_kind",
"fxhash", "fxhash",
"lexical", "indexmap",
"log", "log",
"num-bigint", "once_cell",
"regex",
"retain_mut",
"serde", "serde",
"smallvec 1.6.1", "serde_json",
"serde_regex",
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_codegen",
"swc_ecma_parser",
"swc_ecma_transforms",
"swc_ecma_transforms_base",
"swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
"unicode-xid", "unicode-xid",
] ]
@ -1678,30 +1668,6 @@ dependencies = [
"unicode-xid", "unicode-xid",
] ]
[[package]]
name = "swc_ecma_preset_env"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d03f21c1a2a9dfb6054fc9fef2d5746bfa058a1496a8ed09d61be6c31bbeee9"
dependencies = [
"dashmap",
"fxhash",
"indexmap",
"once_cell",
"semver",
"serde",
"serde_json",
"st-map",
"string_enum",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_transforms 0.59.0",
"swc_ecma_utils 0.40.0",
"swc_ecma_visit",
"walkdir",
]
[[package]] [[package]]
name = "swc_ecma_preset_env" name = "swc_ecma_preset_env"
version = "0.31.0" version = "0.31.0"
@ -1720,34 +1686,12 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_transforms 0.61.0", "swc_ecma_transforms",
"swc_ecma_utils 0.41.0", "swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
"walkdir", "walkdir",
] ]
[[package]]
name = "swc_ecma_transforms"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f26ceff094df804b17a333056321f6be18e9df5ecd34fddf62971ed465cf6ec"
dependencies = [
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_parser 0.63.0",
"swc_ecma_transforms_base 0.22.2",
"swc_ecma_transforms_compat 0.25.1",
"swc_ecma_transforms_module",
"swc_ecma_transforms_optimization 0.29.1",
"swc_ecma_transforms_proposal 0.26.0",
"swc_ecma_transforms_react 0.27.0",
"swc_ecma_transforms_typescript 0.28.1",
"swc_ecma_utils 0.40.0",
"swc_ecma_visit",
"unicode-xid",
]
[[package]] [[package]]
name = "swc_ecma_transforms" name = "swc_ecma_transforms"
version = "0.61.0" version = "0.61.0"
@ -1757,23 +1701,24 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_parser 0.65.0", "swc_ecma_parser",
"swc_ecma_transforms_base 0.24.0", "swc_ecma_transforms_base",
"swc_ecma_transforms_compat 0.27.0", "swc_ecma_transforms_compat",
"swc_ecma_transforms_optimization 0.31.0", "swc_ecma_transforms_module",
"swc_ecma_transforms_proposal 0.28.0", "swc_ecma_transforms_optimization",
"swc_ecma_transforms_react 0.29.0", "swc_ecma_transforms_proposal",
"swc_ecma_transforms_typescript 0.30.0", "swc_ecma_transforms_react",
"swc_ecma_utils 0.41.0", "swc_ecma_transforms_typescript",
"swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
"unicode-xid", "unicode-xid",
] ]
[[package]] [[package]]
name = "swc_ecma_transforms_base" name = "swc_ecma_transforms_base"
version = "0.22.2" version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eef20521012c31b213fcb4f6d22ce2b14e85ac2fb1e4ec7a58a0adcde2a3817d" checksum = "42f9357fffe6d1b2922cf0a91a0c93e9a103811a0647f1a7ad80c215f9afbd09"
dependencies = [ dependencies = [
"fxhash", "fxhash",
"once_cell", "once_cell",
@ -1783,41 +1728,8 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_parser 0.63.0", "swc_ecma_parser",
"swc_ecma_utils 0.40.0", "swc_ecma_utils",
"swc_ecma_visit",
]
[[package]]
name = "swc_ecma_transforms_base"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daf2a22f330dac0031b0dd6957fe34d6cead7e0836af012ea62c0ec6b1b40456"
dependencies = [
"fxhash",
"once_cell",
"phf",
"scoped-tls",
"smallvec 1.6.1",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_parser 0.65.0",
"swc_ecma_utils 0.41.0",
"swc_ecma_visit",
]
[[package]]
name = "swc_ecma_transforms_classes"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "095e79be05d3804dadda03a0cbc5b8a6fddaf3131b628c5c3e69309d2aa30996"
dependencies = [
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_transforms_base 0.22.2",
"swc_ecma_utils 0.40.0",
"swc_ecma_visit", "swc_ecma_visit",
] ]
@ -1830,32 +1742,8 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_transforms_base 0.24.0", "swc_ecma_transforms_base",
"swc_ecma_utils 0.41.0", "swc_ecma_utils",
"swc_ecma_visit",
]
[[package]]
name = "swc_ecma_transforms_compat"
version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e5260174f888dffb64649e51353795af3bd6905f7a60c627048bb42b4b79a9f"
dependencies = [
"arrayvec",
"fxhash",
"indexmap",
"is-macro",
"num-bigint",
"ordered-float",
"serde",
"smallvec 1.6.1",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_transforms_base 0.22.2",
"swc_ecma_transforms_classes 0.8.0",
"swc_ecma_transforms_macros",
"swc_ecma_utils 0.40.0",
"swc_ecma_visit", "swc_ecma_visit",
] ]
@ -1876,10 +1764,10 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_transforms_base 0.24.0", "swc_ecma_transforms_base",
"swc_ecma_transforms_classes 0.10.0", "swc_ecma_transforms_classes",
"swc_ecma_transforms_macros", "swc_ecma_transforms_macros",
"swc_ecma_utils 0.41.0", "swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
] ]
@ -1898,9 +1786,9 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecma_transforms_module" name = "swc_ecma_transforms_module"
version = "0.26.2" version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c81b29f624a6a63d38161988d63ea3dea3e5557ef1ffada39ba2f322a8ba509" checksum = "2a054b76d72f294ddff1576eb0b61f3d78edceb670e6caf62c06adce8b861fdb"
dependencies = [ dependencies = [
"Inflector", "Inflector",
"anyhow", "anyhow",
@ -1912,31 +1800,9 @@ dependencies = [
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_loader", "swc_ecma_loader",
"swc_ecma_parser 0.63.0", "swc_ecma_parser",
"swc_ecma_transforms_base 0.22.2", "swc_ecma_transforms_base",
"swc_ecma_utils 0.40.0", "swc_ecma_utils",
"swc_ecma_visit",
]
[[package]]
name = "swc_ecma_transforms_optimization"
version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3abbb3391b74c0c71274a357cac50f696556d7ae5932ed2c4e16fcdf06844947"
dependencies = [
"dashmap",
"fxhash",
"indexmap",
"log",
"once_cell",
"retain_mut",
"serde_json",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_parser 0.63.0",
"swc_ecma_transforms_base 0.22.2",
"swc_ecma_utils 0.40.0",
"swc_ecma_visit", "swc_ecma_visit",
] ]
@ -1956,29 +1822,9 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_parser 0.65.0", "swc_ecma_parser",
"swc_ecma_transforms_base 0.24.0", "swc_ecma_transforms_base",
"swc_ecma_utils 0.41.0", "swc_ecma_utils",
"swc_ecma_visit",
]
[[package]]
name = "swc_ecma_transforms_proposal"
version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d301c102ef312c1521c1ac34c1b7844e443277a1e81aafac015dde2f4cc05528"
dependencies = [
"either",
"fxhash",
"serde",
"smallvec 1.6.1",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_parser 0.63.0",
"swc_ecma_transforms_base 0.22.2",
"swc_ecma_transforms_classes 0.8.0",
"swc_ecma_utils 0.40.0",
"swc_ecma_visit", "swc_ecma_visit",
] ]
@ -1995,33 +1841,10 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_parser 0.65.0", "swc_ecma_parser",
"swc_ecma_transforms_base 0.24.0", "swc_ecma_transforms_base",
"swc_ecma_transforms_classes 0.10.0", "swc_ecma_transforms_classes",
"swc_ecma_utils 0.41.0", "swc_ecma_utils",
"swc_ecma_visit",
]
[[package]]
name = "swc_ecma_transforms_react"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5ccc76ee3679862035e22d7193091c3c3d8350290b6f265abc7dcd058ceaaf4"
dependencies = [
"base64 0.13.0",
"dashmap",
"indexmap",
"once_cell",
"regex",
"serde",
"sha-1",
"string_enum",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_parser 0.63.0",
"swc_ecma_transforms_base 0.22.2",
"swc_ecma_utils 0.40.0",
"swc_ecma_visit", "swc_ecma_visit",
] ]
@ -2042,9 +1865,9 @@ dependencies = [
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_parser 0.65.0", "swc_ecma_parser",
"swc_ecma_transforms_base 0.24.0", "swc_ecma_transforms_base",
"swc_ecma_utils 0.41.0", "swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
] ]
@ -2059,10 +1882,10 @@ dependencies = [
"serde_json", "serde_json",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_codegen 0.64.0", "swc_ecma_codegen",
"swc_ecma_parser 0.65.0", "swc_ecma_parser",
"swc_ecma_transforms_base 0.24.0", "swc_ecma_transforms_base",
"swc_ecma_utils 0.41.0", "swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
"tempfile", "tempfile",
"testing", "testing",
@ -2070,53 +1893,21 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecma_transforms_typescript" name = "swc_ecma_transforms_typescript"
version = "0.28.1" version = "0.30.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "451b09367c4b99690fe03c72a079ca18902a2096656b4e2c6cbce50001b6faa9" checksum = "531efb950048802b6330bf8dab8dc858974a1807393175050d806d928ac0d27f"
dependencies = [ dependencies = [
"fxhash", "fxhash",
"serde", "serde",
"swc_atoms", "swc_atoms",
"swc_common", "swc_common",
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_parser 0.63.0", "swc_ecma_parser",
"swc_ecma_transforms_base 0.22.2", "swc_ecma_transforms_base",
"swc_ecma_utils 0.40.0", "swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
] ]
[[package]]
name = "swc_ecma_transforms_typescript"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3766bb42e21c763b68d15a43f0a13afb19be86036fd37b051821ecd846ff796"
dependencies = [
"fxhash",
"serde",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_parser 0.65.0",
"swc_ecma_transforms_base 0.24.0",
"swc_ecma_utils 0.41.0",
"swc_ecma_visit",
]
[[package]]
name = "swc_ecma_utils"
version = "0.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2027bcfafe634185e597080c9a94e83904ceea41f09372b130cda87222dd4df9"
dependencies = [
"once_cell",
"scoped-tls",
"swc_atoms",
"swc_common",
"swc_ecma_ast",
"swc_ecma_visit",
"unicode-xid",
]
[[package]] [[package]]
name = "swc_ecma_utils" name = "swc_ecma_utils"
version = "0.41.0" version = "0.41.0"
@ -2134,9 +1925,9 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecma_visit" name = "swc_ecma_visit"
version = "0.35.0" version = "0.35.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b06818a3a50e6de46a81d3d9f51a46d08624ff0f9eb2b3f30de717b15133858d" checksum = "754afc3c64e5f39fc17874170548e4f94612bcfb52fd7882437c149f713b3473"
dependencies = [ dependencies = [
"num-bigint", "num-bigint",
"swc_atoms", "swc_atoms",
@ -2147,15 +1938,15 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecmascript" name = "swc_ecmascript"
version = "0.48.0" version = "0.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fb11d3d724142ddbe9bbb5efd44ebad9c7c8a7a283c80b48d3dd025ab90aae1" checksum = "e7d7cf5f01d49cba27028518c15bf45343d0d99799f60ab7aabcbc0b6a440204"
dependencies = [ dependencies = [
"swc_ecma_ast", "swc_ecma_ast",
"swc_ecma_codegen 0.64.0", "swc_ecma_codegen",
"swc_ecma_parser 0.65.0", "swc_ecma_parser",
"swc_ecma_transforms 0.61.0", "swc_ecma_transforms",
"swc_ecma_utils 0.41.0", "swc_ecma_utils",
"swc_ecma_visit", "swc_ecma_visit",
] ]
@ -2197,9 +1988,9 @@ dependencies = [
[[package]] [[package]]
name = "swc_visit" name = "swc_visit"
version = "0.2.4" version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "583cfe83f6002e1118559308b88181f34b5936b403b72548cd0259bfcf0ca39e" checksum = "b24bd6153b94e06cae99d98d6a12b1fbe6063709cdb4b0f7ea25d2c0a62bdee7"
dependencies = [ dependencies = [
"either", "either",
"swc_visit_macros", "swc_visit_macros",
@ -2288,9 +2079,9 @@ dependencies = [
[[package]] [[package]]
name = "tinyvec" name = "tinyvec"
version = "1.2.0" version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338"
dependencies = [ dependencies = [
"tinyvec_macros", "tinyvec_macros",
] ]

View file

@ -15,11 +15,11 @@ path-clean = "0.1"
regex = "1.5" regex = "1.5"
serde = "1" serde = "1"
serde_json = "1" serde_json = "1"
swc = "0.30" swc = "0.33"
swc_atoms = "0.2.6" swc_atoms = "0.2.6"
swc_common = { version = "0.11.1", features = ["tty-emitter", "sourcemap"] } swc_common = { version = "0.11.1", features = ["tty-emitter", "sourcemap"] }
swc_node_base = "0.2.0" swc_node_base = "0.2.0"
swc_ecmascript = { version = "0.48.0", features = ["codegen", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } swc_ecmascript = { version = "0.50.0", features = ["codegen", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
swc_ecma_preset_env = "0.31.0" swc_ecma_preset_env = "0.31.0"
fxhash = "0.2.1" fxhash = "0.2.1"
retain_mut = "0.1.3" retain_mut = "0.1.3"

View file

@ -294,8 +294,22 @@ export default async function getBaseWebpackConfig(
const babelLoader = isWebpack5 const babelLoader = isWebpack5
? require.resolve('./babel/loader/index') ? require.resolve('./babel/loader/index')
: 'next-babel-loader' : 'next-babel-loader'
const useSWCLoader = config.experimental.swcLoader && isWebpack5
if (useSWCLoader && babelConfigFile) {
Log.warn(
`experimental.swcLoader enabled. The custom Babel configuration will not be used.`
)
}
const defaultLoaders = { const defaultLoaders = {
babel: { babel: useSWCLoader
? {
loader: 'next-swc-loader',
options: {
isServer,
},
}
: {
loader: babelLoader, loader: babelLoader,
options: { options: {
configFile: babelConfigFile, configFile: babelConfigFile,
@ -953,6 +967,7 @@ export default async function getBaseWebpackConfig(
new TerserPlugin({ new TerserPlugin({
cacheDir: path.join(distDir, 'cache', 'next-minifier'), cacheDir: path.join(distDir, 'cache', 'next-minifier'),
parallel: config.experimental.cpus, parallel: config.experimental.cpus,
swcMinify: config.experimental.swcMinify,
terserOptions, terserOptions,
}).apply(compiler) }).apply(compiler)
}, },
@ -1041,6 +1056,7 @@ export default async function getBaseWebpackConfig(
'emit-file-loader', 'emit-file-loader',
'error-loader', 'error-loader',
'next-babel-loader', 'next-babel-loader',
'next-swc-loader',
'next-client-pages-loader', 'next-client-pages-loader',
'next-image-loader', 'next-image-loader',
'next-serverless-loader', 'next-serverless-loader',

View file

@ -27,65 +27,78 @@ DEALINGS IN THE SOFTWARE.
*/ */
import { getOptions } from 'next/dist/compiled/loader-utils' import { getOptions } from 'next/dist/compiled/loader-utils'
const { transform, transformSync } = require('../../swc/core') import { transform } from '../../swc'
import { trace } from '../../../telemetry/trace'
function makeLoader() { function getSWCOptions({ isTypeScript, isServer, development }) {
return function (source, inputSourceMap) { const jsc = {
parser: {
syntax: isTypeScript ? 'typescript' : 'ecmascript',
dynamicImport: true,
[isTypeScript ? 'tsx' : 'jsx']: true,
},
transform: {
react: {
runtime: 'automatic',
pragma: 'React.createElement',
pragmaFrag: 'React.Fragment',
throwIfNamespace: true,
development: development,
useBuiltins: true,
},
},
}
if (isServer) {
return {
jsc,
env: {
targets: {
// Targets the current version of Node.js
node: process.versions.node,
},
},
}
} else {
// Matches default @babel/preset-env behavior
jsc.target = 'es5'
return { jsc }
}
}
async function loaderTransform(parentTrace, source, inputSourceMap) {
// Make the loader async // Make the loader async
const callback = this.async()
const filename = this.resourcePath const filename = this.resourcePath
const isTypeScript = filename.endsWith('.ts') || filename.endsWith('.tsx')
let loaderOptions = getOptions(this) || {} let loaderOptions = getOptions(this) || {}
// Standardize on 'sourceMaps' as the key passed through to Webpack, so that const swcOptions = getSWCOptions({
// users may safely use either one alongside our default use of isTypeScript,
// 'this.sourceMap' below without getting error about conflicting aliases. isServer: loaderOptions.isServer,
if ( development: this.mode === 'development',
Object.prototype.hasOwnProperty.call(loaderOptions, 'sourceMap') &&
!Object.prototype.hasOwnProperty.call(loaderOptions, 'sourceMaps')
) {
loaderOptions = Object.assign({}, loaderOptions, {
sourceMaps: loaderOptions.sourceMap,
}) })
delete loaderOptions.sourceMap
}
if (inputSourceMap) { const programmaticOptions = {
inputSourceMap = JSON.stringify(inputSourceMap) ...swcOptions,
}
const programmaticOptions = Object.assign({}, loaderOptions, {
filename, filename,
inputSourceMap: inputSourceMap || undefined, inputSourceMap: inputSourceMap ? JSON.stringify(inputSourceMap) : undefined,
// Set the default sourcemap behavior based on Webpack's mapping flag, // Set the default sourcemap behavior based on Webpack's mapping flag,
// but allow users to override if they want. sourceMaps: this.sourceMap,
sourceMaps:
loaderOptions.sourceMaps === undefined
? this.sourceMap
: loaderOptions.sourceMaps,
// Ensure that Webpack will get a full absolute path in the sourcemap // Ensure that Webpack will get a full absolute path in the sourcemap
// so that it can properly map the module back to its internal cached // so that it can properly map the module back to its internal cached
// modules. // modules.
sourceFileName: filename, sourceFileName: filename,
}) }
if (!programmaticOptions.inputSourceMap) { if (!programmaticOptions.inputSourceMap) {
delete programmaticOptions.inputSourceMap delete programmaticOptions.inputSourceMap
} }
const sync = programmaticOptions.sync
const parseMap = programmaticOptions.parseMap
// Remove loader related options
delete programmaticOptions.sync
delete programmaticOptions.parseMap
delete programmaticOptions.customize
delete programmaticOptions.cacheDirectory
delete programmaticOptions.cacheIdentifier
delete programmaticOptions.cacheCompression
delete programmaticOptions.metadataSubscribers
// auto detect development mode // auto detect development mode
if ( if (
this.mode && this.mode &&
@ -101,43 +114,26 @@ function makeLoader() {
this.mode === 'development' this.mode === 'development'
} }
if (programmaticOptions.sourceMaps === 'inline') { const swcSpan = parentTrace.traceChild('next-swc-transform')
// Babel has this weird behavior where if you set "inline", we return swcSpan.traceAsyncFn(() =>
// inline the sourcemap, and set 'result.map = null'. This results transform(source, programmaticOptions).then((output) => {
// in bad behavior from Babel since the maps get put into the code, return [output.code, output.map ? JSON.parse(output.map) : undefined]
// which Webpack does not expect, and because the map we return to })
// Webpack is null, which is also bad. To avoid that, we override the
// behavior here so "inline" just behaves like 'true'.
programmaticOptions.sourceMaps = true
}
try {
if (sync) {
const output = transformSync(source, programmaticOptions)
callback(
null,
output.code,
parseMap ? JSON.parse(output.map) : output.map
) )
} else {
transform(source, programmaticOptions).then(
(output) => {
callback(
null,
output.code,
parseMap ? JSON.parse(output.map) : output.map
)
},
(err) => {
callback(err)
}
)
}
} catch (e) {
callback(e)
}
}
} }
module.exports = makeLoader() export default function swcLoader(inputSource, inputSourceMap) {
module.exports.custom = makeLoader const loaderSpan = trace('next-swc-loader', this.currentTraceSpan?.id)
const callback = this.async()
loaderSpan
.traceAsyncFn(() =>
loaderTransform.call(this, loaderSpan, inputSource, inputSourceMap)
)
.then(
([transformedSource, outputSourceMap]) =>
callback?.(null, transformedSource, outputSourceMap || inputSourceMap),
(err) => {
callback?.(err)
}
)
}

View file

@ -104,9 +104,10 @@ class Webpack4Cache {
export class TerserPlugin { export class TerserPlugin {
constructor(options = {}) { constructor(options = {}) {
const { cacheDir, terserOptions = {}, parallel } = options const { cacheDir, terserOptions = {}, parallel, swcMinify } = options
this.options = { this.options = {
swcMinify,
cacheDir, cacheDir,
parallel, parallel,
terserOptions, terserOptions,
@ -188,6 +189,27 @@ export class TerserPlugin {
// eslint-disable-next-line consistent-return // eslint-disable-next-line consistent-return
const getWorker = () => { const getWorker = () => {
if (this.options.swcMinify) {
return {
minify: async (options) => {
const result = await require('../../../../swc').transform(
options.input,
{
minify: true,
jsc: {
minify: {
compress: true,
mangle: true,
},
},
}
)
return result
},
}
}
if (initializedWorker) { if (initializedWorker) {
return initializedWorker return initializedWorker
} }
@ -204,7 +226,12 @@ export class TerserPlugin {
} }
const limit = pLimit( const limit = pLimit(
numberOfAssetsForMinify > 0 ? numberOfWorkers : Infinity // When using the SWC minifier the limit will be handled by Node.js
this.options.swcMinify
? Infinity
: numberOfAssetsForMinify > 0
? numberOfWorkers
: Infinity
) )
const scheduledTasks = [] const scheduledTasks = []
@ -214,7 +241,7 @@ export class TerserPlugin {
const { name, inputSource, info, eTag } = asset const { name, inputSource, info, eTag } = asset
let { output } = asset let { output } = asset
const minifySpan = terserSpan.traceChild('minify-fs') const minifySpan = terserSpan.traceChild('minify-js')
minifySpan.setAttribute('name', name) minifySpan.setAttribute('name', name)
minifySpan.setAttribute( minifySpan.setAttribute(
'cache', 'cache',

View file

@ -85,6 +85,8 @@ export type NextConfig = { [key: string]: any } & {
strictPostcssConfiguration?: boolean strictPostcssConfiguration?: boolean
} }
experimental?: { experimental?: {
swcMinify?: boolean
swcLoader?: boolean
cpus?: number cpus?: number
plugins?: boolean plugins?: boolean
profiling?: boolean profiling?: boolean
@ -157,6 +159,8 @@ export const defaultConfig: NextConfig = {
keepAlive: true, keepAlive: true,
}, },
experimental: { experimental: {
swcLoader: false,
swcMinify: false,
cpus: Math.max( cpus: Math.max(
1, 1,
(Number(process.env.CIRCLE_NODE_TOTAL) || (Number(process.env.CIRCLE_NODE_TOTAL) ||

128
yarn.lock
View file

@ -3849,85 +3849,85 @@
"@svgr/plugin-svgo" "^5.5.0" "@svgr/plugin-svgo" "^5.5.0"
loader-utils "^2.0.0" loader-utils "^2.0.0"
"@swc/core-android-arm64@^1.2.66": "@swc/core-android-arm64@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.66.tgz#ce45abb2220684739616443d2c455ba0b8713e1d" resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.74.tgz#7e12fde1ba557dad803bc27b5b6cef04957e7ba3"
integrity sha512-qSc+wvqeHh+rjyJDBZSXQI2VCJ9xHPZpZk9fehvgcYmsPHkcjtUt6lwj6SIFdkklasw4p1Jq7vMQzAdegUa9VQ== integrity sha512-mKqs5QmY4uEUopk98rM4dH0g7iWRH172Z8Bd752/eR9R5Yzut/dEGZCN5lnDfCLc1hecJz3DFsU/71jG4T+1WQ==
"@swc/core-darwin-arm64@^1.2.66": "@swc/core-darwin-arm64@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.66.tgz#804d10c5ccaa359a48eb02047c91f029bdc0618a" resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.74.tgz#6b6c6f1a9c12f5c4647f324985aa8f52a6967113"
integrity sha512-ij0vh+HJJRggN6zwY/WQ1BaQHit+w/VbdHjM+nzYtzASpSiN3+jvb6XeON5bKLxnDGPvuKsk4Bgg1k5ib9oTxQ== integrity sha512-i8bRE/oQAyPmB3Vwk1GfydFbCnsidfXQgyFK0qDsQN7tNPZg5esqQVeAzDWhGWdMK6VAGcMDY3/RinR8KkKCmg==
"@swc/core-darwin-x64@^1.2.66": "@swc/core-darwin-x64@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.66.tgz#47dbe1b8b5ceb145267a419ebaedc9e260ded5fc" resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.74.tgz#588393d8d5d7b52985cbdeaa93ccdf2f8233a9d4"
integrity sha512-TvxV/ntjdwsUdvhuvIG53kZUtrMcBGAwqYNveuk24fjytZqtV0UC6TfHw+iUd+DeAm+4wLIgyZIatlyxqmm3TQ== integrity sha512-3vcKNlkCa40FosdltLytRHHT4KFnzg5Ws2k40nYT2g55UBk4SHou6eeq9gP0FYkerTNPWhS5c8KyAHCnBXOhoA==
"@swc/core-freebsd-x64@^1.2.66": "@swc/core-freebsd-x64@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.66.tgz#609b68a9612e92cb7d86ff6f98da5a46103c204f" resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.74.tgz#353ec8a9d60031fe39f3ba1ecc0488842226e79b"
integrity sha512-5D/MBbnOU4NCpG9UyYJCkqOKH0+hPX9T/x8GqQbPy9BBBYQLey42ISyvx33HgD2XTVy8cnLr3vFrhLnWmoFy1A== integrity sha512-YFIuIYbs3TUWQFBjs8KCff/nj4yBm1WIrq2w1ZfHOSbTMRnz3slksEviz6QzUhDK6fO8HUwudhxO5INRuWWxfQ==
"@swc/core-linux-arm-gnueabihf@^1.2.66": "@swc/core-linux-arm-gnueabihf@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.66.tgz#df4242f842f096ac4cc581099ae86db517070e91" resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.74.tgz#16486b80a30401604bf1524918447ff1bb7baf8a"
integrity sha512-aWPdEGAkDUJ326BzK5f26hq6Ra2MMzwe2saJW6xjkefbJn0CFtpGX/koFmqpL6ewRlkOQlKcjvN+3ndjtmQEhw== integrity sha512-iwLMOGwfH6r1U5Kyu76I2E+6BVKYWFA+l1z6Ja+9rk9qHBeQws6p5vP3HcezQQeKBbmNx6kcF9+RRT6v8yUz7w==
"@swc/core-linux-arm64-gnu@^1.2.66": "@swc/core-linux-arm64-gnu@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.66.tgz#3b62f0f9d1af1e549a98480609a85c39bc797941" resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.74.tgz#192b805894ca6c09aa6e5dbd1c8caabbaf9fff7b"
integrity sha512-Jc5ePO2zsvFgFp5myesOTcRxOb/SVwJvDDDGrilyE+5Ou9iACfYRwFk/2E9P6FK3t5KnZbRMPLJVIoPQ0mm10A== integrity sha512-2ndc5Ei88Ifxc9joDtANIhlUSpq5C3Qbc+g/gUUGF2lPCiMk6kPxnpwvDKpAowi7dSeIW94+/9O8l58D8cHRVg==
"@swc/core-linux-arm64-musl@^1.2.66": "@swc/core-linux-arm64-musl@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.66.tgz#272e2ad543308936f46de07a349931844700470e" resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.74.tgz#c9ec655f6c8f77fc600f078ce1b169baacb76c05"
integrity sha512-S/3jriGPYipACxGdgo2tEjr9J3ZRk2K8nsyQQRwsDofr1P5PTN9coGWpSX+/YdbJa1bYo0CCLpdaeJIDiP/bng== integrity sha512-xKNg87bdmmXwyjspiDOdFvGNcuHJ/lL5ouWTriICJ0W8lzuTNs8E9rpk/aPXdPvOhdxT4ACf8x+c1+eHZPsJPA==
"@swc/core-linux-x64-gnu@^1.2.66": "@swc/core-linux-x64-gnu@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.66.tgz#79825533b43f3938985a1846b4bbd22b19f3b92a" resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.74.tgz#f1dd963c7017f4fc4d95413b6b3f656a981b7621"
integrity sha512-nk+saTGX4LoVl1m5rIaDJZ/zdr7lqxtQ2ab/cAk158Bpix1W+YaWTM14YojVurE0h8U6OmNYBQd1gB9wm+eTHQ== integrity sha512-1q+9WWykTj4Mg5p22O7klr2kx67LL1TSmVJKtCVUNBHNeqlSGTCHA9lGh8ETGIW/iWuvXHTnYMlV9RhPWMZVHQ==
"@swc/core-linux-x64-musl@^1.2.66": "@swc/core-linux-x64-musl@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.66.tgz#32f89bc35befaca577e2009fe18b37a1e596d6db" resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.74.tgz#abe7e5280879f9ea290a6eecced4da8cf65ee0de"
integrity sha512-LkGwggHPa4v4dn/61AbqWELxTqkLRXSZeFT7TN3fqsJ7fZn5U0G/TvTIODFEw1hz6B4d4OQpvx8NZ9woIrbgFQ== integrity sha512-r/ZnFGn/VwOpboW6dKolStxArBFM0fb1xk+og6KZJtKZE9sE+Y5CAOvcvAxNzic+K2FX47ZSWHIFoHg5yoTkuQ==
"@swc/core-win32-arm64-msvc@^1.2.66": "@swc/core-win32-arm64-msvc@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.66.tgz#829a5b97a3f3283ddff72534488dbdcc0c5246ce" resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.74.tgz#8354673065c951955dc3af958cc938f297c57c96"
integrity sha512-KYHcBKAIfBC0Sv8QXi2p0xJpY4P1LaVbxUey+m9aQJG+yAq/MPq5emO+leZ34veJHQgw876VTsVTqPcqrMyGTw== integrity sha512-u1ww9SaY4sMqogXZorlHpaursJnvgTi86lwJN1E+kKo4MFANcB354FvBUNg+QIRwN7itNvoP+lxHHP9NF87gdg==
"@swc/core-win32-ia32-msvc@^1.2.66": "@swc/core-win32-ia32-msvc@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.66.tgz#ccacda98ec99337075e94e3d1c48df86381ecb7b" resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.74.tgz#3f5aadc10381409c79106b24030da5d2066ad061"
integrity sha512-+QbC1W245rLOmP6YXJAiizfC28MLol+0w+TFf+n42cQMecjfwZpdmhLCwaJNOfT3sq5F8mY77+rk3KngUaOvfw== integrity sha512-yftd+MMxJUCmH8DRZ7ZeRE4bTD7+jYFgf2epswF4gdyotB4clvCcL2BDxEN56sMJzrO0+SkTKYEkfFmPQtVUBQ==
"@swc/core-win32-x64-msvc@^1.2.66": "@swc/core-win32-x64-msvc@^1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.66.tgz#71d7e02f929a7dbbe670e8c374d65253b7dd79a9" resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.74.tgz#def33e667ed707f9071f03b10a255f15871262bd"
integrity sha512-xnuLSpmgUJ/9KI4O7dIKAhoiWPRjDd0175Fqeltj8o87FQQkskc+c6BS5Lp7XnroWIf/UE6os8sRxt5LbcfSOA== integrity sha512-zRBBPNLj+hJHNzQ3JZ3YJjSHmVgcVg4wKV5pChr8PO6dMPrYX5RpuOCLwVIUHvCdQ6TmTc/AdGJDP/VpMQfkdA==
"@swc/core@1.2.66": "@swc/core@1.2.74":
version "1.2.66" version "1.2.74"
resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.66.tgz#f82409ffadba4a4bc3333b0fd230cbd970a1657e" resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.74.tgz#66348ddfae8c15ba5eaeb0a509fb30a0e354c0b1"
integrity sha512-zwQlgXvpBkDwIXlVBp9VRYm8NoEmFQSpIiDzFrrvTeYKXPOIjDDMDFiFz5k1UEZejR4nCHo1MUyCXaRoykRDqg== integrity sha512-ICIXnLUYutYiK6wWb2DXNPZyKgTLHY+BxGbCZs45WwOBjsxden/bznIilPN4lEkNgjzYCZbwi9asuVzH+Ar9BA==
dependencies: dependencies:
"@node-rs/helper" "^1.0.0" "@node-rs/helper" "^1.0.0"
optionalDependencies: optionalDependencies:
"@swc/core-android-arm64" "^1.2.66" "@swc/core-android-arm64" "^1.2.74"
"@swc/core-darwin-arm64" "^1.2.66" "@swc/core-darwin-arm64" "^1.2.74"
"@swc/core-darwin-x64" "^1.2.66" "@swc/core-darwin-x64" "^1.2.74"
"@swc/core-freebsd-x64" "^1.2.66" "@swc/core-freebsd-x64" "^1.2.74"
"@swc/core-linux-arm-gnueabihf" "^1.2.66" "@swc/core-linux-arm-gnueabihf" "^1.2.74"
"@swc/core-linux-arm64-gnu" "^1.2.66" "@swc/core-linux-arm64-gnu" "^1.2.74"
"@swc/core-linux-arm64-musl" "^1.2.66" "@swc/core-linux-arm64-musl" "^1.2.74"
"@swc/core-linux-x64-gnu" "^1.2.66" "@swc/core-linux-x64-gnu" "^1.2.74"
"@swc/core-linux-x64-musl" "^1.2.66" "@swc/core-linux-x64-musl" "^1.2.74"
"@swc/core-win32-arm64-msvc" "^1.2.66" "@swc/core-win32-arm64-msvc" "^1.2.74"
"@swc/core-win32-ia32-msvc" "^1.2.66" "@swc/core-win32-ia32-msvc" "^1.2.74"
"@swc/core-win32-x64-msvc" "^1.2.66" "@swc/core-win32-x64-msvc" "^1.2.74"
"@szmarczak/http-timer@^1.1.2": "@szmarczak/http-timer@^1.1.2":
version "1.1.2" version "1.1.2"