diff --git a/bindings/binding_typescript_wasm/src/lib.rs b/bindings/binding_typescript_wasm/src/lib.rs index 304987a3015d..21fb9bcd4115 100644 --- a/bindings/binding_typescript_wasm/src/lib.rs +++ b/bindings/binding_typescript_wasm/src/lib.rs @@ -11,11 +11,14 @@ use swc_core::{ parser::{ parse_file_as_module, parse_file_as_program, parse_file_as_script, Syntax, TsSyntax, }, - transforms::base::{ - fixer::fixer, - helpers::{inject_helpers, Helpers, HELPERS}, - hygiene::hygiene, - resolver, + transforms::{ + base::{ + fixer::fixer, + helpers::{inject_helpers, Helpers, HELPERS}, + hygiene::hygiene, + resolver, + }, + typescript::strip_type, }, visit::VisitMutWith, }, @@ -52,9 +55,8 @@ pub struct Options { #[serde(default)] pub source_maps: bool, - #[serde(default)] - pub transform: swc_core::ecma::transforms::typescript::Config, - + // #[serde(default)] + // pub transform: swc_core::ecma::transforms::typescript::Config, #[serde(default)] pub codegen: swc_core::ecma::codegen::Config, } @@ -148,10 +150,7 @@ fn operate(input: String, options: Options) -> Result { // Strip typescript types - program.visit_mut_with(&mut swc_core::ecma::transforms::typescript::typescript( - options.transform, - top_level_mark, - )); + program.visit_mut_with(&mut strip_type()); // Apply external helpers diff --git a/crates/swc_ecma_transforms_typescript/src/lib.rs b/crates/swc_ecma_transforms_typescript/src/lib.rs index f93cfa58b7b2..fbdbf238028d 100644 --- a/crates/swc_ecma_transforms_typescript/src/lib.rs +++ b/crates/swc_ecma_transforms_typescript/src/lib.rs @@ -2,7 +2,7 @@ #![allow(clippy::vec_box)] #![allow(clippy::mutable_key_type)] -pub use self::typescript::*; +pub use self::{strip_type::*, typescript::*}; mod config; mod macros; mod strip_import_export; diff --git a/crates/swc_ecma_transforms_typescript/src/strip_type.rs b/crates/swc_ecma_transforms_typescript/src/strip_type.rs index 17bd35f76ce8..12c7e96ca93a 100644 --- a/crates/swc_ecma_transforms_typescript/src/strip_type.rs +++ b/crates/swc_ecma_transforms_typescript/src/strip_type.rs @@ -5,6 +5,10 @@ use swc_ecma_visit::{VisitMut, VisitMutWith}; use crate::{type_to_none, unreachable_visit_mut_type}; +pub fn strip_type() -> impl VisitMut { + StripType::default() +} + /// This Module will strip all types/generics/interface/declares /// and type import/export #[derive(Default)]