From 2e1ab8232156a23afd22834c1e707fb3403c0db6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 31 Jul 2019 19:16:03 +0200 Subject: refactor: cleanup compiler pipeline (#2686) * remove fetch_source_file_and_maybe_compile_async and replace it with State.fetch_compiled_module * remove SourceFile.js_source() * introduce CompiledModule which is basically the same as deno::SourceInfo and represents arbitrary file that has been compiled to JS module * introduce //cli/compilers module containing all compilers * introduce JsCompiler which is a no-op compiler - output is the same as input, no compilation takes place - it is used for MediaType::JavaScript and MediaType::Unknown * introduce JsonCompiler that wraps JSON in default export * support JS-to-JS compilation using checkJs --- cli/compilers/mod.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 cli/compilers/mod.rs (limited to 'cli/compilers/mod.rs') diff --git a/cli/compilers/mod.rs b/cli/compilers/mod.rs new file mode 100644 index 000000000..fdc18d2bc --- /dev/null +++ b/cli/compilers/mod.rs @@ -0,0 +1,20 @@ +// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. +use deno::ErrBox; +use futures::Future; + +mod js; +mod json; +mod ts; + +pub use js::JsCompiler; +pub use json::JsonCompiler; +pub use ts::TsCompiler; + +#[derive(Debug, Clone)] +pub struct CompiledModule { + pub code: String, + pub name: String, +} + +pub type CompiledModuleFuture = + dyn Future + Send; -- cgit v1.2.3