From b8f913024d2f0503492a39b2ea37dcf45ba20d18 Mon Sep 17 00:00:00 2001 From: OJ Kwon Date: Mon, 11 Apr 2022 10:40:34 -0700 Subject: [PATCH] feat(trace): add trace for emotion transform --- packages/next-swc/Cargo.lock | 52 +++++++++++++++++++++ packages/next-swc/crates/emotion/src/lib.rs | 2 + 2 files changed, 54 insertions(+) diff --git a/packages/next-swc/Cargo.lock b/packages/next-swc/Cargo.lock index 2e86100a737a..7e8b5f905381 100644 --- a/packages/next-swc/Cargo.lock +++ b/packages/next-swc/Cargo.lock @@ -717,6 +717,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "json" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd" + [[package]] name = "json_comments" version = "0.2.1" @@ -1043,6 +1049,10 @@ dependencies = [ "swc_ecma_loader", "swc_ecmascript", "swc_node_base", + "tracing", + "tracing-chrome", + "tracing-futures", + "tracing-subscriber", ] [[package]] @@ -1303,6 +1313,26 @@ dependencies = [ "siphasher", ] +[[package]] +name = "pin-project" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.8" @@ -2555,7 +2585,9 @@ dependencies = [ "swc_common", "swc_ecma_transforms_testing", "swc_ecmascript", + "swc_trace_macro", "testing", + "tracing", ] [[package]] @@ -2848,6 +2880,16 @@ dependencies = [ "syn", ] +[[package]] +name = "tracing-chrome" +version = "0.6.0" +source = "git+https://github.com/kwonoj/tracing-chrome?rev=0dd9d6c9e0f74f43993b58560f4ac0103e058df8#0dd9d6c9e0f74f43993b58560f4ac0103e058df8" +dependencies = [ + "json", + "tracing", + "tracing-subscriber", +] + [[package]] name = "tracing-core" version = "0.1.24" @@ -2858,6 +2900,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "tracing-log" version = "0.1.2" diff --git a/packages/next-swc/crates/emotion/src/lib.rs b/packages/next-swc/crates/emotion/src/lib.rs index ff89be748a3e..795070aa3a51 100644 --- a/packages/next-swc/crates/emotion/src/lib.rs +++ b/packages/next-swc/crates/emotion/src/lib.rs @@ -25,6 +25,7 @@ use swc_ecmascript::{ codegen::util::SourceMapperExt, visit::{Fold, FoldWith}, }; +use swc_trace_macro::swc_trace; mod hash; @@ -164,6 +165,7 @@ pub struct EmotionTransformer { in_jsx_element: bool, } +#[swc_trace] impl EmotionTransformer { pub fn new(options: EmotionOptions, path: &Path, cm: Arc, comments: C) -> Self { EmotionTransformer {