summaryrefslogtreecommitdiff
path: root/cli/ops/runtime_compiler.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-06-19 12:27:15 +0200
committerGitHub <noreply@github.com>2020-06-19 12:27:15 +0200
commit826a3135b41bdaeb8c8cd27a4652563971b04baa (patch)
treee8baaca1b5560e5825e19f5b0c6872d781d767a3 /cli/ops/runtime_compiler.rs
parent345a5b3dff3a333d156bf4aff9f7e2a355d59746 (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.rs31
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))