Expand description
All methods accept Handler, which is a storage for errors.
The caller should check if the handler contains any errors after calling method.
Fields
cm: Arc<SourceMap>
CodeMap
Implementations
These are low-level apis.
Runs op
in current compiler’s context.
Note: Other methods of Compiler
already uses this internally.
This method parses a javascript / typescript file
pub fn print<T>(
&self,
node: &T,
source_file_name: Option<&str>,
output_path: Option<PathBuf>,
inline_sources_content: bool,
target: EsVersion,
source_map: SourceMapsConfig,
source_map_names: &AHashMap<BytePos, JsWord>,
orig: Option<&SourceMap>,
minify: bool,
preserve_comments: Option<BoolOrObject<JsMinifyCommentOption>>
) -> Result<TransformOutput, Error> where
T: Node + VisitWith<IdentCollector>,
pub fn print<T>(
&self,
node: &T,
source_file_name: Option<&str>,
output_path: Option<PathBuf>,
inline_sources_content: bool,
target: EsVersion,
source_map: SourceMapsConfig,
source_map_names: &AHashMap<BytePos, JsWord>,
orig: Option<&SourceMap>,
minify: bool,
preserve_comments: Option<BoolOrObject<JsMinifyCommentOption>>
) -> Result<TransformOutput, Error> where
T: Node + VisitWith<IdentCollector>,
Converts ast node to source string and sourcemap.
This method receives target file path, but does not write file to the path. See: https://github.com/swc-project/swc/issues/1255
High-level apis.
This method returns None if a file should be skipped.
This method handles merging of config.
This method does not parse module.
pub fn run_transform<F, Ret>(
&self,
handler: &Handler,
external_helpers: bool,
op: F
) -> Ret where
F: FnOnce() -> Ret,
pub fn transform(
&self,
handler: &Handler,
program: Program,
external_helpers: bool,
pass: impl Fold
) -> Program
custom_after_pass
is applied after swc transforms are applied.
program
: If you already parsed Program
, you can pass it.
Guarantee
swc
invokes custom_before_pass
after
- Handling decorators, if configured
- Applying
resolver
- Stripping typescript nodes
This means, you can use noop_visit_type
, noop_fold_type
and
noop_visit_mut_type
in your visitor to reduce the binary size.
pub fn process_js_file(
&self,
fm: Arc<SourceFile>,
handler: &Handler,
opts: &Options
) -> Result<TransformOutput, Error>
pub fn minify(
&self,
fm: Arc<SourceFile>,
handler: &Handler,
opts: &JsMinifyOptions
) -> Result<TransformOutput, Error>
pub fn process_js(
&self,
handler: &Handler,
program: Program,
opts: &Options
) -> Result<TransformOutput, Error>
pub fn process_js(
&self,
handler: &Handler,
program: Program,
opts: &Options
) -> Result<TransformOutput, Error>
You can use custom pass with this method.
There exists a PassBuilder to help building custom passes.
Auto Trait Implementations
impl !RefUnwindSafe for Compiler
impl !UnwindSafe for Compiler
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more