Update swc (#36477)

* Update

* Update swc

* Update again

* Fix

* log

* Fix

* clippy

* Update

* Fix
This commit is contained in:
Donny/강동윤 2022-04-27 21:28:46 +09:00 committed by GitHub
parent 04e887b9d1
commit f2c3ef8318
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 93 additions and 88 deletions

View file

@ -1853,9 +1853,9 @@ dependencies = [
[[package]]
name = "swc"
version = "0.170.0"
version = "0.172.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e120b0149cfe12d21c2d7142618d8c2820ede1432878c835fd0eef33dc523f0b"
checksum = "d4e29e879868284573c7d2edb014a6dde86a4a5b0dc060648c77ac2ac9ffccf0"
dependencies = [
"ahash",
"anyhow",
@ -1909,9 +1909,9 @@ dependencies = [
[[package]]
name = "swc_bundler"
version = "0.138.0"
version = "0.140.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b3b0223d2afc80679fc8ae4a1e1e5ed4b68b090f451aa3d4ae0d7b9779055a8"
checksum = "c49ab92926ec1b1a354e54146cc58d12e624127aa4df06ddad74b1146124ddb6"
dependencies = [
"ahash",
"anyhow",
@ -1958,9 +1958,9 @@ dependencies = [
[[package]]
name = "swc_common"
version = "0.17.24"
version = "0.17.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc46c0dc9baf12a82ccba5d21209d3f5318e6dddc5440fdab4bbf71e2529d72d"
checksum = "766ad22c1cb8586c038ccba7371a4903a6074b53ee4ba8980a52f502413f120e"
dependencies = [
"ahash",
"ast_node",
@ -2094,9 +2094,9 @@ dependencies = [
[[package]]
name = "swc_ecma_ast"
version = "0.76.1"
version = "0.76.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82617d5fbf5698e7955a84dca76838c2d70b31b5a0f42049ffa052c6de45e67e"
checksum = "87eb325cc3e9bcf93dd9fcf14586e56fc502a5c7a9cc80e36c00bfd7c833b189"
dependencies = [
"is-macro",
"num-bigint",
@ -2155,9 +2155,9 @@ dependencies = [
[[package]]
name = "swc_ecma_lints"
version = "0.35.0"
version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afda60b9c68a5f53c9c6e7f0e1e4b0ed8a1ad1b3665c01229346ed9d3c55659f"
checksum = "255f8894576ab4c228f995be2a70d98f8f10cc374763ea7cedcc57917b87c646"
dependencies = [
"ahash",
"auto_impl",
@ -2197,9 +2197,9 @@ dependencies = [
[[package]]
name = "swc_ecma_minifier"
version = "0.105.1"
version = "0.107.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae9538f315b203d837850929770286600fc543800a0fee66d27a02f478b8d299"
checksum = "ee95fc1f92a21048d05ad6072dee0bdba3eb1dc35dbf487b13f2565633a889a7"
dependencies = [
"ahash",
"arrayvec",
@ -2229,9 +2229,9 @@ dependencies = [
[[package]]
name = "swc_ecma_parser"
version = "0.102.4"
version = "0.102.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af84da2e786dbc410c2cd15678f87809112b330870457ad9fcd31d316220a65e"
checksum = "d82e92a57b370b3d59c1d613b3f68cf37d7f6960c36b349484b9ccd09b881d43"
dependencies = [
"either",
"enum_kind",
@ -2249,9 +2249,9 @@ dependencies = [
[[package]]
name = "swc_ecma_preset_env"
version = "0.121.0"
version = "0.123.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb0768300d16387be269e3492f3464332acb42ed1028a0f26b5a8ab7dfdb032c"
checksum = "44db6900807c2792c07169dcc174b089c3b2c58efca6df9e1b80b927da60e3fd"
dependencies = [
"ahash",
"anyhow",
@ -2274,9 +2274,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms"
version = "0.146.0"
version = "0.148.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e586f9922cd3e94e1d73d53c64d07ecc648f9ca525f4361b11c2aa182e7ba13"
checksum = "92bb59bb6ec5fcb6fc186b6037a8165be6686cd48974c1f2527e0d567401e924"
dependencies = [
"swc_atoms",
"swc_common",
@ -2294,9 +2294,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_base"
version = "0.79.0"
version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "816390dd5525d64c00d520b998ed31509f5545bc184296955d2790832dcc6cc9"
checksum = "ba127853a1cf7e0b0411de93e67265934445f693c7420c67195fdab3e5d5335f"
dependencies = [
"better_scoped_tls",
"once_cell",
@ -2314,9 +2314,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_classes"
version = "0.67.0"
version = "0.68.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "325a73f310dd72cc3c9fd7acc78274b6439df7d805a92a6b7e3018be2e801177"
checksum = "ec137c540f3a9b74338ba5ff895cd3330a3d093503b3f0a4a6cbfc4cd7b83216"
dependencies = [
"swc_atoms",
"swc_common",
@ -2328,9 +2328,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_compat"
version = "0.93.0"
version = "0.94.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca1735c5e3d5f4bad130bfb626e316e57307fea615fe3b9de5f99b2258004566"
checksum = "24ac08ad78a45a5e41d2f6fa1f1085ed4500b56346ce4cbedac08528a779bdd9"
dependencies = [
"ahash",
"arrayvec",
@ -2367,9 +2367,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_module"
version = "0.106.0"
version = "0.107.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fb29226d93328731c776db0b954ee35a10527a75b25313c1efc855a5550885b"
checksum = "c4e69346f9341d63b942d699ab9f4bbfd5be431ac00f314cbbc967de0f6777bb"
dependencies = [
"Inflector",
"ahash",
@ -2391,9 +2391,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_optimization"
version = "0.116.0"
version = "0.118.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1f3bdaaea83274cffde5ed316df40d1a0aff34d47c8fb2fae51a4bcb7139396"
checksum = "adbef528d0642b07670c193ba2af50ec0da1635e02d9e03aa3004b7793981d41"
dependencies = [
"ahash",
"dashmap 5.1.0",
@ -2413,9 +2413,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_proposal"
version = "0.101.0"
version = "0.102.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8bf447bb9e37042ec8a143fa54b3d7d1bf280d69e92515e2019ec5a5e2fcb05"
checksum = "ccc254c4c98d88e39f2669e73d6d7add46ff5d26ea65a83cc43d418fbd7b3b47"
dependencies = [
"either",
"serde",
@ -2432,9 +2432,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_react"
version = "0.108.0"
version = "0.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "892a018ba5ad3b1aac8ac1acb4d571de8fcd9033875c0d1ef954b8af117002ac"
checksum = "27fe20ec2cb77b66708a85a0ac5dba7686ef1fefc635c6488f8a67f53c962f87"
dependencies = [
"ahash",
"base64 0.13.0",
@ -2457,9 +2457,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_testing"
version = "0.81.0"
version = "0.82.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab247e156a844f82c39daba4c24b46c63305e859ab6c762af6334b8597a331a0"
checksum = "e1e3344a5db9122d33c5b926e6e80587af2d55460c361c18c2fd76fd55552822"
dependencies = [
"ansi_term",
"anyhow",
@ -2480,9 +2480,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_typescript"
version = "0.111.0"
version = "0.112.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b71bcdb9f7ccf54cd97ecdf36719c64177d25f52c3509ca6a1152b20ab744ae3"
checksum = "3546be985a8733f7687e0a95ec65f2254cda00eb7f1eb66d0442262054a80735"
dependencies = [
"serde",
"swc_atoms",
@ -2525,9 +2525,9 @@ dependencies = [
[[package]]
name = "swc_ecmascript"
version = "0.148.0"
version = "0.150.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73e20917a294714127057d5072c8a864b84c3c41e49bc1d7b35b23e30a3d6518"
checksum = "6b856c5eec703e78576bd1c7d39886be932bb1c2cec0deb54781455bd6abd4fd"
dependencies = [
"swc_ecma_ast",
"swc_ecma_codegen",
@ -2571,11 +2571,14 @@ dependencies = [
[[package]]
name = "swc_error_reporters"
version = "0.1.1"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28653b7f324886314bffd4bd3e756c367ec3adde80758543f39db503537a4fd"
checksum = "9465ed499a1343831a516c1b3614f0962edd6ed18c86a4f28dc04edffca35345"
dependencies = [
"anyhow",
"miette",
"once_cell",
"parking_lot",
"swc_common",
]

View file

@ -21,16 +21,16 @@ swc_emotion = {path="../emotion"}
styled_components = {path="../styled_components"}
styled_jsx = {path="../styled_jsx"}
modularize_imports = {path="../modularize_imports"}
swc = "0.170.0"
swc = "0.172.1"
swc_atoms = "0.2.11"
swc_common = { version = "0.17.24", features = ["concurrent", "sourcemap"] }
swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] }
swc_ecma_loader = { version = "0.29.1", features = ["node", "lru"] }
swc_ecmascript = { version = "0.148.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
swc_ecmascript = { version = "0.150.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
swc_cached = "0.1.1"
tracing = { version = "0.1.32", features = ["release_max_level_off"] }
[dev-dependencies]
swc_ecma_transforms_testing = "0.81.0"
swc_ecma_transforms_testing = "0.82.0"
testing = "0.19.1"
walkdir = "2.3.2"

View file

@ -19,9 +19,9 @@ regex = "1.5"
serde = "1"
sourcemap = "6.0.1"
swc_atoms = "0.2.11"
swc_common = { version = "0.17.24", features = ["concurrent", "sourcemap"] }
swc_ecmascript = { version = "0.148.0", features = ["codegen", "utils", "visit"] }
swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] }
swc_ecmascript = { version = "0.150.0", features = ["codegen", "utils", "visit"] }
[dev-dependencies]
swc_ecma_transforms_testing = "0.81.0"
swc_ecma_transforms_testing = "0.82.0"
testing = "0.19.1"

View file

@ -15,8 +15,8 @@ once_cell = "1.8.0"
regex = "1.5"
serde = "1"
swc_cached = "0.1.1"
swc_ecmascript = { version = "0.148.0", features = ["visit"] }
swc_ecmascript = { version = "0.150.0", features = ["visit"] }
[dev-dependencies]
swc_ecma_transforms_testing = "0.81.0"
swc_ecma_transforms_testing = "0.82.0"
testing = "0.19.1"

View file

@ -17,12 +17,12 @@ next-swc = {version = "0.0.0", path = "../core"}
once_cell = "1.8.0"
serde = "1"
serde_json = "1"
swc = "0.170.0"
swc = "0.172.1"
swc_atoms = "0.2.11"
swc_bundler = { version = "0.138.0", features = ["concurrent"] }
swc_common = { version = "0.17.24", features = ["concurrent", "sourcemap"] }
swc_bundler = { version = "0.140.0", features = ["concurrent"] }
swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] }
swc_ecma_loader = { version = "0.29.1", features = ["node", "lru"] }
swc_ecmascript = { version = "0.148.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
swc_ecmascript = { version = "0.150.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
swc_node_base = "0.5.2"
[build-dependencies]

View file

@ -15,12 +15,12 @@ once_cell = "1.10.0"
regex = {version = "1.5.4", features = ["std", "perf"], default-features = false}
serde = {version = "1.0.130", features = ["derive"]}
swc_atoms = "0.2.11"
swc_common = { version = "0.17.24", features = ["concurrent"] }
swc_ecmascript = { version = "0.148.0", features = ["utils", "visit"] }
swc_common = { version = "0.17.25", features = ["concurrent"] }
swc_ecmascript = { version = "0.150.0", features = ["utils", "visit"] }
tracing = "0.1.32"
[dev-dependencies]
serde_json = "1"
swc_ecma_transforms_testing = "0.81.0"
swc_ecmascript = { version = "0.148.0", features = ["parser", "transforms"] }
swc_ecma_transforms_testing = "0.82.0"
swc_ecmascript = { version = "0.150.0", features = ["parser", "transforms"] }
testing = "0.19.1"

View file

@ -3,7 +3,7 @@ use crate::Config;
use std::{cell::RefCell, rc::Rc};
use swc_ecmascript::{
ast::*,
utils::{ident::IdentLike, ExprExt},
utils::ident::IdentLike,
visit::{as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitWith},
};
@ -69,20 +69,20 @@ impl Visit for Analyzer<'_> {
..
})) = v.init.as_deref()
{
if callee.is_ident_ref_to("require".into())
&& args.len() == 1
&& args[0].spread.is_none()
{
if let Expr::Lit(Lit::Str(v)) = &*args[0].expr {
let is_styled = if self.config.top_level_import_paths.is_empty() {
&*v.value == "styled-components"
|| v.value.starts_with("styled-components/")
} else {
self.config.top_level_import_paths.contains(&v.value)
};
if let Expr::Ident(callee) = &**callee {
if &*callee.sym == "require" && args.len() == 1 && args[0].spread.is_none() {
if let Expr::Lit(Lit::Str(v)) = &*args[0].expr {
let is_styled = if self.config.top_level_import_paths.is_empty() {
&*v.value == "styled-components"
|| v.value.starts_with("styled-components/")
} else {
self.config.top_level_import_paths.contains(&v.value)
};
if is_styled {
self.state.styled_required = Some(name.id.to_id());
if is_styled {
self.state.styled_required = Some(name.id.to_id());
self.state.unresolved_ctxt = Some(callee.span.ctxt);
}
}
}
}

View file

@ -3,7 +3,7 @@ use once_cell::sync::Lazy;
use regex::{Captures, Regex};
use std::{borrow::Cow, cell::RefCell};
use swc_atoms::js_word;
use swc_common::collections::AHashMap;
use swc_common::{collections::AHashMap, SyntaxContext};
use swc_ecmascript::{
ast::*,
utils::{ident::IdentLike, Id},
@ -59,6 +59,8 @@ pub(crate) fn get_prop_name2(p: &Prop) -> PropName {
pub struct State {
pub(crate) styled_required: Option<Id>,
unresolved_ctxt: Option<SyntaxContext>,
imported_local_name: Option<Id>,
/// Namespace imports
imported_local_ns: Option<Id>,
@ -227,11 +229,7 @@ impl State {
let cache_key = cache_identifier.map(|i| i.to_id()).unwrap_or_default();
let ctxt = self
.styled_required
.as_ref()
.map(|v| v.1)
.unwrap_or_default();
let ctxt = self.unresolved_ctxt.unwrap_or_default();
let local_name = if self.styled_required.is_some() {
Some(if name == "default" {

View file

@ -12,7 +12,7 @@ use swc_ecmascript::{
utils::{quote_ident, ExprFactory},
visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith},
};
use tracing::{span, trace, Level};
use tracing::{debug, span, trace, Level};
pub fn display_name_and_id(
file: Arc<SourceFile>,
@ -325,6 +325,7 @@ impl VisitMut for DisplayNameAndId {
if !is_styled {
return;
}
debug!("Found styled component");
let _tracing = if cfg!(debug_assertions) {
Some(span!(Level::ERROR, "display_name_and_id").entered())

View file

@ -2,7 +2,7 @@
use std::{fs::read_to_string, path::PathBuf};
use styled_components::{styled_components, Config};
use swc_common::chain;
use swc_common::{chain, Mark};
use swc_ecma_transforms_testing::test_fixture;
use swc_ecmascript::{
parser::{EsConfig, Syntax},
@ -25,7 +25,10 @@ fn fixture(input: PathBuf) {
//
let fm = t.cm.load_file(&input).unwrap();
chain!(resolver(), styled_components(fm, config.clone()))
chain!(
resolver(Mark::new(), Mark::new(), false),
styled_components(fm, config.clone())
)
},
&input,
&dir.join("output.js"),

View file

@ -11,12 +11,12 @@ version = "0.1.1"
[dependencies]
easy-error = "1.0.0"
swc_common = { version = "0.17.24", features = ["concurrent", "sourcemap"] }
swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] }
swc_css = "0.104.1"
swc_css_prefixer = "0.100.4"
swc_ecmascript = { version = "0.148.0", features = ["parser", "minifier", "utils", "visit"] }
swc_ecmascript = { version = "0.150.0", features = ["parser", "minifier", "utils", "visit"] }
tracing = "0.1.32"
[dev-dependencies]
swc_ecma_transforms_testing = "0.81.0"
swc_ecma_transforms_testing = "0.82.0"
testing = "0.19.1"

View file

@ -23,7 +23,7 @@ fn styled_jsx_fixture(input: PathBuf) {
syntax(),
&|t| {
chain!(
resolver(),
resolver(Mark::new(), Mark::new(), false),
styled_jsx(
t.cm.clone(),
FileName::Real(PathBuf::from("/some-project/src/some-file.js"))
@ -47,7 +47,7 @@ fn styled_jsx_fixture(input: PathBuf) {
}
chain!(
resolver(),
resolver(Mark::new(), Mark::new(), false),
styled_jsx(
t.cm.clone(),
FileName::Real(PathBuf::from("/some-project/src/some-file.js"))

View file

@ -16,9 +16,9 @@ parking_lot_core = "=0.8.0"
path-clean = "0.1"
serde = {version = "1", features = ["derive"]}
serde_json = "1"
swc = "0.170.0"
swc_common = { version = "0.17.24", features = ["concurrent", "sourcemap"] }
swc_ecmascript = { version = "0.148.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
swc = "0.172.1"
swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] }
swc_ecmascript = { version = "0.150.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
tracing = { version = "0.1.32", features = ["release_max_level_off"] }
wasm-bindgen = {version = "0.2", features = ["serde-serialize"]}
wasm-bindgen-futures = "0.4.8"