diff options
| author | Ryan Dahl <ry@tinyclouds.org> | 2020-09-15 10:33:14 -0400 |
|---|---|---|
| committer | Ryan Dahl <ry@tinyclouds.org> | 2020-09-15 11:55:51 -0400 |
| commit | b2fa903d64c74d64685397bbf4e98b031371d346 (patch) | |
| tree | 5ccce52353e86c355915bcd8246502e4deac1774 /cli/tsc.rs | |
| parent | 68099acbc6d816170ac60d33e4cd730d88dad5de (diff) | |
cli/msg.rs -> cli/media_type.rs
Diffstat (limited to 'cli/tsc.rs')
| -rw-r--r-- | cli/tsc.rs | 54 |
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, }; |
