<p dir="auto">I'm running into huge build time issues with webpack. We're using a combination of TypeScript, CoffeeScript, and SCSS. I've tried poking around with disabling source maps and other stuff but it seems like the core issue is that the compilers for these languages are just slow. If I understand correctly, all of these languages have the property where the individual files can be compiled independently and the result will still be valid. Given this 1:1 mapping property it seems like webpack could build much faster with a plugin that maintains a content-addressed map of original files to compiled files on the file system and avoids rebuilding files that haven't changed (using webpack's in-memory watch functionality doesn't work for our use case). However I can't see any documentation about something like this, I can't find a plugin that does this, and I don't see any obvious way of building a plugin like that after poking around in the webpack source code for a bit. Is this something that could be made to work with webpack? Even better, does it already exist?</p>
<p dir="auto">The current watch mode for webpack is fairly good at caching load results and general workload between file changes as long as you keep the same webpack process running. The initial build for some projects, on the other hand, can be on the order of more than a minute. This can make the build process very slow if for some reason you need to stop your watcher, or node crashes, or you simply want to restart your connect server with different flags.</p>
<p dir="auto">It would be nice if webpack were able to persist compilation information between invocations of the node process to the filesystem and reload that cache later -- so ideally, performance between different <code class="notranslate">$ webpack</code> calls would be close to how long it takes to <code class="notranslate">--watch</code> to recompile when it detects a change.</p>