node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Focus and run a subset of watch targets

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-focus --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:


The "focus" task


In your project's Gruntfile, add a section named focus to the data object passed into grunt.initConfig(). Assuming the watch config is set with the targets below, a focus target can be created that is a subset of the watch targets.

  focus: {
    dev: {
      exclude: ['test']
    js: {
      include: ['app', 'lib']
    css: {
      include: ['css']
    test: {}
  watch: {
    app: { ... },
    lib: { ... },
    test: { ... },
    css: { ... }

Then in your registerTask, you would use the focus:target instead of watch.

grunt.registerTask('dev', ['dev_task', 'focus:dev']);
grunt.registerTask('autotest', ['dev_task', 'test_task', 'focus:test']);



Array of watch targets that should be included


Array of watch targets that should be excluded


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2013-07-08: 0.1.0 Initial release
  • 2013-07-08: 0.1.1 Added gruntplugin keyword to get into grunt plugin repo