Skip to content

Commit

Permalink
dev-cmd/typecheck: Support typechecking in taps
Browse files Browse the repository at this point in the history
```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.
```
  • Loading branch information
issyl0 committed Aug 12, 2024
1 parent eaf0551 commit 807093f
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions Library/Homebrew/dev-cmd/typecheck.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,20 @@ class Typecheck < AbstractCommand
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

Check warning on line 55 in Library/Homebrew/dev-cmd/typecheck.rb

View check run for this annotation

Codecov / codecov/patch

Library/Homebrew/dev-cmd/typecheck.rb#L55

Added line #L55 was not covered by tests
if update
workers = args.debug? ? ["--workers=1"] : []
safe_system "bundle", "exec", "tapioca", "dsl", *workers
Expand Down

0 comments on commit 807093f

Please sign in to comment.