summaryrefslogtreecommitdiff
path: root/cli/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'cli/compilers')
-rw-r--r--cli/compilers/mod.rs1
-rw-r--r--cli/compilers/ts.rs14
2 files changed, 13 insertions, 2 deletions
diff --git a/cli/compilers/mod.rs b/cli/compilers/mod.rs
index f4aac3681..a2abbe2aa 100644
--- a/cli/compilers/mod.rs
+++ b/cli/compilers/mod.rs
@@ -13,6 +13,7 @@ pub use js::JsCompiler;
pub use json::JsonCompiler;
pub use ts::runtime_compile_async;
pub use ts::runtime_transpile_async;
+pub use ts::TargetLib;
pub use ts::TsCompiler;
pub use wasm::WasmCompiler;
diff --git a/cli/compilers/ts.rs b/cli/compilers/ts.rs
index 946617fa5..5aa299518 100644
--- a/cli/compilers/ts.rs
+++ b/cli/compilers/ts.rs
@@ -37,6 +37,12 @@ lazy_static! {
Regex::new(r#""checkJs"\s*?:\s*?true"#).unwrap();
}
+#[derive(Clone, Copy)]
+pub enum TargetLib {
+ Main,
+ Worker,
+}
+
/// Struct which represents the state of the compiler
/// configuration where the first is canonical name for the configuration file,
/// second is a vector of the bytes of the contents of the configuration file,
@@ -318,6 +324,7 @@ impl TsCompiler {
&self,
global_state: ThreadSafeGlobalState,
source_file: &SourceFile,
+ target: TargetLib,
) -> Pin<Box<CompiledModuleFuture>> {
if self.has_compiled(&source_file.url) {
return match self.get_compiled_module(&source_file.url) {
@@ -360,7 +367,10 @@ impl TsCompiler {
&source_file.url
);
- let target = "main";
+ let target = match target {
+ TargetLib::Main => "main",
+ TargetLib::Worker => "worker",
+ };
let root_names = vec![module_url.to_string()];
let req_msg = req(
@@ -710,7 +720,7 @@ mod tests {
let fut = async move {
let result = mock_state
.ts_compiler
- .compile_async(mock_state.clone(), &out)
+ .compile_async(mock_state.clone(), &out, TargetLib::Main)
.await;
assert!(result.is_ok());