web build: don't regenerate if input files are older than output file
Created by: beyang
Previously, these generators would run every time you ran dev/start.sh
, even if none of the input files had been modified since the output file was generated. These were run in parallel with the webpack dev server.
- The generators, when run alone, took ~5s.
- The webpack dev server, when run alone, took ~15s.
- When both were run in parallel, they took 25-30s.
The additional latency appears to have been due to webpack dev server recompiling before the its initial compilation had completed, due to the generated output files being overwritten midway through.
This change reduces the overall time to first GUI availability of enterprise/dev/start.sh
from 40-50s to 25-30s, provided the generated files do not need to be regenerated. It does not affect the recompilation time when enterprise/dev/start.sh
is already running.