fix: panic in offline linter + handling stdin #10576
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follow-up to #10059 and #10559
The offline linter is working well in ideal scenarios, I am linting a set of files/directory in 5 seconds where it used to take ~5 minutes
However, I did find issues after testing some more:
Given an non-existent file, it panics (I inverted the
info.IsDir()
statement and the one checking for errors)There's a disconnect between the
filepath.Walk
in the linter and the one building the offline client which means that there were other issues (such as stdin not working)To fix those issues once and for all, I extracted the walk func to a common path (
file.WalkManifests
); that way, we are sure that changes are always reflected in both locationsI also added some tests for non-existent files as well as offline linting from stdin
make pre-commit -B
to fix codegen and lint problems.