{
  "name": "grunt-bg-shell",
  "description": "Better shell commands for grunt. Background/parallel run",
  "version": "2.1.0",
  "author": {
    "name": "rma4ok",
    "email": "rma4ok@gmail.com"
  },
  "contributors": [
    {
      "name": "Matthew Dzaman",
      "email": "matthew@dzaman.org"
    }
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/rma4ok/grunt-bg-shell.git"
  },
  "bugs": {
    "url": "https://github.com/rma4ok/grunt-bg-shell/issues"
  },
  "licenses": [
    {
      "type": "MIT",
      "url": "https://github.com/rma4ok/grunt-bg-shell/blob/master/LICENSE-MIT"
    }
  ],
  "keywords": [
    "gruntplugin",
    "grunt",
    "shell",
    "command",
    "cmd",
    "exec",
    "bash",
    "bg",
    "background",
    "job",
    "async"
  ],
  "main": "Gruntfile.js",
  "engines": {
    "node": ">= 0.8.0"
  },
  "dependencies": {},
  "devDependencies": {
    "grunt": "~0.4.0"
  },
  "peerDependencies": {
    "grunt": "~0.4.0"
  },
  "readme": "grunt-bg-shell\n============\n\nImprove your workflow by running commands in the background and in parallel using [Grunt](https://github.com/gruntjs/grunt). \n\n## Getting Started\n*Note: This plugin requires Grunt `~0.4.0`*\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-bg-shell --save-dev\n```\nThen add the task to your `Gruntfile.js` with this line:\n```js\ngrunt.loadNpmTasks('grunt-bg-shell');\n```\n\n## Sample Usage\n\nFor example, say you want to run your node server and also compile coffeescript and sass/scss files all in the same terminal. You could acheive that with the following config:\n\n```javascript\nmodule.exports = function (grunt) {\n  grunt.initConfig({\n    bgShell: {\n      _defaults: {\n        bg: true\n      },\n      \n      watchCompass: {\n        cmd: 'compass watch'\n      },\n      watchCoffee: {\n        cmd: 'coffee --watch --output lib/ src/'\n      },\n      runNode: {\n        cmd: 'node server.js',\n        bg: false\n      }\n    }\n  });\n  \n  grunt.registerTask('default', 'bgShell:watchCompass bgShell:watchCoffee bgShell:runNode');\n};\n```\n\n## Available Options\n```javascript\nbgShell: {\n  lsTasks: {\n    cmd: 'ls -la', // or function(){return 'ls -la'}\n    execOpts: {\n      cwd: './tasks'\n    },\n    stdout: true,\n    stderr: true,\n    bg: false,\n    fail: false,\n    done: function(){}\n  }     \n}\n```\n* `cmd`: command to execute or `function(){}` that returns a command to execute\n* `execOpts`: options for \n  [`child_process.exec`](http://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback)\n* `stdout`: `true`, `false` or `function(out){}`\n* `stderr`: `true`, `false` or `function(err){}`\n* `bg`: background execution\n* `fail`: fail grunt on error\n* `done`: callback after execution `function(err, stdout, stderr){}`\n \n## Default Options\n```javascript\nbgShell: {\n  _defaults: {\n    execOpts: null,\n    stdout: true,\n    stderr: true,\n    bg: false,\n    fail: false,\n    done: function (err, stdout, stderr) {\n    }\n  },\n}\n```\n",
  "readmeFilename": "README.md",
  "_id": "grunt-bg-shell@2.1.0",
  "_from": "grunt-bg-shell@latest"
}
