Open urls and files from a grunt task
Last updated a year ago by jsoverson .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install grunt-open 
SYNC missed versions from official npm registry.


Open urls and files from a grunt task


Install using npm in the root of your project directory (where your package.json and Gruntfile.js are located)

npm install --save-dev grunt-open


This is used as part of your grunt tasks, between the server and watch tasks

grunt.registerTask('default', ['server', 'open', 'watch']);

You can specify different configurations so that you can set up task chains (see the configuration below for this example's config)

grunt.registerTask('dev', ['server', 'open:dev', 'watch']);
grunt.registerTask('build', ['build', 'server', 'open:build', 'watch:build');

Gruntfile Configuration

This is a very simple task and takes two configuration parameters, path (required) and app (optional). If app is not specified, the default system browser will be launched

  open : {
    dev : {
      path: '',
      app: 'Google Chrome'
    build : {
      path : '',
      app: 'Firefox'
    file : {
      path : '/etc/hosts'
    custom: {
      path : function () {
        return grunt.option('path');




Type: String

While it may not be common, you may want to delay the opening of your path at a later time of the grunt process. The option openOn allows you to define an event (coming through from grunt.event) that would signal the expected triggering of open. Example:

  open: {
    delayed: {
      path: 'http://localhost:3000',
      app: 'Google Chrome',
      options: {
        openOn: 'serverListening'

grunt.registerTask('server', function () {
  var server = require('myServer');
  server.listen(3000, function (err) {
    if (!err) {
      grunt.log.writeln('Server started');
      grunt.event.emit('serverListening'); // triggers open:delayed


Type : Number

Set a delay for the open. Note: This task moves on immediately. If this is the last task in your chain you run the risk of node exiting before your open is called.


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

  • 0.2.3 merged support for functions in config, added delay, merged openOn
  • 0.2.2 added app parameter.
  • 0.2.0 grunt 0.4.0 support, added and preferring path parameter.
  • 0.1.0 initial release


MIT License, see LICENSE for details.

Current Tags

  • 0.2.4                                ...           latest (a year ago)

6 Versions

  • 0.2.4                                ...           a year ago
  • 0.2.3                                ...           6 years ago
  • 0.2.2                                ...           7 years ago
  • 0.2.1                                ...           7 years ago
  • 0.2.0                                ...           7 years ago
  • 0.1.0                                ...           8 years ago

Copyright 2014 - 2016 © |