From db317d969389d3997bc6ef0a9aeeb206cbe84c62 Mon Sep 17 00:00:00 2001 From: Titus Fortner Date: Mon, 18 May 2026 07:35:04 -0500 Subject: [PATCH 1/2] [js] remove npm dependency by using bazel for everything --- package.json | 1 - rake_tasks/node.rake | 7 +++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ba4ab8a64881e..362f1ef568291 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,5 @@ { "name": "selenium", - "packageManager": "pnpm@9.15.4", "workspaces": [ "javascript/grid-ui", "javascript/selenium-webdriver" diff --git a/rake_tasks/node.rake b/rake_tasks/node.rake index b80294c697c08..6285d9ad63b56 100644 --- a/rake_tasks/node.rake +++ b/rake_tasks/node.rake @@ -111,12 +111,11 @@ task :docs_generate do Bazel.execute('run', [], '//javascript/selenium-webdriver:docs') end -desc 'Install Node package locally via npm link' +desc 'Install Node package locally via pnpm link' task :install do Bazel.execute('build', [], '//javascript/selenium-webdriver') - Dir.chdir('bazel-bin/javascript/selenium-webdriver/selenium-webdriver') do - sh 'npm', 'link' - end + pkg_dir = File.expand_path('bazel-bin/javascript/selenium-webdriver/selenium-webdriver') + Bazel.execute('run', ['--', '--dir', pkg_dir, 'link', '--global'], '@pnpm//:pnpm') end desc 'Update JavaScript changelog' From 9630c529d41d0299660ff543a05c2a27ed708592 Mon Sep 17 00:00:00 2001 From: Titus Fortner Date: Mon, 18 May 2026 08:18:58 -0500 Subject: [PATCH 2/2] [build] fix argument handling for bazel commands run from rake on windows --- rake_tasks/bazel.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rake_tasks/bazel.rb b/rake_tasks/bazel.rb index 4d6f2332731be..277e7aa7a05f7 100644 --- a/rake_tasks/bazel.rb +++ b/rake_tasks/bazel.rb @@ -25,8 +25,8 @@ def self.execute(kind, args, target, &block) puts "Executing: #{cmd.join(' ')}" if windows? - cmd += ['2>&1'] - cmd_line = cmd.join(' ') + quoted = cmd.map { |a| a.match?(/[\s"]/) ? %("#{a.gsub('"', '\\"')}") : a } + cmd_line = "#{quoted.join(' ')} 2>&1" cmd_out = `#{cmd_line}`.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '') puts cmd_out if verbose cmd_exit_code = $CHILD_STATUS