summaryrefslogtreecommitdiff
path: root/cli/tools/run/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/run/mod.rs')
-rw-r--r--cli/tools/run/mod.rs21
1 files changed, 20 insertions, 1 deletions
diff --git a/cli/tools/run/mod.rs b/cli/tools/run/mod.rs
index 152e2650b..8fab544ec 100644
--- a/cli/tools/run/mod.rs
+++ b/cli/tools/run/mod.rs
@@ -30,6 +30,16 @@ To grant permissions, set them before the script argument. For example:
}
}
+fn set_npm_user_agent() {
+ static ONCE: std::sync::Once = std::sync::Once::new();
+ ONCE.call_once(|| {
+ std::env::set_var(
+ crate::npm::NPM_CONFIG_USER_AGENT_ENV_VAR,
+ crate::npm::get_npm_config_user_agent(),
+ );
+ });
+}
+
pub async fn run_script(
mode: WorkerExecutionMode,
flags: Arc<Flags>,
@@ -58,6 +68,10 @@ pub async fn run_script(
let main_module = cli_options.resolve_main_module()?;
+ if main_module.scheme() == "npm" {
+ set_npm_user_agent();
+ }
+
maybe_npm_install(&factory).await?;
let worker_factory = factory.create_cli_main_worker_factory().await?;
@@ -110,7 +124,8 @@ async fn run_with_watch(
!watch_flags.no_clear_screen,
),
WatcherRestartMode::Automatic,
- move |flags, watcher_communicator, _changed_paths| {
+ move |flags, watcher_communicator, changed_paths| {
+ watcher_communicator.show_path_changed(changed_paths.clone());
Ok(async move {
let factory = CliFactory::from_flags_for_watcher(
flags,
@@ -119,6 +134,10 @@ async fn run_with_watch(
let cli_options = factory.cli_options()?;
let main_module = cli_options.resolve_main_module()?;
+ if main_module.scheme() == "npm" {
+ set_npm_user_agent();
+ }
+
maybe_npm_install(&factory).await?;
let _ = watcher_communicator.watch_paths(cli_options.watch_paths());