-
Vihang Mehta authored
Summary: arcanist runs eslint once per file which causes us to incur the cost of bringing up the js runtime over and over again. Instead hook into willLint and didLint to run eslint once with all the paths passed in and then parse the combined output. This should significantly speed up `arc lint` on js files. Test Plan: Run `arc lint` on js files. Before: ``` time arc lint src/ui/src/components/auth/auth-box.tsx src/ui/src/components/auth/auth-error.tsx src/ui/src/components/auth/google-button.tsx src/ui/src/components/auth/message.tsx src/ui/src/components/auth/pixienaut-balloon.tsx src/ui/src/components/auth/pixienaut-box.tsx src/ui/src/components/auth/pixienaut-octopus.tsx src/ui/src/components/auth/pixienaut-toilet.tsx src/ui/src/components/auth/signup-marcom.tsx src/ui/src/components/auth/username-password-button.tsx OKAY No lint messages. arc lint src/ui/src/components/auth/auth-box.tsx 117.52s user 4.33s system 704% cpu 17.285 total ``` After: ``` time arc lint src/ui/src/components/auth/auth-box.tsx src/ui/src/components/auth/auth-error.tsx src/ui/src/components/auth/google-button.tsx src/ui/src/components/auth/message.tsx src/ui/src/components/auth/pixienaut-balloon.tsx src/ui/src/components/auth/pixienaut-box.tsx src/ui/src/components/auth/pixienaut-octopus.tsx src/ui/src/components/auth/pixienaut-toilet.tsx src/ui/src/components/auth/signup-marcom.tsx src/ui/src/components/auth/username-password-button.tsx OKAY No lint messages. arc lint src/ui/src/components/auth/auth-box.tsx 16.31s user 0.93s system 158% cpu 10.884 total ``` Reviewers: michelle, zasgar, nlanam Reviewed By: nlanam Differential Revision: https://phab.corp.pixielabs.ai/D9057 GitOrigin-RevId: 6f9151c50f7cc1853dfe5fb55dd48923eb7620fc
9c6196ce