mirror of
https://github.com/denoland/deno.git
synced 2025-10-02 23:24:37 +00:00
refactor(cli): rewrite Deno.transpileOnly() to use SWC (#8090)
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
This commit is contained in:
parent
aebbdd5cc2
commit
57cad53945
8 changed files with 178 additions and 131 deletions
18
cli/ast.rs
18
cli/ast.rs
|
@ -225,7 +225,7 @@ impl From<tsc_config::TsConfig> for EmitOptions {
|
|||
EmitOptions {
|
||||
check_js: options.check_js,
|
||||
emit_metadata: options.emit_decorator_metadata,
|
||||
inline_source_map: true,
|
||||
inline_source_map: options.inline_source_map,
|
||||
jsx_factory: options.jsx_factory,
|
||||
jsx_fragment_factory: options.jsx_fragment_factory,
|
||||
transform_jsx: options.jsx == "react",
|
||||
|
@ -356,8 +356,11 @@ impl ParsedModule {
|
|||
/// - `source` - The source code for the module.
|
||||
/// - `media_type` - The media type for the module.
|
||||
///
|
||||
// NOTE(bartlomieju): `specifier` has `&str` type instead of
|
||||
// `&ModuleSpecifier` because runtime compiler APIs don't
|
||||
// require valid module specifiers
|
||||
pub fn parse(
|
||||
specifier: &ModuleSpecifier,
|
||||
specifier: &str,
|
||||
source: &str,
|
||||
media_type: &MediaType,
|
||||
) -> Result<ParsedModule, AnyError> {
|
||||
|
@ -505,8 +508,9 @@ mod tests {
|
|||
let source = r#"import * as bar from "./test.ts";
|
||||
const foo = await import("./foo.ts");
|
||||
"#;
|
||||
let parsed_module = parse(&specifier, source, &MediaType::JavaScript)
|
||||
.expect("could not parse module");
|
||||
let parsed_module =
|
||||
parse(specifier.as_str(), source, &MediaType::JavaScript)
|
||||
.expect("could not parse module");
|
||||
let actual = parsed_module.analyze_dependencies();
|
||||
assert_eq!(
|
||||
actual,
|
||||
|
@ -553,7 +557,7 @@ mod tests {
|
|||
}
|
||||
}
|
||||
"#;
|
||||
let module = parse(&specifier, source, &MediaType::TypeScript)
|
||||
let module = parse(specifier.as_str(), source, &MediaType::TypeScript)
|
||||
.expect("could not parse module");
|
||||
let (code, maybe_map) = module
|
||||
.transpile(&EmitOptions::default())
|
||||
|
@ -577,7 +581,7 @@ mod tests {
|
|||
}
|
||||
}
|
||||
"#;
|
||||
let module = parse(&specifier, source, &MediaType::TSX)
|
||||
let module = parse(specifier.as_str(), source, &MediaType::TSX)
|
||||
.expect("could not parse module");
|
||||
let (code, _) = module
|
||||
.transpile(&EmitOptions::default())
|
||||
|
@ -608,7 +612,7 @@ mod tests {
|
|||
}
|
||||
}
|
||||
"#;
|
||||
let module = parse(&specifier, source, &MediaType::TypeScript)
|
||||
let module = parse(specifier.as_str(), source, &MediaType::TypeScript)
|
||||
.expect("could not parse module");
|
||||
let (code, _) = module
|
||||
.transpile(&EmitOptions::default())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue