But I'm generally working in a (human & financially) resource-constrained environment.
I'm not aware of eslint rules which would complain about some other untouched file if types have changed in ways such that the program still compiles
https://typescript-eslint.io/rules/await-thenable/
https://typescript-eslint.io/rules/no-for-in-array
https://typescript-eslint.io/rules/no-duplicate-type-constit...
ESLint could also cache things fairly trivially:
hash = hash_file_contents()
if previously_seen_hashes.contains(hash)
report_previous_results()
else
run_lint_and_cache_results()
end
maybe that already exists. But that has the same problem.When you've got enough hardware to throw at it, then "just run it on the full code" is the safest.
I'm not sure if Eslint does this either, but indices or some incremental static analysis sounds like it could help the linter minimize rechecks or use previous state.
I'm not sure how well this could scale across (600- 1000?) different lints though. I should look into static analysis a bit more.
If a file has been linted, is unchanged since it was linted, there's literally no need to lint it again. Much like if you only need to process one record, you don't query the whole table to get the record.