diff --git a/cli/standalone/binary.rs b/cli/standalone/binary.rs index 2ed52010fb..a357babd40 100644 --- a/cli/standalone/binary.rs +++ b/cli/standalone/binary.rs @@ -575,11 +575,29 @@ impl<'a> DenoCompileBinaryWriter<'a> { None => None, }; let mut vfs = VfsBuilder::new(); + let mut remote_modules_size = 0.0; let npm_snapshot = match self.npm_resolver.as_inner() { InnerCliNpmResolverRef::Managed(managed) => { let snapshot = managed.serialized_valid_snapshot_for_system(&self.npm_system_info); if !snapshot.as_serialized().packages.is_empty() { + let npm_snapshot = managed.snapshot(); + // make sure that graph.npm_packages.is_empty() isn't empty + if !graph.npm_packages.is_empty() { + for module in graph.modules() { + if let deno_graph::Module::Npm(module) = module { + let nv = module.nv_reference.nv(); + if let Ok(package) = + npm_snapshot.resolve_package_from_deno_module(nv) + { + // package.id.clone() is found now + if let Ok(size) = managed.package_size(&package.id) { + remote_modules_size += size as f64; + } + } + } + } + } self.fill_npm_vfs(&mut vfs).context("Building npm vfs.")?; Some(snapshot) } else { @@ -738,6 +756,11 @@ impl<'a> DenoCompileBinaryWriter<'a> { }; output_vfs(&vfs, display_output_filename); + log::info!( + "{} {}\n", + crate::colors::bold("Remote modules size:"), + crate::util::display::human_size(remote_modules_size) + ); let metadata = Metadata { argv: compile_flags.args.clone(), diff --git a/tests/specs/compile/env_vars_support/compile.out b/tests/specs/compile/env_vars_support/compile.out index cba114b1f7..06eace1c19 100644 --- a/tests/specs/compile/env_vars_support/compile.out +++ b/tests/specs/compile/env_vars_support/compile.out @@ -10,3 +10,5 @@ out[WILDLINE] Size: [WILDLINE] +Remote modules size: [WILDLINE] + diff --git a/tests/specs/compile/global_npm_cache_implicit_read_permission/compile.out b/tests/specs/compile/global_npm_cache_implicit_read_permission/compile.out index fa1dd2bf9f..2cfa6b7126 100644 --- a/tests/specs/compile/global_npm_cache_implicit_read_permission/compile.out +++ b/tests/specs/compile/global_npm_cache_implicit_read_permission/compile.out @@ -47,3 +47,5 @@ main[WILDLINE] Size: [WILDLINE] +Remote modules size: [WILDLINE] + diff --git a/tests/specs/compile/include/symlink_twice/compile.out b/tests/specs/compile/include/symlink_twice/compile.out index 6ae93bf1cb..43c94a89c7 100644 --- a/tests/specs/compile/include/symlink_twice/compile.out +++ b/tests/specs/compile/include/symlink_twice/compile.out @@ -9,3 +9,5 @@ main[WILDLINE] Size: [WILDLINE] +Remote modules size: [WILDLINE] + diff --git a/tests/specs/compile/npm_fs/compile.out b/tests/specs/compile/npm_fs/compile.out index c2ecef4015..d8b09b6be7 100644 --- a/tests/specs/compile/npm_fs/compile.out +++ b/tests/specs/compile/npm_fs/compile.out @@ -8,3 +8,5 @@ main[WILDLINE] Size: [WILDLINE] +Remote modules size: [WILDLINE] + diff --git a/tests/testdata/compile/node_modules_symlink_outside/main_compile_folder.out b/tests/testdata/compile/node_modules_symlink_outside/main_compile_folder.out index 538aaa414c..5cb964c8e1 100644 --- a/tests/testdata/compile/node_modules_symlink_outside/main_compile_folder.out +++ b/tests/testdata/compile/node_modules_symlink_outside/main_compile_folder.out @@ -15,3 +15,5 @@ bin[WILDLINE] Size: [WILDLINE] +Remote modules size: [WILDLINE] +