diff options
Diffstat (limited to 'cli/module_loader.rs')
-rw-r--r-- | cli/module_loader.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/cli/module_loader.rs b/cli/module_loader.rs index 235c35fcd..05dd5bd73 100644 --- a/cli/module_loader.rs +++ b/cli/module_loader.rs @@ -67,10 +67,7 @@ impl CliModuleLoader { let found_url = graph_data.follow_redirect(specifier); match graph_data.get(&found_url) { Some(ModuleEntry::Module { - code, - media_type, - maybe_parsed_source, - .. + code, media_type, .. }) => { let code = match media_type { MediaType::JavaScript @@ -92,11 +89,12 @@ impl CliModuleLoader { | MediaType::Jsx | MediaType::Tsx => { // get emit text - let parsed_source = maybe_parsed_source.as_ref().unwrap(); // should always be set emit_parsed_source( &self.ps.emit_cache, + &self.ps.parsed_source_cache, &found_url, - parsed_source, + *media_type, + code, &self.ps.emit_options, self.ps.emit_options_hash, )? @@ -105,6 +103,10 @@ impl CliModuleLoader { panic!("Unexpected media type {} for {}", media_type, found_url) } }; + + // at this point, we no longer need the parsed source in memory, so free it + self.ps.parsed_source_cache.free(specifier); + Ok(ModuleCodeSource { code, found_url, |