From 807093f276a437849c62a2430f4444641ecf9317 Mon Sep 17 00:00:00 2001 From: Issy Long Date: Mon, 12 Aug 2024 18:11:21 +0100 Subject: [PATCH] dev-cmd/typecheck: Support typechecking in taps ```shell $ brew typecheck homebrew/bundle No sorbet/ directory found. Maybe you want to run 'srb init'? A type checker for Ruby Usage: srb Same as "srb t" srb (init | initialize) Initializes the `sorbet` directory srb rbi [options] Manage the `sorbet` directory srb (t | tc | typecheck) [options] Typechecks the code Options: -h, --help View help for this subcommand. --version Show version. For full help: https://sorbet.org Check https://docs.brew.sh/Typechecking for more information on how to resolve these errors. ``` --- Library/Homebrew/dev-cmd/typecheck.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/dev-cmd/typecheck.rb b/Library/Homebrew/dev-cmd/typecheck.rb index fac268dd6f..b75040638a 100644 --- a/Library/Homebrew/dev-cmd/typecheck.rb +++ b/Library/Homebrew/dev-cmd/typecheck.rb @@ -39,19 +39,20 @@ module Homebrew conflicts "--lsp", "--update-all" conflicts "--lsp", "--fix" - named_args :none + named_args :tap end sig { override.void } def run update = args.update? || args.update_all? + directory = args.no_named? ? HOMEBREW_LIBRARY_PATH : args.named.to_paths(only: :tap).first groups = update ? Homebrew.valid_gem_groups : ["typecheck"] Homebrew.install_bundler_gems!(groups:) # Sorbet doesn't use bash privileged mode so we align EUID and UID here. Process::UID.change_privilege(Process.euid) if Process.euid != Process.uid - HOMEBREW_LIBRARY_PATH.cd do + directory.cd do if update workers = args.debug? ? ["--workers=1"] : [] safe_system "bundle", "exec", "tapioca", "dsl", *workers