diff options
Diffstat (limited to 'runtime/shared.rs')
-rw-r--r-- | runtime/shared.rs | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/runtime/shared.rs b/runtime/shared.rs index 04fcdcfdb..fc91be145 100644 --- a/runtime/shared.rs +++ b/runtime/shared.rs @@ -7,8 +7,9 @@ use deno_ast::SourceTextInfo; use deno_core::error::AnyError; use deno_core::extension; use deno_core::Extension; -use deno_core::ExtensionFileSource; -use deno_core::ExtensionFileSourceCode; +use deno_core::ModuleCodeString; +use deno_core::ModuleName; +use deno_core::SourceMapData; use std::path::Path; extension!(runtime, @@ -56,36 +57,38 @@ extension!(runtime, customizer = |ext: &mut Extension| { #[cfg(not(feature = "exclude_runtime_main_js"))] { - ext.esm_files.to_mut().push(ExtensionFileSource::new("ext:runtime_main/js/99_main.js", include_str!("./js/99_main.js"))); + use deno_core::ascii_str_include; + use deno_core::ExtensionFileSource; + ext.esm_files.to_mut().push(ExtensionFileSource::new("ext:runtime_main/js/99_main.js", ascii_str_include!("./js/99_main.js"))); ext.esm_entry_point = Some("ext:runtime_main/js/99_main.js"); } } ); pub fn maybe_transpile_source( - source: &mut ExtensionFileSource, -) -> Result<(), AnyError> { + name: ModuleName, + source: ModuleCodeString, +) -> Result<(ModuleCodeString, Option<SourceMapData>), AnyError> { // Always transpile `node:` built-in modules, since they might be TypeScript. - let media_type = if source.specifier.starts_with("node:") { + let media_type = if name.starts_with("node:") { MediaType::TypeScript } else { - MediaType::from_path(Path::new(&source.specifier)) + MediaType::from_path(Path::new(&name)) }; match media_type { MediaType::TypeScript => {} - MediaType::JavaScript => return Ok(()), - MediaType::Mjs => return Ok(()), + MediaType::JavaScript => return Ok((source, None)), + MediaType::Mjs => return Ok((source, None)), _ => panic!( "Unsupported media type for snapshotting {media_type:?} for file {}", - source.specifier + name ), } - let code = source.load()?; let parsed = deno_ast::parse_module(ParseParams { - specifier: deno_core::url::Url::parse(source.specifier).unwrap(), - text_info: SourceTextInfo::from_string(code.as_str().to_owned()), + specifier: deno_core::url::Url::parse(&name).unwrap(), + text_info: SourceTextInfo::from_string(source.as_str().to_owned()), media_type, capture_tokens: false, scope_analysis: false, @@ -97,7 +100,5 @@ pub fn maybe_transpile_source( ..Default::default() })?; - source.code = - ExtensionFileSourceCode::Computed(transpiled_source.text.into()); - Ok(()) + Ok((transpiled_source.text.into(), None)) } |