HTMLMinifier is a highly configurable, well-tested, Javascript-based HTML minifier, with lint-like capabilities.
See corresponding blog post for all the gory details of how it works, description of each option, testing results and conclusions.
Test suite is available online.
Also see corresponding Grunt plugin.
Installing with npm:
npm install html-minifier
Linting:
npm run lint
Building distribution:
npm run build
Minifiying distribution:
npm run minify
Building & minifying distrubution:
npm run dist
Testing locally:
npm test