summaryrefslogtreecommitdiff
path: root/cli/tsc.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2020-09-15 10:33:14 -0400
committerRyan Dahl <ry@tinyclouds.org>2020-09-15 11:55:51 -0400
commitb2fa903d64c74d64685397bbf4e98b031371d346 (patch)
tree5ccce52353e86c355915bcd8246502e4deac1774 /cli/tsc.rs
parent68099acbc6d816170ac60d33e4cd730d88dad5de (diff)
cli/msg.rs -> cli/media_type.rs
Diffstat (limited to 'cli/tsc.rs')
-rw-r--r--cli/tsc.rs54
1 files changed, 40 insertions, 14 deletions
diff --git a/cli/tsc.rs b/cli/tsc.rs
index 888c6fdeb..570d5f812 100644
--- a/cli/tsc.rs
+++ b/cli/tsc.rs
@@ -12,10 +12,9 @@ use crate::flags::Flags;
use crate::fmt_errors::JsError;
use crate::global_state::GlobalState;
use crate::js;
+use crate::media_type::MediaType;
use crate::module_graph::ModuleGraph;
use crate::module_graph::ModuleGraphLoader;
-use crate::msg;
-use crate::msg::MediaType;
use crate::ops;
use crate::permissions::Permissions;
use crate::source_maps::SourceMapGetter;
@@ -35,6 +34,7 @@ use log::Level;
use regex::Regex;
use serde::Deserialize;
use serde::Serialize;
+use serde::Serializer;
use serde_json::json;
use serde_json::Value;
use sourcemap::SourceMap;
@@ -630,7 +630,7 @@ impl TsCompiler {
);
let j = json!({
- "type": msg::CompilerRequestType::Compile,
+ "type": CompilerRequestType::Compile,
"target": target,
"rootNames": root_names,
"performance": performance,
@@ -751,7 +751,7 @@ impl TsCompiler {
);
let j = json!({
- "type": msg::CompilerRequestType::Bundle,
+ "type": CompilerRequestType::Bundle,
"target": target,
"rootNames": root_names,
"performance": performance,
@@ -899,9 +899,7 @@ impl TsCompiler {
// NOTE: JavaScript files are only cached to disk if `checkJs`
// option in on
- if source_file.media_type == msg::MediaType::JavaScript
- && !self.compile_js
- {
+ if source_file.media_type == MediaType::JavaScript && !self.compile_js {
continue;
}
@@ -948,7 +946,7 @@ impl TsCompiler {
let compiled_module = SourceFile {
url: module_url.clone(),
filename: compiled_code_filename,
- media_type: msg::MediaType::JavaScript,
+ media_type: MediaType::JavaScript,
source_code: compiled_code.into(),
types_header: None,
};
@@ -1005,7 +1003,7 @@ impl TsCompiler {
let source_map_file = SourceFile {
url: module_specifier.as_url().to_owned(),
filename: source_map_filename,
- media_type: msg::MediaType::JavaScript,
+ media_type: MediaType::JavaScript,
source_code: source_code.into(),
types_header: None,
};
@@ -1268,7 +1266,7 @@ pub async fn runtime_compile(
serde_json::to_value(module_graph).expect("Failed to serialize data");
let req_msg = json!({
- "type": msg::CompilerRequestType::RuntimeCompile,
+ "type": CompilerRequestType::RuntimeCompile,
"target": "runtime",
"rootNames": root_names,
"sourceFileMap": module_graph_json,
@@ -1379,7 +1377,7 @@ pub async fn runtime_bundle(
tsc_config::json_merge(&mut compiler_options, &bundler_options);
let req_msg = json!({
- "type": msg::CompilerRequestType::RuntimeBundle,
+ "type": CompilerRequestType::RuntimeBundle,
"target": "runtime",
"rootNames": root_names,
"sourceFileMap": module_graph_json,
@@ -1420,7 +1418,7 @@ pub async fn runtime_transpile(
tsc_config::json_merge(&mut compiler_options, &user_options);
let req_msg = json!({
- "type": msg::CompilerRequestType::RuntimeTranspile,
+ "type": CompilerRequestType::RuntimeTranspile,
"sources": sources,
"compilerOptions": compiler_options,
})
@@ -1561,6 +1559,34 @@ fn parse_deno_types(comment: &str) -> Option<String> {
None
}
+// Warning! The values in this enum are duplicated in js/compiler.ts
+// Update carefully!
+#[repr(i32)]
+#[derive(Clone, Copy, PartialEq, Debug)]
+pub enum CompilerRequestType {
+ Compile = 0,
+ Bundle = 1,
+ RuntimeCompile = 2,
+ RuntimeBundle = 3,
+ RuntimeTranspile = 4,
+}
+
+impl Serialize for CompilerRequestType {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: Serializer,
+ {
+ let value: i32 = match self {
+ CompilerRequestType::Compile => 0 as i32,
+ CompilerRequestType::Bundle => 1 as i32,
+ CompilerRequestType::RuntimeCompile => 2 as i32,
+ CompilerRequestType::RuntimeBundle => 3 as i32,
+ CompilerRequestType::RuntimeTranspile => 4 as i32,
+ };
+ Serialize::serialize(&value, serializer)
+ }
+}
+
#[cfg(test)]
mod tests {
use super::*;
@@ -1640,7 +1666,7 @@ mod tests {
let out = SourceFile {
url: specifier.as_url().clone(),
filename: PathBuf::from(p.to_str().unwrap().to_string()),
- media_type: msg::MediaType::TypeScript,
+ media_type: MediaType::TypeScript,
source_code: include_bytes!("./tests/002_hello.ts").to_vec().into(),
types_header: None,
};
@@ -1716,7 +1742,7 @@ mod tests {
let out = SourceFile {
url: specifier.as_url().clone(),
filename: PathBuf::from(p.to_str().unwrap().to_string()),
- media_type: msg::MediaType::TypeScript,
+ media_type: MediaType::TypeScript,
source_code: include_bytes!("./tests/002_hello.ts").to_vec().into(),
types_header: None,
};