Add experimental SWC minify and SWC loader options (#27664)
This commit is contained in:
parent
e3e7e0840d
commit
d2f43b718f
9 changed files with 380 additions and 545 deletions
|
@ -47,7 +47,7 @@
|
|||
"@fullhuman/postcss-purgecss": "1.3.0",
|
||||
"@mdx-js/loader": "0.18.0",
|
||||
"@svgr/webpack": "5.5.0",
|
||||
"@swc/core": "1.2.66",
|
||||
"@swc/core": "1.2.74",
|
||||
"@testing-library/react": "11.2.5",
|
||||
"@types/cheerio": "0.22.16",
|
||||
"@types/fs-extra": "8.1.0",
|
||||
|
|
|
@ -113,7 +113,8 @@ export default (
|
|||
presetEnvConfig.targets = {
|
||||
// Targets the current process' version of Node. This requires apps be
|
||||
// built and deployed on the same version of Node.
|
||||
node: 'current',
|
||||
// This is the same as using "current" but explicit
|
||||
node: process.versions.node,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
495
packages/next/build/swc/Cargo.lock
generated
495
packages/next/build/swc/Cargo.lock
generated
|
@ -14,9 +14,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.15.2"
|
||||
version = "0.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a"
|
||||
checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
@ -27,12 +27,6 @@ version = "1.0.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.4.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e"
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.7.4"
|
||||
|
@ -122,9 +116,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
|
|||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.60"
|
||||
version = "0.3.61"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282"
|
||||
checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
|
@ -415,9 +409,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.24.0"
|
||||
version = "0.25.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189"
|
||||
checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7"
|
||||
|
||||
[[package]]
|
||||
name = "glob"
|
||||
|
@ -425,20 +419,14 @@ version = "0.3.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
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]]
|
||||
name = "hashbrown"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
|
@ -488,7 +476,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
|
||||
dependencies = [
|
||||
"autocfg 1.0.1",
|
||||
"hashbrown 0.11.2",
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -596,11 +584,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "lru"
|
||||
version = "0.6.5"
|
||||
version = "0.6.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f374d42cdfc1d7dbf3d3dec28afab2eb97ffbf43a3234d795b5986dbf4b90ba"
|
||||
checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91"
|
||||
dependencies = [
|
||||
"hashbrown 0.9.1",
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -700,7 +688,7 @@ dependencies = [
|
|||
"swc",
|
||||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_preset_env 0.31.0",
|
||||
"swc_ecma_preset_env",
|
||||
"swc_ecma_transforms_testing",
|
||||
"swc_ecmascript",
|
||||
"swc_node_base",
|
||||
|
@ -759,9 +747,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.25.3"
|
||||
version = "0.26.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7"
|
||||
checksum = "c55827317fb4c08822499848a14237d2874d6f139828893017237e7ab93eb386"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
@ -780,9 +768,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
|||
|
||||
[[package]]
|
||||
name = "ordered-float"
|
||||
version = "2.6.0"
|
||||
version = "2.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6dea6388d3d5498ec651701f14edbaf463c924b5d8829fb2848ccf0bcc7b3c69"
|
||||
checksum = "039f02eb0f69271f26abe3202189275d7aa2258b903cb0281b5de710a2570ff3"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
]
|
||||
|
@ -943,9 +931,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
|
|||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.27"
|
||||
version = "1.0.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
|
||||
checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
|
@ -1205,9 +1193,9 @@ checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
|
|||
|
||||
[[package]]
|
||||
name = "relative-path"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a479d53d7eed831f3c92ca79c61002d5987e21417d528296832f802bca532380"
|
||||
checksum = "f9629de8974fd69c97684736786b807edd3da456d3e3f95341dd9d4cbd8f5ad6"
|
||||
|
||||
[[package]]
|
||||
name = "remove_dir_all"
|
||||
|
@ -1284,18 +1272,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.126"
|
||||
version = "1.0.127"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
|
||||
checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.126"
|
||||
version = "1.0.127"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
|
||||
checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -1304,9 +1292,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.64"
|
||||
version = "1.0.66"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
|
||||
checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
|
@ -1314,10 +1302,20 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha-1"
|
||||
version = "0.9.6"
|
||||
name = "serde_regex"
|
||||
version = "1.1.0"
|
||||
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 = [
|
||||
"block-buffer",
|
||||
"cfg-if 1.0.0",
|
||||
|
@ -1328,9 +1326,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "siphasher"
|
||||
version = "0.3.5"
|
||||
version = "0.3.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27"
|
||||
checksum = "729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1"
|
||||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
|
@ -1443,11 +1441,11 @@ checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
|
|||
|
||||
[[package]]
|
||||
name = "swc"
|
||||
version = "0.30.0"
|
||||
version = "0.33.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06a01b37575f8f0448c3348d8404820023b11b3317cbff2c7c620593da416e08"
|
||||
checksum = "c967d3cd0f16a199613c1f7471776b74afb6cb478a463289e8914c428525c06c"
|
||||
dependencies = [
|
||||
"ahash 0.7.4",
|
||||
"ahash",
|
||||
"anyhow",
|
||||
"base64 0.12.3",
|
||||
"dashmap",
|
||||
|
@ -1464,13 +1462,15 @@ dependencies = [
|
|||
"swc_bundler",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_codegen 0.62.1",
|
||||
"swc_ecma_codegen",
|
||||
"swc_ecma_ext_transforms",
|
||||
"swc_ecma_loader",
|
||||
"swc_ecma_parser 0.63.0",
|
||||
"swc_ecma_preset_env 0.29.0",
|
||||
"swc_ecma_transforms 0.59.0",
|
||||
"swc_ecma_utils 0.40.0",
|
||||
"swc_ecma_minifier",
|
||||
"swc_ecma_parser",
|
||||
"swc_ecma_preset_env",
|
||||
"swc_ecma_transforms",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
"swc_node_base",
|
||||
"swc_visit",
|
||||
|
@ -1488,11 +1488,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_bundler"
|
||||
version = "0.46.0"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "645abff0d28bf419bbefdeb155a6076ee884bc0a56837e9edde03e7af916fda7"
|
||||
checksum = "3c214b3f56aa5fc76fca81d65358f3c6390a170518253c941578bb8b45e700d1"
|
||||
dependencies = [
|
||||
"ahash 0.7.4",
|
||||
"ahash",
|
||||
"anyhow",
|
||||
"crc",
|
||||
"fxhash",
|
||||
|
@ -1507,19 +1507,19 @@ dependencies = [
|
|||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_codegen 0.62.1",
|
||||
"swc_ecma_codegen",
|
||||
"swc_ecma_loader",
|
||||
"swc_ecma_parser 0.63.0",
|
||||
"swc_ecma_transforms 0.59.0",
|
||||
"swc_ecma_utils 0.40.0",
|
||||
"swc_ecma_parser",
|
||||
"swc_ecma_transforms",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "swc_common"
|
||||
version = "0.11.1"
|
||||
version = "0.11.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "903c296fdb8a385e7c229b039b4c6f6520e02a5b1869b6fcc3eb7f68fddd20a9"
|
||||
checksum = "f303985ebd578a033371a87be28cb54189d3ae5d492622523200f4de08db5275"
|
||||
dependencies = [
|
||||
"ast_node",
|
||||
"atty",
|
||||
|
@ -1544,9 +1544,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_ecma_ast"
|
||||
version = "0.49.0"
|
||||
version = "0.49.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "033da686d95b9663e6732c4021e002bc23173bef251db87857e1c3c8bfbfe8cb"
|
||||
checksum = "228ab89e5a11289d43f14da2b65b9e37c8fb31091c33f4fad66791ef65c04a1b"
|
||||
dependencies = [
|
||||
"is-macro",
|
||||
"num-bigint",
|
||||
|
@ -1558,9 +1558,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_ecma_codegen"
|
||||
version = "0.62.1"
|
||||
version = "0.64.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a262bf6b73149626bbff6cc529d5839c5576ccdb79213bdf845a7d250ff0675f"
|
||||
checksum = "f41597b6fbcd6001575be2b9fb38eb8fb3ebd972827998bcb522078a8d8606cc"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"num-bigint",
|
||||
|
@ -1569,23 +1569,7 @@ dependencies = [
|
|||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_codegen_macros",
|
||||
"swc_ecma_parser 0.63.0",
|
||||
]
|
||||
|
||||
[[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",
|
||||
"swc_ecma_parser",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1603,24 +1587,24 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_ecma_ext_transforms"
|
||||
version = "0.21.0"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a413915a7c2075a76c2dce06647b018538b47516e739512c2ee61c87dd846ef0"
|
||||
checksum = "5588dbe1dbd6c3ee50c3b292a3adfe4dd63f8bf487bbfe3f1b54f64894a67b15"
|
||||
dependencies = [
|
||||
"phf",
|
||||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_parser 0.63.0",
|
||||
"swc_ecma_utils 0.40.0",
|
||||
"swc_ecma_parser",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_loader"
|
||||
version = "0.11.1"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "919aed51bc3c24ee4999d3c63d6ff86231746b487875403b7c1d2a6616a02966"
|
||||
checksum = "b05e3b054b690e610384fc8f5d244182cbd62691423755ca1c4b05cb0bfa6b46"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"dashmap",
|
||||
|
@ -1637,22 +1621,28 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_parser"
|
||||
version = "0.63.0"
|
||||
name = "swc_ecma_minifier"
|
||||
version = "0.16.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "adb3574984a0ed08f98b75bf6f6f5415f66a837f7722b7ae1ea150a6572253a5"
|
||||
checksum = "6f57ea673271d857cc278f2e62b9915520e4bf2defefb46d48291b8304ce0138"
|
||||
dependencies = [
|
||||
"either",
|
||||
"enum_kind",
|
||||
"fxhash",
|
||||
"lexical",
|
||||
"indexmap",
|
||||
"log",
|
||||
"num-bigint",
|
||||
"once_cell",
|
||||
"regex",
|
||||
"retain_mut",
|
||||
"serde",
|
||||
"smallvec 1.6.1",
|
||||
"serde_json",
|
||||
"serde_regex",
|
||||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_codegen",
|
||||
"swc_ecma_parser",
|
||||
"swc_ecma_transforms",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
"unicode-xid",
|
||||
]
|
||||
|
@ -1678,30 +1668,6 @@ dependencies = [
|
|||
"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]]
|
||||
name = "swc_ecma_preset_env"
|
||||
version = "0.31.0"
|
||||
|
@ -1720,34 +1686,12 @@ dependencies = [
|
|||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_transforms 0.61.0",
|
||||
"swc_ecma_utils 0.41.0",
|
||||
"swc_ecma_transforms",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
"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]]
|
||||
name = "swc_ecma_transforms"
|
||||
version = "0.61.0"
|
||||
|
@ -1757,23 +1701,24 @@ dependencies = [
|
|||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_parser 0.65.0",
|
||||
"swc_ecma_transforms_base 0.24.0",
|
||||
"swc_ecma_transforms_compat 0.27.0",
|
||||
"swc_ecma_transforms_optimization 0.31.0",
|
||||
"swc_ecma_transforms_proposal 0.28.0",
|
||||
"swc_ecma_transforms_react 0.29.0",
|
||||
"swc_ecma_transforms_typescript 0.30.0",
|
||||
"swc_ecma_utils 0.41.0",
|
||||
"swc_ecma_parser",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_transforms_compat",
|
||||
"swc_ecma_transforms_module",
|
||||
"swc_ecma_transforms_optimization",
|
||||
"swc_ecma_transforms_proposal",
|
||||
"swc_ecma_transforms_react",
|
||||
"swc_ecma_transforms_typescript",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "swc_ecma_transforms_base"
|
||||
version = "0.22.2"
|
||||
version = "0.24.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eef20521012c31b213fcb4f6d22ce2b14e85ac2fb1e4ec7a58a0adcde2a3817d"
|
||||
checksum = "42f9357fffe6d1b2922cf0a91a0c93e9a103811a0647f1a7ad80c215f9afbd09"
|
||||
dependencies = [
|
||||
"fxhash",
|
||||
"once_cell",
|
||||
|
@ -1783,41 +1728,8 @@ dependencies = [
|
|||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_parser 0.63.0",
|
||||
"swc_ecma_utils 0.40.0",
|
||||
"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_parser",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
|
@ -1830,32 +1742,8 @@ dependencies = [
|
|||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_transforms_base 0.24.0",
|
||||
"swc_ecma_utils 0.41.0",
|
||||
"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_transforms_base",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
|
@ -1876,10 +1764,10 @@ dependencies = [
|
|||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_transforms_base 0.24.0",
|
||||
"swc_ecma_transforms_classes 0.10.0",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_transforms_classes",
|
||||
"swc_ecma_transforms_macros",
|
||||
"swc_ecma_utils 0.41.0",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
|
@ -1898,9 +1786,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_ecma_transforms_module"
|
||||
version = "0.26.2"
|
||||
version = "0.28.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0c81b29f624a6a63d38161988d63ea3dea3e5557ef1ffada39ba2f322a8ba509"
|
||||
checksum = "2a054b76d72f294ddff1576eb0b61f3d78edceb670e6caf62c06adce8b861fdb"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"anyhow",
|
||||
|
@ -1912,31 +1800,9 @@ dependencies = [
|
|||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_loader",
|
||||
"swc_ecma_parser 0.63.0",
|
||||
"swc_ecma_transforms_base 0.22.2",
|
||||
"swc_ecma_utils 0.40.0",
|
||||
"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_parser",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
|
@ -1956,29 +1822,9 @@ dependencies = [
|
|||
"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_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_parser",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
|
@ -1995,33 +1841,10 @@ dependencies = [
|
|||
"swc_atoms",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_parser 0.65.0",
|
||||
"swc_ecma_transforms_base 0.24.0",
|
||||
"swc_ecma_transforms_classes 0.10.0",
|
||||
"swc_ecma_utils 0.41.0",
|
||||
"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_parser",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_transforms_classes",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
|
@ -2042,9 +1865,9 @@ dependencies = [
|
|||
"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_parser",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
|
@ -2059,10 +1882,10 @@ dependencies = [
|
|||
"serde_json",
|
||||
"swc_common",
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_codegen 0.64.0",
|
||||
"swc_ecma_parser 0.65.0",
|
||||
"swc_ecma_transforms_base 0.24.0",
|
||||
"swc_ecma_utils 0.41.0",
|
||||
"swc_ecma_codegen",
|
||||
"swc_ecma_parser",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
"tempfile",
|
||||
"testing",
|
||||
|
@ -2070,53 +1893,21 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_ecma_transforms_typescript"
|
||||
version = "0.28.1"
|
||||
version = "0.30.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "451b09367c4b99690fe03c72a079ca18902a2096656b4e2c6cbce50001b6faa9"
|
||||
checksum = "531efb950048802b6330bf8dab8dc858974a1807393175050d806d928ac0d27f"
|
||||
dependencies = [
|
||||
"fxhash",
|
||||
"serde",
|
||||
"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_parser",
|
||||
"swc_ecma_transforms_base",
|
||||
"swc_ecma_utils",
|
||||
"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]]
|
||||
name = "swc_ecma_utils"
|
||||
version = "0.41.0"
|
||||
|
@ -2134,9 +1925,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_ecma_visit"
|
||||
version = "0.35.0"
|
||||
version = "0.35.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b06818a3a50e6de46a81d3d9f51a46d08624ff0f9eb2b3f30de717b15133858d"
|
||||
checksum = "754afc3c64e5f39fc17874170548e4f94612bcfb52fd7882437c149f713b3473"
|
||||
dependencies = [
|
||||
"num-bigint",
|
||||
"swc_atoms",
|
||||
|
@ -2147,15 +1938,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_ecmascript"
|
||||
version = "0.48.0"
|
||||
version = "0.50.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9fb11d3d724142ddbe9bbb5efd44ebad9c7c8a7a283c80b48d3dd025ab90aae1"
|
||||
checksum = "e7d7cf5f01d49cba27028518c15bf45343d0d99799f60ab7aabcbc0b6a440204"
|
||||
dependencies = [
|
||||
"swc_ecma_ast",
|
||||
"swc_ecma_codegen 0.64.0",
|
||||
"swc_ecma_parser 0.65.0",
|
||||
"swc_ecma_transforms 0.61.0",
|
||||
"swc_ecma_utils 0.41.0",
|
||||
"swc_ecma_codegen",
|
||||
"swc_ecma_parser",
|
||||
"swc_ecma_transforms",
|
||||
"swc_ecma_utils",
|
||||
"swc_ecma_visit",
|
||||
]
|
||||
|
||||
|
@ -2197,9 +1988,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "swc_visit"
|
||||
version = "0.2.4"
|
||||
version = "0.2.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "583cfe83f6002e1118559308b88181f34b5936b403b72548cd0259bfcf0ca39e"
|
||||
checksum = "b24bd6153b94e06cae99d98d6a12b1fbe6063709cdb4b0f7ea25d2c0a62bdee7"
|
||||
dependencies = [
|
||||
"either",
|
||||
"swc_visit_macros",
|
||||
|
@ -2288,9 +2079,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tinyvec"
|
||||
version = "1.2.0"
|
||||
version = "1.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342"
|
||||
checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338"
|
||||
dependencies = [
|
||||
"tinyvec_macros",
|
||||
]
|
||||
|
|
|
@ -15,11 +15,11 @@ path-clean = "0.1"
|
|||
regex = "1.5"
|
||||
serde = "1"
|
||||
serde_json = "1"
|
||||
swc = "0.30"
|
||||
swc = "0.33"
|
||||
swc_atoms = "0.2.6"
|
||||
swc_common = { version = "0.11.1", features = ["tty-emitter", "sourcemap"] }
|
||||
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"
|
||||
fxhash = "0.2.1"
|
||||
retain_mut = "0.1.3"
|
||||
|
|
|
@ -294,22 +294,36 @@ export default async function getBaseWebpackConfig(
|
|||
const babelLoader = isWebpack5
|
||||
? require.resolve('./babel/loader/index')
|
||||
: '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 = {
|
||||
babel: {
|
||||
loader: babelLoader,
|
||||
options: {
|
||||
configFile: babelConfigFile,
|
||||
isServer,
|
||||
distDir,
|
||||
pagesDir,
|
||||
cwd: dir,
|
||||
// Webpack 5 has a built-in loader cache
|
||||
cache: !isWebpack5,
|
||||
development: dev,
|
||||
hasReactRefresh,
|
||||
hasJsxRuntime: true,
|
||||
},
|
||||
},
|
||||
babel: useSWCLoader
|
||||
? {
|
||||
loader: 'next-swc-loader',
|
||||
options: {
|
||||
isServer,
|
||||
},
|
||||
}
|
||||
: {
|
||||
loader: babelLoader,
|
||||
options: {
|
||||
configFile: babelConfigFile,
|
||||
isServer,
|
||||
distDir,
|
||||
pagesDir,
|
||||
cwd: dir,
|
||||
// Webpack 5 has a built-in loader cache
|
||||
cache: !isWebpack5,
|
||||
development: dev,
|
||||
hasReactRefresh,
|
||||
hasJsxRuntime: true,
|
||||
},
|
||||
},
|
||||
// Backwards compat
|
||||
hotSelfAccept: {
|
||||
loader: 'noop-loader',
|
||||
|
@ -953,6 +967,7 @@ export default async function getBaseWebpackConfig(
|
|||
new TerserPlugin({
|
||||
cacheDir: path.join(distDir, 'cache', 'next-minifier'),
|
||||
parallel: config.experimental.cpus,
|
||||
swcMinify: config.experimental.swcMinify,
|
||||
terserOptions,
|
||||
}).apply(compiler)
|
||||
},
|
||||
|
@ -1041,6 +1056,7 @@ export default async function getBaseWebpackConfig(
|
|||
'emit-file-loader',
|
||||
'error-loader',
|
||||
'next-babel-loader',
|
||||
'next-swc-loader',
|
||||
'next-client-pages-loader',
|
||||
'next-image-loader',
|
||||
'next-serverless-loader',
|
||||
|
|
|
@ -27,117 +27,113 @@ DEALINGS IN THE SOFTWARE.
|
|||
*/
|
||||
|
||||
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() {
|
||||
return function (source, inputSourceMap) {
|
||||
// Make the loader async
|
||||
const callback = this.async()
|
||||
const filename = this.resourcePath
|
||||
function getSWCOptions({ isTypeScript, isServer, development }) {
|
||||
const jsc = {
|
||||
parser: {
|
||||
syntax: isTypeScript ? 'typescript' : 'ecmascript',
|
||||
dynamicImport: true,
|
||||
[isTypeScript ? 'tsx' : 'jsx']: true,
|
||||
},
|
||||
|
||||
let loaderOptions = getOptions(this) || {}
|
||||
transform: {
|
||||
react: {
|
||||
runtime: 'automatic',
|
||||
pragma: 'React.createElement',
|
||||
pragmaFrag: 'React.Fragment',
|
||||
throwIfNamespace: true,
|
||||
development: development,
|
||||
useBuiltins: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// Standardize on 'sourceMaps' as the key passed through to Webpack, so that
|
||||
// users may safely use either one alongside our default use of
|
||||
// 'this.sourceMap' below without getting error about conflicting aliases.
|
||||
if (
|
||||
Object.prototype.hasOwnProperty.call(loaderOptions, 'sourceMap') &&
|
||||
!Object.prototype.hasOwnProperty.call(loaderOptions, 'sourceMaps')
|
||||
) {
|
||||
loaderOptions = Object.assign({}, loaderOptions, {
|
||||
sourceMaps: loaderOptions.sourceMap,
|
||||
})
|
||||
delete loaderOptions.sourceMap
|
||||
}
|
||||
|
||||
if (inputSourceMap) {
|
||||
inputSourceMap = JSON.stringify(inputSourceMap)
|
||||
}
|
||||
|
||||
const programmaticOptions = Object.assign({}, loaderOptions, {
|
||||
filename,
|
||||
inputSourceMap: inputSourceMap || undefined,
|
||||
|
||||
// Set the default sourcemap behavior based on Webpack's mapping flag,
|
||||
// but allow users to override if they want.
|
||||
sourceMaps:
|
||||
loaderOptions.sourceMaps === undefined
|
||||
? this.sourceMap
|
||||
: loaderOptions.sourceMaps,
|
||||
|
||||
// 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
|
||||
// modules.
|
||||
sourceFileName: filename,
|
||||
})
|
||||
if (!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
|
||||
if (
|
||||
this.mode &&
|
||||
programmaticOptions.jsc &&
|
||||
programmaticOptions.jsc.transform &&
|
||||
programmaticOptions.jsc.transform.react &&
|
||||
!Object.prototype.hasOwnProperty.call(
|
||||
programmaticOptions.jsc.transform.react,
|
||||
'development'
|
||||
)
|
||||
) {
|
||||
programmaticOptions.jsc.transform.react.development =
|
||||
this.mode === 'development'
|
||||
}
|
||||
|
||||
if (programmaticOptions.sourceMaps === 'inline') {
|
||||
// Babel has this weird behavior where if you set "inline", we
|
||||
// inline the sourcemap, and set 'result.map = null'. This results
|
||||
// in bad behavior from Babel since the maps get put into the code,
|
||||
// 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)
|
||||
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 }
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = makeLoader()
|
||||
module.exports.custom = makeLoader
|
||||
async function loaderTransform(parentTrace, source, inputSourceMap) {
|
||||
// Make the loader async
|
||||
const filename = this.resourcePath
|
||||
|
||||
const isTypeScript = filename.endsWith('.ts') || filename.endsWith('.tsx')
|
||||
|
||||
let loaderOptions = getOptions(this) || {}
|
||||
|
||||
const swcOptions = getSWCOptions({
|
||||
isTypeScript,
|
||||
isServer: loaderOptions.isServer,
|
||||
development: this.mode === 'development',
|
||||
})
|
||||
|
||||
const programmaticOptions = {
|
||||
...swcOptions,
|
||||
filename,
|
||||
inputSourceMap: inputSourceMap ? JSON.stringify(inputSourceMap) : undefined,
|
||||
|
||||
// Set the default sourcemap behavior based on Webpack's mapping flag,
|
||||
sourceMaps: this.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
|
||||
// modules.
|
||||
sourceFileName: filename,
|
||||
}
|
||||
|
||||
if (!programmaticOptions.inputSourceMap) {
|
||||
delete programmaticOptions.inputSourceMap
|
||||
}
|
||||
|
||||
// auto detect development mode
|
||||
if (
|
||||
this.mode &&
|
||||
programmaticOptions.jsc &&
|
||||
programmaticOptions.jsc.transform &&
|
||||
programmaticOptions.jsc.transform.react &&
|
||||
!Object.prototype.hasOwnProperty.call(
|
||||
programmaticOptions.jsc.transform.react,
|
||||
'development'
|
||||
)
|
||||
) {
|
||||
programmaticOptions.jsc.transform.react.development =
|
||||
this.mode === 'development'
|
||||
}
|
||||
|
||||
const swcSpan = parentTrace.traceChild('next-swc-transform')
|
||||
return swcSpan.traceAsyncFn(() =>
|
||||
transform(source, programmaticOptions).then((output) => {
|
||||
return [output.code, output.map ? JSON.parse(output.map) : undefined]
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
export default function swcLoader(inputSource, inputSourceMap) {
|
||||
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)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
@ -104,9 +104,10 @@ class Webpack4Cache {
|
|||
|
||||
export class TerserPlugin {
|
||||
constructor(options = {}) {
|
||||
const { cacheDir, terserOptions = {}, parallel } = options
|
||||
const { cacheDir, terserOptions = {}, parallel, swcMinify } = options
|
||||
|
||||
this.options = {
|
||||
swcMinify,
|
||||
cacheDir,
|
||||
parallel,
|
||||
terserOptions,
|
||||
|
@ -188,6 +189,27 @@ export class TerserPlugin {
|
|||
|
||||
// eslint-disable-next-line consistent-return
|
||||
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) {
|
||||
return initializedWorker
|
||||
}
|
||||
|
@ -204,7 +226,12 @@ export class TerserPlugin {
|
|||
}
|
||||
|
||||
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 = []
|
||||
|
||||
|
@ -214,7 +241,7 @@ export class TerserPlugin {
|
|||
const { name, inputSource, info, eTag } = asset
|
||||
let { output } = asset
|
||||
|
||||
const minifySpan = terserSpan.traceChild('minify-fs')
|
||||
const minifySpan = terserSpan.traceChild('minify-js')
|
||||
minifySpan.setAttribute('name', name)
|
||||
minifySpan.setAttribute(
|
||||
'cache',
|
||||
|
|
|
@ -85,6 +85,8 @@ export type NextConfig = { [key: string]: any } & {
|
|||
strictPostcssConfiguration?: boolean
|
||||
}
|
||||
experimental?: {
|
||||
swcMinify?: boolean
|
||||
swcLoader?: boolean
|
||||
cpus?: number
|
||||
plugins?: boolean
|
||||
profiling?: boolean
|
||||
|
@ -157,6 +159,8 @@ export const defaultConfig: NextConfig = {
|
|||
keepAlive: true,
|
||||
},
|
||||
experimental: {
|
||||
swcLoader: false,
|
||||
swcMinify: false,
|
||||
cpus: Math.max(
|
||||
1,
|
||||
(Number(process.env.CIRCLE_NODE_TOTAL) ||
|
||||
|
|
128
yarn.lock
128
yarn.lock
|
@ -3849,85 +3849,85 @@
|
|||
"@svgr/plugin-svgo" "^5.5.0"
|
||||
loader-utils "^2.0.0"
|
||||
|
||||
"@swc/core-android-arm64@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.66.tgz#ce45abb2220684739616443d2c455ba0b8713e1d"
|
||||
integrity sha512-qSc+wvqeHh+rjyJDBZSXQI2VCJ9xHPZpZk9fehvgcYmsPHkcjtUt6lwj6SIFdkklasw4p1Jq7vMQzAdegUa9VQ==
|
||||
"@swc/core-android-arm64@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.74.tgz#7e12fde1ba557dad803bc27b5b6cef04957e7ba3"
|
||||
integrity sha512-mKqs5QmY4uEUopk98rM4dH0g7iWRH172Z8Bd752/eR9R5Yzut/dEGZCN5lnDfCLc1hecJz3DFsU/71jG4T+1WQ==
|
||||
|
||||
"@swc/core-darwin-arm64@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.66.tgz#804d10c5ccaa359a48eb02047c91f029bdc0618a"
|
||||
integrity sha512-ij0vh+HJJRggN6zwY/WQ1BaQHit+w/VbdHjM+nzYtzASpSiN3+jvb6XeON5bKLxnDGPvuKsk4Bgg1k5ib9oTxQ==
|
||||
"@swc/core-darwin-arm64@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.74.tgz#6b6c6f1a9c12f5c4647f324985aa8f52a6967113"
|
||||
integrity sha512-i8bRE/oQAyPmB3Vwk1GfydFbCnsidfXQgyFK0qDsQN7tNPZg5esqQVeAzDWhGWdMK6VAGcMDY3/RinR8KkKCmg==
|
||||
|
||||
"@swc/core-darwin-x64@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.66.tgz#47dbe1b8b5ceb145267a419ebaedc9e260ded5fc"
|
||||
integrity sha512-TvxV/ntjdwsUdvhuvIG53kZUtrMcBGAwqYNveuk24fjytZqtV0UC6TfHw+iUd+DeAm+4wLIgyZIatlyxqmm3TQ==
|
||||
"@swc/core-darwin-x64@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.74.tgz#588393d8d5d7b52985cbdeaa93ccdf2f8233a9d4"
|
||||
integrity sha512-3vcKNlkCa40FosdltLytRHHT4KFnzg5Ws2k40nYT2g55UBk4SHou6eeq9gP0FYkerTNPWhS5c8KyAHCnBXOhoA==
|
||||
|
||||
"@swc/core-freebsd-x64@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.66.tgz#609b68a9612e92cb7d86ff6f98da5a46103c204f"
|
||||
integrity sha512-5D/MBbnOU4NCpG9UyYJCkqOKH0+hPX9T/x8GqQbPy9BBBYQLey42ISyvx33HgD2XTVy8cnLr3vFrhLnWmoFy1A==
|
||||
"@swc/core-freebsd-x64@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.74.tgz#353ec8a9d60031fe39f3ba1ecc0488842226e79b"
|
||||
integrity sha512-YFIuIYbs3TUWQFBjs8KCff/nj4yBm1WIrq2w1ZfHOSbTMRnz3slksEviz6QzUhDK6fO8HUwudhxO5INRuWWxfQ==
|
||||
|
||||
"@swc/core-linux-arm-gnueabihf@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.66.tgz#df4242f842f096ac4cc581099ae86db517070e91"
|
||||
integrity sha512-aWPdEGAkDUJ326BzK5f26hq6Ra2MMzwe2saJW6xjkefbJn0CFtpGX/koFmqpL6ewRlkOQlKcjvN+3ndjtmQEhw==
|
||||
"@swc/core-linux-arm-gnueabihf@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.74.tgz#16486b80a30401604bf1524918447ff1bb7baf8a"
|
||||
integrity sha512-iwLMOGwfH6r1U5Kyu76I2E+6BVKYWFA+l1z6Ja+9rk9qHBeQws6p5vP3HcezQQeKBbmNx6kcF9+RRT6v8yUz7w==
|
||||
|
||||
"@swc/core-linux-arm64-gnu@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.66.tgz#3b62f0f9d1af1e549a98480609a85c39bc797941"
|
||||
integrity sha512-Jc5ePO2zsvFgFp5myesOTcRxOb/SVwJvDDDGrilyE+5Ou9iACfYRwFk/2E9P6FK3t5KnZbRMPLJVIoPQ0mm10A==
|
||||
"@swc/core-linux-arm64-gnu@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.74.tgz#192b805894ca6c09aa6e5dbd1c8caabbaf9fff7b"
|
||||
integrity sha512-2ndc5Ei88Ifxc9joDtANIhlUSpq5C3Qbc+g/gUUGF2lPCiMk6kPxnpwvDKpAowi7dSeIW94+/9O8l58D8cHRVg==
|
||||
|
||||
"@swc/core-linux-arm64-musl@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.66.tgz#272e2ad543308936f46de07a349931844700470e"
|
||||
integrity sha512-S/3jriGPYipACxGdgo2tEjr9J3ZRk2K8nsyQQRwsDofr1P5PTN9coGWpSX+/YdbJa1bYo0CCLpdaeJIDiP/bng==
|
||||
"@swc/core-linux-arm64-musl@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.74.tgz#c9ec655f6c8f77fc600f078ce1b169baacb76c05"
|
||||
integrity sha512-xKNg87bdmmXwyjspiDOdFvGNcuHJ/lL5ouWTriICJ0W8lzuTNs8E9rpk/aPXdPvOhdxT4ACf8x+c1+eHZPsJPA==
|
||||
|
||||
"@swc/core-linux-x64-gnu@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.66.tgz#79825533b43f3938985a1846b4bbd22b19f3b92a"
|
||||
integrity sha512-nk+saTGX4LoVl1m5rIaDJZ/zdr7lqxtQ2ab/cAk158Bpix1W+YaWTM14YojVurE0h8U6OmNYBQd1gB9wm+eTHQ==
|
||||
"@swc/core-linux-x64-gnu@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.74.tgz#f1dd963c7017f4fc4d95413b6b3f656a981b7621"
|
||||
integrity sha512-1q+9WWykTj4Mg5p22O7klr2kx67LL1TSmVJKtCVUNBHNeqlSGTCHA9lGh8ETGIW/iWuvXHTnYMlV9RhPWMZVHQ==
|
||||
|
||||
"@swc/core-linux-x64-musl@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.66.tgz#32f89bc35befaca577e2009fe18b37a1e596d6db"
|
||||
integrity sha512-LkGwggHPa4v4dn/61AbqWELxTqkLRXSZeFT7TN3fqsJ7fZn5U0G/TvTIODFEw1hz6B4d4OQpvx8NZ9woIrbgFQ==
|
||||
"@swc/core-linux-x64-musl@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.74.tgz#abe7e5280879f9ea290a6eecced4da8cf65ee0de"
|
||||
integrity sha512-r/ZnFGn/VwOpboW6dKolStxArBFM0fb1xk+og6KZJtKZE9sE+Y5CAOvcvAxNzic+K2FX47ZSWHIFoHg5yoTkuQ==
|
||||
|
||||
"@swc/core-win32-arm64-msvc@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.66.tgz#829a5b97a3f3283ddff72534488dbdcc0c5246ce"
|
||||
integrity sha512-KYHcBKAIfBC0Sv8QXi2p0xJpY4P1LaVbxUey+m9aQJG+yAq/MPq5emO+leZ34veJHQgw876VTsVTqPcqrMyGTw==
|
||||
"@swc/core-win32-arm64-msvc@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.74.tgz#8354673065c951955dc3af958cc938f297c57c96"
|
||||
integrity sha512-u1ww9SaY4sMqogXZorlHpaursJnvgTi86lwJN1E+kKo4MFANcB354FvBUNg+QIRwN7itNvoP+lxHHP9NF87gdg==
|
||||
|
||||
"@swc/core-win32-ia32-msvc@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.66.tgz#ccacda98ec99337075e94e3d1c48df86381ecb7b"
|
||||
integrity sha512-+QbC1W245rLOmP6YXJAiizfC28MLol+0w+TFf+n42cQMecjfwZpdmhLCwaJNOfT3sq5F8mY77+rk3KngUaOvfw==
|
||||
"@swc/core-win32-ia32-msvc@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.74.tgz#3f5aadc10381409c79106b24030da5d2066ad061"
|
||||
integrity sha512-yftd+MMxJUCmH8DRZ7ZeRE4bTD7+jYFgf2epswF4gdyotB4clvCcL2BDxEN56sMJzrO0+SkTKYEkfFmPQtVUBQ==
|
||||
|
||||
"@swc/core-win32-x64-msvc@^1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.66.tgz#71d7e02f929a7dbbe670e8c374d65253b7dd79a9"
|
||||
integrity sha512-xnuLSpmgUJ/9KI4O7dIKAhoiWPRjDd0175Fqeltj8o87FQQkskc+c6BS5Lp7XnroWIf/UE6os8sRxt5LbcfSOA==
|
||||
"@swc/core-win32-x64-msvc@^1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.74.tgz#def33e667ed707f9071f03b10a255f15871262bd"
|
||||
integrity sha512-zRBBPNLj+hJHNzQ3JZ3YJjSHmVgcVg4wKV5pChr8PO6dMPrYX5RpuOCLwVIUHvCdQ6TmTc/AdGJDP/VpMQfkdA==
|
||||
|
||||
"@swc/core@1.2.66":
|
||||
version "1.2.66"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.66.tgz#f82409ffadba4a4bc3333b0fd230cbd970a1657e"
|
||||
integrity sha512-zwQlgXvpBkDwIXlVBp9VRYm8NoEmFQSpIiDzFrrvTeYKXPOIjDDMDFiFz5k1UEZejR4nCHo1MUyCXaRoykRDqg==
|
||||
"@swc/core@1.2.74":
|
||||
version "1.2.74"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.74.tgz#66348ddfae8c15ba5eaeb0a509fb30a0e354c0b1"
|
||||
integrity sha512-ICIXnLUYutYiK6wWb2DXNPZyKgTLHY+BxGbCZs45WwOBjsxden/bznIilPN4lEkNgjzYCZbwi9asuVzH+Ar9BA==
|
||||
dependencies:
|
||||
"@node-rs/helper" "^1.0.0"
|
||||
optionalDependencies:
|
||||
"@swc/core-android-arm64" "^1.2.66"
|
||||
"@swc/core-darwin-arm64" "^1.2.66"
|
||||
"@swc/core-darwin-x64" "^1.2.66"
|
||||
"@swc/core-freebsd-x64" "^1.2.66"
|
||||
"@swc/core-linux-arm-gnueabihf" "^1.2.66"
|
||||
"@swc/core-linux-arm64-gnu" "^1.2.66"
|
||||
"@swc/core-linux-arm64-musl" "^1.2.66"
|
||||
"@swc/core-linux-x64-gnu" "^1.2.66"
|
||||
"@swc/core-linux-x64-musl" "^1.2.66"
|
||||
"@swc/core-win32-arm64-msvc" "^1.2.66"
|
||||
"@swc/core-win32-ia32-msvc" "^1.2.66"
|
||||
"@swc/core-win32-x64-msvc" "^1.2.66"
|
||||
"@swc/core-android-arm64" "^1.2.74"
|
||||
"@swc/core-darwin-arm64" "^1.2.74"
|
||||
"@swc/core-darwin-x64" "^1.2.74"
|
||||
"@swc/core-freebsd-x64" "^1.2.74"
|
||||
"@swc/core-linux-arm-gnueabihf" "^1.2.74"
|
||||
"@swc/core-linux-arm64-gnu" "^1.2.74"
|
||||
"@swc/core-linux-arm64-musl" "^1.2.74"
|
||||
"@swc/core-linux-x64-gnu" "^1.2.74"
|
||||
"@swc/core-linux-x64-musl" "^1.2.74"
|
||||
"@swc/core-win32-arm64-msvc" "^1.2.74"
|
||||
"@swc/core-win32-ia32-msvc" "^1.2.74"
|
||||
"@swc/core-win32-x64-msvc" "^1.2.74"
|
||||
|
||||
"@szmarczak/http-timer@^1.1.2":
|
||||
version "1.1.2"
|
||||
|
|
Loading…
Reference in a new issue