diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-06-19 12:27:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-19 12:27:15 +0200 |
commit | 826a3135b41bdaeb8c8cd27a4652563971b04baa (patch) | |
tree | e8baaca1b5560e5825e19f5b0c6872d781d767a3 /cli/ops/runtime_compiler.rs | |
parent | 345a5b3dff3a333d156bf4aff9f7e2a355d59746 (diff) |
refactor(compiler): split code paths for compile and bundle (#6304)
* refactor "compile" and "runtimeCompile" in "compiler.ts" and factor out
separate methods for "compile" and "bundle" operations
* remove noisy debug output from "compiler.ts"
* provide "Serialize" implementations for enums in "msg.rs"
* rename "analyze_dependencies_and_references" to "pre_process_file" and
move it to "tsc.rs"
* refactor ModuleGraph to use more concrete types and properly annotate
locations where errors occur
* remove dead code from "file_fetcher.rs" - "SourceFile.types_url" is no
longer needed, as type reference parsing is done in "ModuleGraph"
* remove unneeded field "source_path" from ".meta" files stored for
compiled source file (towards #6080)
Diffstat (limited to 'cli/ops/runtime_compiler.rs')
-rw-r--r-- | cli/ops/runtime_compiler.rs | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/cli/ops/runtime_compiler.rs b/cli/ops/runtime_compiler.rs index 97102ef81..e70b69de7 100644 --- a/cli/ops/runtime_compiler.rs +++ b/cli/ops/runtime_compiler.rs @@ -3,6 +3,7 @@ use super::dispatch_json::{Deserialize, JsonOp, Value}; use crate::futures::FutureExt; use crate::op_error::OpError; use crate::state::State; +use crate::tsc::runtime_bundle; use crate::tsc::runtime_compile; use crate::tsc::runtime_transpile; use deno_core::CoreIsolate; @@ -34,15 +35,27 @@ fn op_compile( let global_state = s.global_state.clone(); let permissions = s.permissions.clone(); let fut = async move { - runtime_compile( - global_state, - permissions, - &args.root_name, - &args.sources, - args.bundle, - &args.options, - ) - .await + let fut = if args.bundle { + runtime_bundle( + global_state, + permissions, + &args.root_name, + &args.sources, + &args.options, + ) + .boxed_local() + } else { + runtime_compile( + global_state, + permissions, + &args.root_name, + &args.sources, + &args.options, + ) + .boxed_local() + }; + + fut.await } .boxed_local(); Ok(JsonOp::Async(fut)) |