Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dylang/grunt-notify
Automatic Notifications when Grunt tasks fail.
https://github.com/dylang/grunt-notify
Last synced: 3 months ago
JSON representation
Automatic Notifications when Grunt tasks fail.
- Host: GitHub
- URL: https://github.com/dylang/grunt-notify
- Owner: dylang
- License: mit
- Archived: true
- Created: 2012-12-29T00:51:24.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2020-03-02T18:40:19.000Z (almost 5 years ago)
- Last Synced: 2024-08-30T10:10:42.036Z (4 months ago)
- Language: JavaScript
- Homepage: https://npmjs.org/package/grunt-notify
- Size: 1.87 MB
- Stars: 921
- Watchers: 19
- Forks: 73
- Open Issues: 54
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
## grunt-notify [![Build Status](http://img.shields.io/travis/dylang/grunt-notify.svg)](https://travis-ci.org/dylang/grunt-notify) [![grunt-notify](http://img.shields.io/npm/dm/grunt-notify.svg)](https://www.npmjs.org/package/grunt-notify)
> Automatic desktop notifications for Grunt errors and warnings. Supports OS X, Windows, Linux.
### Screenshots
| OS | Tool | Screenshots |
|---|---|---|
| OS X | OS X Notification Center | ![OS X Notification Center](https://f.cloud.github.com/assets/51505/982681/4e63bf88-0814-11e3-8b57-e2f5f4c2e1c1.png "OS X Notification Center") |
| OS X | Growl for Mac | ![Growl for Mac](https://f.cloud.github.com/assets/51505/982676/43c372da-0814-11e3-89e5-0cb0f45f50e1.png "Growl for Mac") |
| Windows 8 | Windows 8 notifications | ![Windows 8 Notifications](https://cloud.githubusercontent.com/assets/51505/2809792/d7d3f212-cd83-11e3-8bcf-ee0125568770.png "Windows 8 Notifications") |
| Windows | Growl for Windows | ![Growl for Windows](https://f.cloud.github.com/assets/51505/982679/4a199542-0814-11e3-93d9-5c46e2aed2d3.png "Growl for Windows") |
| Windows | Snarl | ![Snarl](https://f.cloud.github.com/assets/51505/982685/5419c058-0814-11e3-8976-54a811f21c92.png "Snarl") |
| Linux | Notify-Send | ![Notify-Send](https://f.cloud.github.com/assets/51505/1030946/056631f4-0ecb-11e3-97cb-46e12c484f8b.png "Notify-Send") |### Getting Started
This plugin recommends Grunt `0.4.1` or newer.
### Installing
```bash
npm install grunt-notify --save-dev
```Once that's done, add this line to your project's `Gruntfile.js`:
```js
grunt.loadNpmTasks('grunt-notify');
```**That's all you need for automatic notifications.**
### Notify_Hooks Options
If you want change the automatic messaging configure a task called `notify_hooks`.
```js
grunt.initConfig({
// This is optional!
notify_hooks: {
options: {
enabled: true,
max_jshint_notifications: 5, // maximum number of notifications from jshint output
title: "Project Name", // defaults to the name in package.json, or will use project directory's name
success: false, // whether successful grunt executions should be notified automatically
duration: 3 // the duration of notification in seconds, for `notify-send only
}
}
});// Load the task
grunt.loadNpmTasks('grunt-notify');// This is required if you use any options.
grunt.task.run('notify_hooks');
```### Showing Specific Notifications
Sometimes you want to show messages like "Uglify complete" or "Project Deployed" - that's easy to do too.
| ![Custom Message - Grunt](https://f.cloud.github.com/assets/51505/982678/48b6fa82-0814-11e3-890e-82518408084a.png "Custom Message - Grunt") |
|:-------------:|
| Custom Message - Grunt || ![Custom Message - Notification Center](https://f.cloud.github.com/assets/51505/982680/4b9df1ba-0814-11e3-88a4-0736f22dedf6.png "Custom Message - Notification Center") |
|:-------------:|
| Custom Message - Notification Center || ![Custom Message - Notify-Send](https://f.cloud.github.com/assets/51505/1030945/038e46dc-0ecb-11e3-9915-80c1838624a8.png "Custom Message - Notify-Send") |
|:-------------:|
| Custom Message - Notify-Send |```js
grunt.initConfig({
notify: {
task_name: {
options: {
// Task-specific options go here.
}
},
watch: {
options: {
title: 'Task Complete', // optional
message: 'SASS and Uglify finished running', //required
}
},
server: {
options: {
message: 'Server is ready!'
}
}
}
});grunt.loadNpmTasks('grunt-notify');
// simplified example
grunt.registerTask('server', [
'uglify',
'sass',
'server',
'notify:server'
]);
```#### Options
* `title` _optional_ Notification title
* `message` _required_ Notification message### Tests
Run `grunt` to lint and run the tests.
### Notification Systems
#### Mac
##### OS X Notification System
*Support Included.*
If you are using OS X 10.8 Mountain Lion or newer a notification system is built in, but Apple does not provide a
notification API that Node can access. Only code written in Objective C and signed in XCode can access it.
This is not very friendly for Node users so we are using the tiny signed MIT-licensed native application
[Terminal Notifier](https://github.com/alloy/terminal-notifier) from [Eloy Durán](https://github.com/alloy).
I've changed the default icon which is owned by Apple to the Grunt logo.##### Growl for OS X
*Requires growlnotify for OS X.*
Install **growlnotify** from the [Growl Downloads Page](http://growl.info/downloads). This will install in `/usr/local/bin/growlnotify`.
#### Windows
##### Snarl
*Included with Snarl.*
If you have downloaded and installed Snarl from [Snarl's web site](http://snarl.fullphat.net/) you'll have the commandline tool heysnarl as well.
##### Growl for Windows
*Requires growlnotify for Windows.*
Install **growlnotify** from the [growlnotify Page](http://www.growlforwindows.com/gfw/help/growlnotify.aspx).
##### Windows 8.1 Notifications
*Nothing to install.*
Create a pull request!
#### Linux
##### Notify-Send
*Nothing to install.*
I created an Ubuntu virtual machine and it had `notify-send` in the path.
I don't use Linux frequently so I don't know if this utility is available for other distros.
[notify-send man page](http://manpages.ubuntu.com/manpages/gutsy/man1/notify-send.1.html).
`notify-send` has an addition `duration` option which takes a number seconds. The default is 3 seconds.
Duration doesn't work natively on some versions of Ubuntu.
Here is a fix: http://askubuntu.com/questions/128474/how-to-customize-on-screen-notifications
#### Chrome
*Not supported yet.*
Chrome has a notification system but I'm not sure if it's possible to use from a command-line Node app. Somebody could
probably create a Chrome Plugin helper for this.#### Notifications aren't showing
Run `grunt -v` (for `verbose` mode) to show `grunt-notify` debug messages. It will tell you what notification system
it thinks it can use. Create an issue and I'll look into it asap.### About the Author
Hi! Thanks for checking out this project! My name is **Dylan Greene**. When not overwhelmed with my two young kids I enjoy contributing
to the open source community. I'm also a tech lead at [Opower](http://opower.com). [![@dylang](https://img.shields.io/badge/github-dylang-green.svg)](https://github.com/dylang) [![@dylang](https://img.shields.io/badge/twitter-dylang-blue.svg)](https://twitter.com/dylang)Here's some of my other Node projects:
| Name | Description | npm Downloads |
|---|---|---|
| [`space‑hogs`](https://github.com/dylang/space-hogs) | Discover surprisingly large directories from the command line | [![space-hogs](https://img.shields.io/npm/dm/space-hogs.svg?style=flat-square)](https://www.npmjs.org/package/space-hogs) |
| [`npm‑check`](https://github.com/dylang/npm-check) | Check for outdated, incorrect, and unused dependencies. | [![npm-check](https://img.shields.io/npm/dm/npm-check.svg?style=flat-square)](https://www.npmjs.org/package/npm-check) |
| [`shortid`](https://github.com/dylang/shortid) | Amazingly short non-sequential url-friendly unique id generator. | [![shortid](https://img.shields.io/npm/dm/shortid.svg?style=flat-square)](https://www.npmjs.org/package/shortid) |
| [`rss`](https://github.com/dylang/node-rss) | RSS feed generator. Add RSS feeds to any project. Supports enclosures and GeoRSS. | [![rss](https://img.shields.io/npm/dm/rss.svg?style=flat-square)](https://www.npmjs.org/package/rss) |
| [`grunt‑prompt`](https://github.com/dylang/grunt-prompt) | Interactive prompt for your Grunt config using console checkboxes, text input with filtering, password fields. | [![grunt-prompt](https://img.shields.io/npm/dm/grunt-prompt.svg?style=flat-square)](https://www.npmjs.org/package/grunt-prompt) |
| [`xml`](https://github.com/dylang/node-xml) | Fast and simple xml generator. Supports attributes, CDATA, etc. Includes tests and examples. | [![xml](https://img.shields.io/npm/dm/xml.svg?style=flat-square)](https://www.npmjs.org/package/xml) |
| [`changelog`](https://github.com/dylang/changelog) | Command line tool (and Node module) that generates a changelog in color output, markdown, or json for modules in npmjs.org's registry as well as any public github.com repo. | [![changelog](https://img.shields.io/npm/dm/changelog.svg?style=flat-square)](https://www.npmjs.org/package/changelog) |
| [`grunt‑attention`](https://github.com/dylang/grunt-attention) | Display attention-grabbing messages in the terminal | [![grunt-attention](https://img.shields.io/npm/dm/grunt-attention.svg?style=flat-square)](https://www.npmjs.org/package/grunt-attention) |
| [`observatory`](https://github.com/dylang/observatory) | Beautiful UI for showing tasks running on the command line. | [![observatory](https://img.shields.io/npm/dm/observatory.svg?style=flat-square)](https://www.npmjs.org/package/observatory) |
| [`anthology`](https://github.com/dylang/anthology) | Module information and stats for any @npmjs user | [![anthology](https://img.shields.io/npm/dm/anthology.svg?style=flat-square)](https://www.npmjs.org/package/anthology) |
| [`grunt‑cat`](https://github.com/dylang/grunt-cat) | Echo a file to the terminal. Works with text, figlets, ascii art, and full-color ansi. | [![grunt-cat](https://img.shields.io/npm/dm/grunt-cat.svg?style=flat-square)](https://www.npmjs.org/package/grunt-cat) |_This list was generated using [anthology](https://github.com/dylang/anthology)._
### License
Copyright (c) 2016 Dylan Greene, contributors.Released under the [MIT license](https://tldrlegal.com/license/mit-license).
Screenshots are [CC BY-SA](http://creativecommons.org/licenses/by-sa/4.0/) (Attribution-ShareAlike).
***
_Generated using [grunt-readme](https://github.com/assemble/grunt-readme) with [grunt-templates-dylang](https://github.com/dylang/grunt-templates-dylang) on Sunday, February 28, 2016._
_To make changes to this document look in `/templates/readme/`