diff --git a/Cargo.toml b/Cargo.toml index a1fd365..193fc42 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,3 +4,6 @@ members = [ "crates/binding", ] resolver = "2" + +[profile.release] +lto = true diff --git a/crates/binding/Cargo.toml b/crates/binding/Cargo.toml index b593bc3..508a4dd 100644 --- a/crates/binding/Cargo.toml +++ b/crates/binding/Cargo.toml @@ -19,6 +19,3 @@ svgr-rs = { path = "../core", features = ["node"] } [build-dependencies] napi-build = "2.0.1" - -[profile.release] -lto = true diff --git a/crates/binding/src/lib.rs b/crates/binding/src/lib.rs index 5aca5b9..d27fe36 100644 --- a/crates/binding/src/lib.rs +++ b/crates/binding/src/lib.rs @@ -14,10 +14,7 @@ pub async fn transform_node( state: Option, ) -> napi::bindgen_prelude::Result { let config: Config = get_deserialized(&config)?; - let state = match state { - Some(state) => state, - None => Default::default(), - }; + let state = state.unwrap_or_default(); match transform(code, config, state) { Ok(result) => napi::bindgen_prelude::Result::Ok(result), Err(reason) => napi::bindgen_prelude::Result::Err(napi::bindgen_prelude::Error::from_reason( diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 00ac892..0272839 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -36,6 +36,3 @@ linked_hash_set = "0.1.4" [dev-dependencies] testing = "0.32.5" - -[profile.release] -lto = true diff --git a/crates/core/src/svg_dynamic_title.rs b/crates/core/src/svg_dynamic_title.rs index 90f2c5e..a1bdd6c 100644 --- a/crates/core/src/svg_dynamic_title.rs +++ b/crates/core/src/svg_dynamic_title.rs @@ -109,7 +109,7 @@ impl Visitor { .. }) = attr { - if ident.sym.to_string() == "id" { + if ident.sym.as_str() == "id" { return true; } } diff --git a/crates/core/src/svg_em_dimensions.rs b/crates/core/src/svg_em_dimensions.rs index 7f5eb46..e26c42c 100644 --- a/crates/core/src/svg_em_dimensions.rs +++ b/crates/core/src/svg_em_dimensions.rs @@ -55,7 +55,7 @@ impl VisitMut for Visitor { fn visit_mut_jsx_opening_element(&mut self, n: &mut JSXOpeningElement) { let is_svg = ELEMENTS.iter().any(|element| { if let JSXElementName::Ident(ident) = n.name.clone() { - return ident.sym.to_string() == *element; + return ident.sym.as_str() == *element; } false }); @@ -74,7 +74,7 @@ impl VisitMut for Visitor { .iter() .enumerate() .for_each(|(index, attr)| { - if ident.sym.to_string() == *attr { + if ident.sym.as_str() == *attr { match *attr { "height" => { jsx_attr.value.replace(get_value(self.height.as_ref())); diff --git a/crates/core/src/transform_react_native_svg.rs b/crates/core/src/transform_react_native_svg.rs index cbc517a..cebb85b 100644 --- a/crates/core/src/transform_react_native_svg.rs +++ b/crates/core/src/transform_react_native_svg.rs @@ -85,7 +85,7 @@ impl SvgElementVisitor { impl VisitMut for SvgElementVisitor { fn visit_mut_jsx_element(&mut self, n: &mut JSXElement) { if let JSXElementName::Ident(ident) = &mut n.opening.name { - if ident.sym.to_string() == "svg" { + if ident.sym.as_str() == "svg" { let mut jsx_element_visitor = JSXElementVisitor::new( self.replaced_components.clone(), self.unsupported_components.clone(), @@ -206,7 +206,7 @@ impl ImportDeclVisitor { impl VisitMut for ImportDeclVisitor { fn visit_mut_import_decl(&mut self, n: &mut ImportDecl) { - if n.src.value.to_string() == "react-native-svg" { + if n.src.value.as_str() == "react-native-svg" { for component in self.replaced_components.borrow().iter() { if n.specifiers.iter().any(|specifier| { if let ImportSpecifier::Named(named) = specifier { @@ -233,7 +233,7 @@ impl VisitMut for ImportDeclVisitor { } self.import_decl_span = Some(n.span); - } else if n.src.value.to_string() == "expo" { + } else if n.src.value.as_str() == "expo" { n.specifiers .push(ImportSpecifier::Named(ImportNamedSpecifier { local: Ident::new("Svg".into(), DUMMY_SP, SyntaxContext::empty()), diff --git a/crates/core/src/transform_svg_component/variables.rs b/crates/core/src/transform_svg_component/variables.rs index 803cbbe..b2124f9 100644 --- a/crates/core/src/transform_svg_component/variables.rs +++ b/crates/core/src/transform_svg_component/variables.rs @@ -454,7 +454,7 @@ fn get_or_create_import( .specifiers .iter() .any(|specifier| matches!(specifier, ImportSpecifier::Namespace(_))); - if !is_namespace_import && import_decl.src.value.to_string() == soruce_value { + if !is_namespace_import && import_decl.src.value.as_str() == soruce_value { existing = Some(import_decl); break; }