Given a complex dep graph, produce the defined output whilst demonstrating the following capabilities:
- Intelligent watch. When building a Sass file, e.g.
main.scss
, the build tool should rebuild if I change any of the files in the dependency graph (e.g.main.scss
using Sass’@import
to pull infoo.scss
)) - Piping source maps. E.g.:
main.js
->uglify
->concat
withfoo.js
->bar.js
. The output file,bar.js
, should have a source map that maps back tomain.js
- Caching. E.g.:
main.js
->uglify
->concat
withfoo.js
->bar.js
. Since the last build,foo.js
has changed butmain.js
has not. The build tool should re-use the previousuglify
result.
The build tool can be reviewed by the config necessary for achieving the above. Perhaps you could achieve all of these with the naïvest of build tools, but in my opinion, the best tool will have the simplest result: a demonstration of all of the above without any config.