Skip to content

Commit 4d3d78d

Browse files
committed
revert progress bar changes
1 parent 3a1b9d2 commit 4d3d78d

File tree

21 files changed

+61
-157
lines changed

21 files changed

+61
-157
lines changed

cli/factory.rs

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ struct CliFactoryServices {
314314
resolver_factory: Deferred<Arc<CliResolverFactory>>,
315315
root_cert_store_provider: Deferred<Arc<dyn RootCertStoreProvider>>,
316316
root_permissions_container: Deferred<PermissionsContainer>,
317-
text_only_progress_bar: Deferred<Option<ProgressBar>>,
317+
text_only_progress_bar: Deferred<ProgressBar>,
318318
type_checker: Deferred<Arc<TypeChecker>>,
319319
workspace_factory: Deferred<Arc<CliWorkspaceFactory>>,
320320
install_reporter:
@@ -441,23 +441,11 @@ impl CliFactory {
441441
})
442442
}
443443

444-
pub fn text_only_progress_bar(
445-
&self,
446-
) -> Result<Option<&ProgressBar>, AnyError> {
444+
pub fn text_only_progress_bar(&self) -> &ProgressBar {
447445
self
448446
.services
449447
.text_only_progress_bar
450-
.get_or_try_init(|| {
451-
if matches!(
452-
self.cli_options()?.sub_command(),
453-
DenoSubcommand::Install(_)
454-
) {
455-
Ok(None)
456-
} else {
457-
Ok(Some(ProgressBar::new(ProgressBarStyle::TextOnly)))
458-
}
459-
})
460-
.map(|opt| opt.as_ref())
448+
.get_or_init(|| ProgressBar::new(ProgressBarStyle::TextOnly))
461449
}
462450

463451
pub fn global_http_cache(&self) -> Result<&Arc<GlobalHttpCache>, AnyError> {
@@ -504,15 +492,8 @@ impl CliFactory {
504492
CreateCliFileFetcherOptions {
505493
allow_remote: !cli_options.no_remote(),
506494
cache_setting: cli_options.cache_setting(),
507-
download_log_level: if matches!(
508-
cli_options.sub_command(),
509-
DenoSubcommand::Install(_)
510-
) {
511-
log::Level::Trace
512-
} else {
513-
log::Level::Info
514-
},
515-
progress_bar: self.text_only_progress_bar()?.cloned(),
495+
download_log_level: log::Level::Info,
496+
progress_bar: Some(self.text_only_progress_bar().clone()),
516497
},
517498
)))
518499
})
@@ -572,7 +553,7 @@ impl CliFactory {
572553
resolver_factory.clone(),
573554
Arc::new(CliNpmCacheHttpClient::new(
574555
self.http_client_provider().clone(),
575-
self.text_only_progress_bar()?.cloned(),
556+
self.text_only_progress_bar().clone(),
576557
)),
577558
match resolver_factory.npm_resolver()?.as_managed() {
578559
Some(managed_npm_resolver) => Arc::new(
@@ -581,7 +562,7 @@ impl CliFactory {
581562
as Arc<dyn LifecycleScriptsExecutor>,
582563
None => Arc::new(NullLifecycleScriptsExecutor),
583564
},
584-
self.text_only_progress_bar()?.cloned(),
565+
self.text_only_progress_bar().clone(),
585566
self
586567
.install_reporter()?
587568
.cloned()
@@ -608,7 +589,7 @@ impl CliFactory {
608589
.services
609590
.install_reporter
610591
.get_or_try_init(|| match self.cli_options()?.sub_command() {
611-
DenoSubcommand::Install(_) => Ok(Some(Arc::new(
592+
DenoSubcommand::Install(InstallFlags::Local(_)) => Ok(Some(Arc::new(
612593
crate::tools::installer::InstallReporter::new(),
613594
))),
614595
_ => Ok(None),
@@ -787,7 +768,7 @@ impl CliFactory {
787768
self.npm_installer_if_managed().await?.cloned(),
788769
self.npm_resolver().await?.clone(),
789770
self.resolver_factory()?.parsed_source_cache().clone(),
790-
self.text_only_progress_bar()?.cloned(),
771+
self.text_only_progress_bar().clone(),
791772
self.resolver().await?.clone(),
792773
self.root_permissions_container()?.clone(),
793774
self.sys(),
@@ -866,7 +847,7 @@ impl CliFactory {
866847
cli_options.clone(),
867848
self.maybe_lockfile().await?.cloned(),
868849
self.module_graph_builder().await?.clone(),
869-
self.text_only_progress_bar()?.cloned(),
850+
self.text_only_progress_bar().clone(),
870851
self.type_checker().await?.clone(),
871852
)))
872853
}

cli/graph_util.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,7 @@ pub struct ModuleGraphBuilder {
611611
npm_installer: Option<Arc<CliNpmInstaller>>,
612612
npm_resolver: CliNpmResolver,
613613
parsed_source_cache: Arc<ParsedSourceCache>,
614-
progress_bar: Option<ProgressBar>,
614+
progress_bar: ProgressBar,
615615
resolver: Arc<CliResolver>,
616616
root_permissions_container: PermissionsContainer,
617617
sys: CliSys,
@@ -635,7 +635,7 @@ impl ModuleGraphBuilder {
635635
npm_installer: Option<Arc<CliNpmInstaller>>,
636636
npm_resolver: CliNpmResolver,
637637
parsed_source_cache: Arc<ParsedSourceCache>,
638-
progress_bar: Option<ProgressBar>,
638+
progress_bar: ProgressBar,
639639
resolver: Arc<CliResolver>,
640640
root_permissions_container: PermissionsContainer,
641641
sys: CliSys,
@@ -684,10 +684,7 @@ impl ModuleGraphBuilder {
684684
}
685685
}
686686

687-
let _clear_guard = self
688-
.progress_bar
689-
.as_ref()
690-
.map(|p| p.deferred_keep_initialize_alive());
687+
let _clear_guard = self.progress_bar.deferred_keep_initialize_alive();
691688
let analyzer = self.module_info_cache.as_module_analyzer();
692689
let mut loader = match options.loader {
693690
Some(loader) => MutLoaderRef::Borrowed(loader),

cli/http_util.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,10 +269,10 @@ impl HttpClient {
269269
&self,
270270
url: Url,
271271
headers: &HeaderMap,
272-
progress_guard: Option<&UpdateGuard>,
272+
progress_guard: &UpdateGuard,
273273
) -> Result<HttpClientResponse, DownloadError> {
274274
crate::util::retry::retry(
275-
|| self.download_inner(url.clone(), headers, progress_guard),
275+
|| self.download_inner(url.clone(), headers, Some(progress_guard)),
276276
|e| {
277277
matches!(
278278
e.as_kind(),

cli/lsp/config.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1456,10 +1456,10 @@ impl ConfigData {
14561456
.cloned()
14571457
// will only happen in the tests
14581458
.unwrap_or_else(|| Arc::new(HttpClientProvider::new(None, None))),
1459-
Some(pb.clone()),
1459+
pb.clone(),
14601460
)),
14611461
Arc::new(NullLifecycleScriptsExecutor),
1462-
Some(pb),
1462+
pb,
14631463
None,
14641464
NpmInstallerFactoryOptions {
14651465
cache_setting: NpmCacheSetting::Use,

cli/lsp/resolver.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -861,7 +861,7 @@ impl<'a> ResolverFactory<'a> {
861861
let pb = ProgressBar::new(ProgressBarStyle::TextOnly);
862862
let npm_client = Arc::new(CliNpmCacheHttpClient::new(
863863
http_client_provider.clone(),
864-
Some(pb.clone()),
864+
pb.clone(),
865865
));
866866
let registry_info_provider = Arc::new(CliNpmRegistryInfoProvider::new(
867867
npm_cache.clone(),
@@ -917,7 +917,7 @@ impl<'a> ResolverFactory<'a> {
917917
self.services.npm_resolution.clone(),
918918
npm_resolution_initializer.clone(),
919919
npm_resolution_installer,
920-
Some(&pb),
920+
&pb,
921921
sys.clone(),
922922
tarball_cache.clone(),
923923
maybe_lockfile,

cli/module_loader.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ pub struct ModuleLoadPreparer {
130130
options: Arc<CliOptions>,
131131
lockfile: Option<Arc<CliLockfile>>,
132132
module_graph_builder: Arc<ModuleGraphBuilder>,
133-
progress_bar: Option<ProgressBar>,
133+
progress_bar: ProgressBar,
134134
type_checker: Arc<TypeChecker>,
135135
}
136136

@@ -152,7 +152,7 @@ impl ModuleLoadPreparer {
152152
options: Arc<CliOptions>,
153153
lockfile: Option<Arc<CliLockfile>>,
154154
module_graph_builder: Arc<ModuleGraphBuilder>,
155-
progress_bar: Option<ProgressBar>,
155+
progress_bar: ProgressBar,
156156
type_checker: Arc<TypeChecker>,
157157
) -> Self {
158158
Self {
@@ -183,10 +183,7 @@ impl ModuleLoadPreparer {
183183
allow_unknown_media_types,
184184
skip_graph_roots_validation,
185185
} = options;
186-
let _pb_clear_guard = self
187-
.progress_bar
188-
.as_ref()
189-
.map(|pb| pb.deferred_keep_initialize_alive());
186+
let _pb_clear_guard = self.progress_bar.deferred_keep_initialize_alive();
190187

191188
let mut loader = self
192189
.module_graph_builder
@@ -276,10 +273,7 @@ impl ModuleLoadPreparer {
276273
.collect::<Vec<_>>()
277274
.join(", ")
278275
);
279-
let _pb_clear_guard = self
280-
.progress_bar
281-
.as_ref()
282-
.map(|pb| pb.deferred_keep_initialize_alive());
276+
let _pb_clear_guard = self.progress_bar.deferred_keep_initialize_alive();
283277

284278
let mut loader = self
285279
.module_graph_builder

cli/npm.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,13 @@ pub type CliNpmGraphResolver = deno_npm_installer::graph::NpmDenoGraphResolver<
6666
#[derive(Debug)]
6767
pub struct CliNpmCacheHttpClient {
6868
http_client_provider: Arc<HttpClientProvider>,
69-
progress_bar: Option<ProgressBar>,
69+
progress_bar: ProgressBar,
7070
}
7171

7272
impl CliNpmCacheHttpClient {
7373
pub fn new(
7474
http_client_provider: Arc<HttpClientProvider>,
75-
progress_bar: Option<ProgressBar>,
75+
progress_bar: ProgressBar,
7676
) -> Self {
7777
Self {
7878
http_client_provider,
@@ -89,7 +89,7 @@ impl deno_npm_cache::NpmCacheHttpClient for CliNpmCacheHttpClient {
8989
maybe_auth: Option<String>,
9090
maybe_etag: Option<String>,
9191
) -> Result<NpmCacheHttpClientResponse, deno_npm_cache::DownloadError> {
92-
let guard = self.progress_bar.as_ref().map(|pb| pb.update(url.as_str()));
92+
let guard = self.progress_bar.update(url.as_str());
9393
let client = self.http_client_provider.get_or_create().map_err(|err| {
9494
deno_npm_cache::DownloadError {
9595
status_code: None,
@@ -110,7 +110,7 @@ impl deno_npm_cache::NpmCacheHttpClient for CliNpmCacheHttpClient {
110110
);
111111
}
112112
client
113-
.download_with_progress_and_retries(url, &headers, guard.as_ref())
113+
.download_with_progress_and_retries(url, &headers, &guard)
114114
.await
115115
.map(|response| match response {
116116
crate::http_util::HttpClientResponse::Success { headers, body } => {

cli/standalone/binary.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ impl<'a> DenoCompileBinaryWriter<'a> {
339339
.download_with_progress_and_retries(
340340
download_url.parse()?,
341341
&Default::default(),
342-
Some(&progress),
342+
&progress,
343343
)
344344
.await?
345345
};

cli/tools/installer/mod.rs

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ use std::os::unix::fs::PermissionsExt;
1111
use std::path::Path;
1212
use std::path::PathBuf;
1313
use std::sync::Arc;
14-
use std::sync::atomic::AtomicBool;
1514
use std::sync::atomic::AtomicUsize;
1615
use std::sync::atomic::Ordering;
1716

@@ -21,7 +20,6 @@ use deno_core::anyhow::Context;
2120
use deno_core::anyhow::anyhow;
2221
use deno_core::anyhow::bail;
2322
use deno_core::error::AnyError;
24-
use deno_core::parking_lot::Mutex;
2523
use deno_core::url::Url;
2624
use deno_lib::args::CaData;
2725
use deno_path_util::resolve_url_or_path;
@@ -415,46 +413,6 @@ pub(crate) async fn install_from_entrypoints(
415413
.await
416414
}
417415

418-
#[derive(Debug)]
419-
struct InstallProgressBar {
420-
stats: Arc<InstallStats>,
421-
done: Mutex<tokio::sync::oneshot::Receiver<()>>,
422-
done_for_sure: AtomicBool,
423-
}
424-
425-
impl crate::util::draw_thread::DrawThreadRenderer for InstallProgressBar {
426-
fn render(&self, _size: &deno_runtime::ops::tty::ConsoleSize) -> String {
427-
let done = self.done.lock().try_recv().is_ok()
428-
|| self.done_for_sure.load(Ordering::Relaxed);
429-
if done {
430-
self.done_for_sure.store(true, Ordering::Relaxed);
431-
return "".to_string();
432-
}
433-
format!(
434-
"Progress: resolved {}, reused: {}, downloaded: {}, added: {}{}",
435-
deno_terminal::colors::cyan(
436-
self.stats.resolved_npm.len() + self.stats.resolved_jsr.len()
437-
),
438-
deno_terminal::colors::cyan(
439-
self.stats.reused_npm.get() + self.stats.reused_jsr.len()
440-
),
441-
deno_terminal::colors::cyan(
442-
self.stats.downloaded_npm.get() + self.stats.downloaded_jsr.len()
443-
),
444-
deno_terminal::colors::cyan(
445-
self.stats.intialized_npm.len() + self.stats.downloaded_jsr.len()
446-
),
447-
if self.done.lock().try_recv().is_ok()
448-
|| self.done_for_sure.load(Ordering::Relaxed)
449-
{
450-
", done"
451-
} else {
452-
""
453-
}
454-
)
455-
}
456-
}
457-
458416
async fn install_local(
459417
flags: Arc<Flags>,
460418
install_flags: InstallFlagsLocal,
@@ -484,16 +442,6 @@ async fn install_top_level(factory: &CliFactory) -> Result<(), AnyError> {
484442

485443
// set up the custom progress bar
486444
let install_reporter = factory.install_reporter()?.unwrap().clone();
487-
let (done_tx, done_rx) = tokio::sync::oneshot::channel();
488-
let progress_bar = Arc::new(InstallProgressBar {
489-
stats: install_reporter.stats.clone(),
490-
done: Mutex::new(done_rx),
491-
done_for_sure: AtomicBool::new(false),
492-
});
493-
494-
let _guard =
495-
crate::util::draw_thread::DrawThread::add_entry(progress_bar.clone());
496-
crate::util::draw_thread::DrawThread::show();
497445

498446
// the actual work
499447
crate::tools::pm::cache_top_level_deps(factory, None).await?;
@@ -557,9 +505,6 @@ async fn install_top_level(factory: &CliFactory) -> Result<(), AnyError> {
557505
}
558506
}
559507

560-
done_tx.send(()).unwrap();
561-
crate::util::draw_thread::DrawThread::hide();
562-
563508
let mut installed_normal_deps = Vec::new();
564509
let mut installed_dev_deps = Vec::new();
565510

cli/tools/pm/cache_deps.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ pub async fn cache_top_level_deps(
2626
jsr_resolver: Option<Arc<crate::jsr::JsrFetchResolver>>,
2727
) -> Result<(), AnyError> {
2828
let _clear_guard = factory
29-
.text_only_progress_bar()?
30-
.as_ref()
31-
.map(|pb| pb.deferred_keep_initialize_alive());
29+
.text_only_progress_bar()
30+
.deferred_keep_initialize_alive();
3231
let npm_installer = factory.npm_installer().await?;
3332
npm_installer
3433
.ensure_top_level_package_json_install()

0 commit comments

Comments
 (0)