diff --git a/Cargo.lock b/Cargo.lock index aa2f19a..bd96844 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,12 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" - [[package]] name = "ahash" version = "0.7.8" @@ -473,6 +467,12 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.3.9" @@ -533,11 +533,11 @@ dependencies = [ [[package]] name = "is-macro" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2069faacbe981460232f880d26bf3c7634e322d49053aa48c27e3ae642f728f1" +checksum = "1d57a3e447e24c22647738e4607f1df1e0ec6f72e16182c4cd199f647cdfb0e4" dependencies = [ - "Inflector", + "heck", "proc-macro2", "quote", "syn 2.0.87", @@ -1349,9 +1349,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "1.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8505eddfd6488cde74b0e80a4b959b12392a8a15eb62243d45eb82cf568b9b9" +checksum = "992b89cdcff8e61c1308a984af5450a60a382b106f3e79fd6aabf9e2e193d076" dependencies = [ "anyhow", "ast_node", @@ -1381,9 +1381,9 @@ dependencies = [ [[package]] name = "swc_core" -version = "1.0.6" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b7dd29fabd11e202fae26771d6a3fa5f9417ed87ba3847dcd76382b5c44caf" +checksum = "776e6ea3970315bae96fedf5a88c6a778a2e18b125537de8768bc7ebad0d3cc7" dependencies = [ "once_cell", "swc_allocator", @@ -1402,9 +1402,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "1.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6795be2785b968ccff06096bc758b306459f05fc936e6363b4dd39fb27fba22a" +checksum = "99e7c0cd9dfe2a49c8f0b4ce699c13c9e270b8487a0176e1d89e5a9a586d0b3b" dependencies = [ "bitflags", "bytecheck", @@ -1416,14 +1416,15 @@ dependencies = [ "string_enum", "swc_atoms", "swc_common", + "swc_visit", "unicode-id-start", ] [[package]] name = "swc_ecma_codegen" -version = "1.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae4fee003ef373adef1ff2af1e73607925f510a8105a5e368c1aa655ece9a41" +checksum = "09236707a86e5d9f24c58e46c7f0efcc728daf1dd48167b2071f7afc11b7ea67" dependencies = [ "memchr", "num-bigint", @@ -1453,9 +1454,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "1.0.1" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af8beb1639d45a3b6b5d0f2e9aa9f99833608b7c9c4596465035bea38264407b" +checksum = "a49f6ab5fa19498d0feb45a4943e1ad962736ee251e8f0f885330f7aeca39c39" dependencies = [ "either", "new_debug_unreachable", @@ -1475,9 +1476,9 @@ dependencies = [ [[package]] name = "swc_ecma_testing" -version = "1.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f18ed0d82088c142076b952fd4086c52d98cf8d728ba9f216a463dbdbc53ad75" +checksum = "e9f0ad0084b19d568f180078205d510a89a6c44e9274f639502218678ab8a9e5" dependencies = [ "anyhow", "hex", @@ -1488,9 +1489,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "1.0.1" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c2f948b02c5dc9f97765a80de7ac12eac004b2b45ee3db68a0c15d57c14a2" +checksum = "a6f43d1983d48dca819a7d0c79c5eb98011a2f8759acbddd972858ec228c66d4" dependencies = [ "better_scoped_tls", "bitflags", @@ -1511,9 +1512,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_testing" -version = "1.0.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca6416a26f9be7126de6ef68ecd1d1f59416c60f7d6fa4a8c2f13c8cf4a0bff" +checksum = "8d92c19745dbe972b276f22a34f9271b484e80e058494a50fe08196850f47107" dependencies = [ "ansi_term", "anyhow", @@ -1537,9 +1538,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "1.0.1" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3608f6babd45a29875b06b583fc2aa24b756b5aab8fabfe87e4b4371b8d43ba" +checksum = "9371e7e39fca55508ae91abf28fd3d8dae8eff3782e918081f6932523c68789c" dependencies = [ "indexmap", "num_cpus", @@ -1556,9 +1557,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "1.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9cc511aa14bf58a6bc66815e78b76a4fed15f148681856d8d9b0456577050aa" +checksum = "a380252c317c67f321b8e0d66dbc2427842bd184505e12016f0d3f811776af86" dependencies = [ "new_debug_unreachable", "num-bigint", @@ -1582,9 +1583,9 @@ dependencies = [ [[package]] name = "swc_error_reporters" -version = "2.0.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca3b3c6da0e2d659c8a5cc6d0a1c76fe3272ae1d55e93e48c74de655271142b" +checksum = "44f6ddeea4e330922832e5f1544f8097b46b786c86d200eb3a6ef761ba83ce12" dependencies = [ "anyhow", "miette", @@ -1626,9 +1627,9 @@ dependencies = [ [[package]] name = "swc_plugin_proxy" -version = "1.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b12f6e1064370116757b9aebc33ab82c123eabc635d00b38770a1f2dbebdc8" +checksum = "676d058cb956ea0ec542b47930b22b045c388cac6d43c2afac83687b2e560957" dependencies = [ "better_scoped_tls", "rkyv", @@ -1651,9 +1652,9 @@ dependencies = [ [[package]] name = "swc_visit" -version = "1.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40b33e89a4fe7b07b39665f81203a83ffecb3a930522b6ad075716ee6dad637" +checksum = "9138b6a36bbe76dd6753c4c0794f7e26480ea757bee499738bedbbb3ae3ec5f3" dependencies = [ "either", "new_debug_unreachable", @@ -1711,9 +1712,9 @@ dependencies = [ [[package]] name = "testing" -version = "1.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "544770604eb95960ad9a00996b95a902d975ee502cf7f93c231112cfb598d035" +checksum = "2ae9d4a2fd3a69583f7c782ab1b7d9a772117a2d0673b97a33d9455e220c8011" dependencies = [ "ansi_term", "cargo_metadata", @@ -1898,13 +1899,11 @@ dependencies = [ [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +checksum = "d09466de2fbca05ea830e16e62943f26607ab2148fb72b642505541711d99ad2" dependencies = [ - "cfg-if", "rand", - "static_assertions", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 07be5af..e410664 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ md4 = { version = "0.10", default-features = false } md-5 = { version = "0.10", default-features = false } sha1 = { version = "0.10", default-features = false } sha2 = { version = "0.10", default-features = false } -twox-hash = "1" +twox-hash = "2" # digest base16ct = { version = "0.2", features = ["alloc"] } @@ -32,7 +32,7 @@ serde_json = "1" serde-inline-default = "0.2.0" regex = "1" lazy_static = "1" -swc_core = { version = "1", features = [ +swc_core = { version = "4", features = [ "ecma_plugin_transform", "ecma_parser", ] } @@ -40,7 +40,7 @@ swc_core = { version = "1", features = [ ts-rs = "10" [dev-dependencies] -testing = "1" +testing = "3" # .cargo/config defines few alias to build plugin. # cargo build-wasip1 generates wasm-wasi32 binary # cargo build-wasm32 generates wasm32-unknown-unknown binary. diff --git a/src/lib.rs b/src/lib.rs index d6a3d3f..f51b6e7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -5,10 +5,7 @@ pub mod loader_utils; pub use config::Config; pub use injector::Injector; -use swc_core::ecma::{ - ast::Program, - visit::{as_folder, FoldWith}, -}; +use swc_core::ecma::{ast::Program, visit::visit_mut_pass}; use swc_core::plugin::metadata::TransformPluginMetadataContextKind; use swc_core::plugin::{plugin_transform, proxies::TransformPluginProgramMetadata}; @@ -29,7 +26,7 @@ pub fn process_transform(program: Program, metadata: TransformPluginProgramMetad .get_context(&TransformPluginMetadataContextKind::Cwd) .expect("failed to get cwd"); - program.fold_with(&mut as_folder(Injector::new( + program.apply(visit_mut_pass(Injector::new( cwd.as_str(), filepath.as_str(), config, diff --git a/tests/fixture.rs b/tests/fixture.rs index 41f4d5e..7ff1812 100644 --- a/tests/fixture.rs +++ b/tests/fixture.rs @@ -3,7 +3,7 @@ use std::{env, fs, path::PathBuf}; use swc_core::ecma::{ parser::{EsSyntax, Syntax}, transforms::testing::test_fixture, - visit::as_folder, + visit::visit_mut_pass, }; use swc_plugin_css_modules::{Config, Injector}; @@ -28,7 +28,7 @@ fn fixture(input: PathBuf) { test_fixture( syntax(), &|_| { - as_folder(Injector::new( + visit_mut_pass(Injector::new( cwd.to_str().unwrap(), input.to_str().unwrap(), config.clone(),