diff options
author | Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> | 2024-04-23 08:50:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-23 08:50:50 -0700 |
commit | 8a367d3cc3d01ec3fd9f3f8033c9ff6cee59cc62 (patch) | |
tree | e4eb79336d094bc452befca74d771082e38fcfec /cli/args/mod.rs | |
parent | 804b97c6362d4dc31c25fd48b737d4eb69b9f176 (diff) |
fix(cli): Don't panic on invalid emit options (#23463)
Fixes #23456.
Diffstat (limited to 'cli/args/mod.rs')
-rw-r--r-- | cli/args/mod.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cli/args/mod.rs b/cli/args/mod.rs index 6c84abac2..aa3622d09 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -150,9 +150,10 @@ pub fn jsr_api_url() -> &'static Url { pub fn ts_config_to_transpile_and_emit_options( config: deno_config::TsConfig, -) -> (deno_ast::TranspileOptions, deno_ast::EmitOptions) { +) -> Result<(deno_ast::TranspileOptions, deno_ast::EmitOptions), AnyError> { let options: deno_config::EmitConfigOptions = - serde_json::from_value(config.0).unwrap(); + serde_json::from_value(config.0) + .context("Failed to parse compilerOptions")?; let imports_not_used_as_values = match options.imports_not_used_as_values.as_str() { "preserve" => deno_ast::ImportsNotUsedAsValues::Preserve, @@ -174,7 +175,7 @@ pub fn ts_config_to_transpile_and_emit_options( } else { SourceMapOption::None }; - ( + Ok(( deno_ast::TranspileOptions { use_ts_decorators: options.experimental_decorators, use_decorators_proposal: !options.experimental_decorators, @@ -195,7 +196,7 @@ pub fn ts_config_to_transpile_and_emit_options( keep_comments: false, source_map, }, - ) + )) } /// Indicates how cached source files should be handled. |