I am starting a new project - a reasonably large application - that features just JavaScript code (excepting a little HTML/CSS) and have been giving some thought to a suitable build process and the tooling options available. I'd love to hear from anyone who has had similar choices to make recently.
Some requirements
I do have some essential requirements (I might add more bells and whistles later, but these are really necessary):
- Minification of code: I'd like the option to be really aggressive with this for staging/production builds (think Closure Compiler with advanced optimisations.)
- Code quality checking: JSLint or similar - something to throw up any glaring issues with the code.
- Unit testing: I have a very strong preference for JsTestDriver when it comes to unit testing JS - the ability to test multiple browsers simultaneously (and quickly!) and to automate easily are the main attractions. That said, I'd happily look into alternatives.
- Continuous integration-friendly: we make use of a CI server (BuildBot, for the record) and any build script(s) would have to be easily automated.
Possible solutions
I've already thought of a couple of possibilities (some details are guesswork, do correct me):
Ant
Pros:
- Seems to involve the least work, not least because of the excellent HTML5 Boilerplate build script as a starting point
- Many tools are written (or have wrappers) in Java - including JSLint/Hint, Closure Compiler and JsTestDriver
- Ant scripts are standard fare when it comes to