if config.jshint is undefined and cfg is undefined, it will throw