diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2019-07-31 19:16:03 +0200 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-07-31 13:16:03 -0400 |
commit | 2e1ab8232156a23afd22834c1e707fb3403c0db6 (patch) | |
tree | 933b5a33aaa27ce359c9b7133a4718baaa730db7 /cli/compilers/mod.rs | |
parent | e7cee29c849286f9b492eb404634a0387b9a75a0 (diff) |
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
Diffstat (limited to 'cli/compilers/mod.rs')
-rw-r--r-- | cli/compilers/mod.rs | 20 |
1 files changed, 20 insertions, 0 deletions
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<Item = CompiledModule, Error = ErrBox> + Send; |