• Vihang Mehta's avatar
    Speed up arcanist eslint invocation · 9c6196ce
    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:
    ```...
    9c6196ce